From ae03c0aec6b959e5f6146bf3ec9cc6fb0bbee131 Mon Sep 17 00:00:00 2001 From: wolfsilver <2452450+wolfsilver@users.noreply.github.com> Date: Sun, 15 Dec 2024 22:40:40 +0800 Subject: [PATCH] Modify checkbox option for auto-filling relevant credential entries in options --- keepassxc-browser/_locales/en/messages.json | 14 +++++++++++--- keepassxc-browser/content/keepassxc-browser.js | 12 +++++------- keepassxc-browser/options/options.html | 11 ++++++----- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/keepassxc-browser/_locales/en/messages.json b/keepassxc-browser/_locales/en/messages.json index dd598ee..fdeb8c2 100644 --- a/keepassxc-browser/_locales/en/messages.json +++ b/keepassxc-browser/_locales/en/messages.json @@ -766,6 +766,10 @@ "message": "Automatically fill in single-credential entries", "description": "Automatically fill-in single credential entry checkbox text." }, + "optionsCheckboxAutoFillRelevantCredential": { + "message": "Automatically fill in relevant credential entries", + "description": "Automatically fill-in relevant credential entry checkbox text." + }, "optionsCheckboxAutoFillSingleTotp": { "message": "Automatically fill in single TOTP entries", "description": "Automatically fill-in single TOTP entries checkbox text." @@ -914,6 +918,10 @@ "message": "Let KeePassXC-Browser automatically fill in credentials if it receives only a single entry.", "description": "Auto-Fill Single Entry option help text." }, + "optionsAutoFillRelevantCredentialHelpText": { + "message": "Let KeePassXC-Browser automatically fill in credentials if it receives relevant credential.", + "description": "Auto-Fill Relevant Credential option help text." + }, "optionsAutoFillSingleEntryWarning": { "message": "Warning! Using auto-fill is not safe. Use at your own risk. KeePassXC-Browser automatically tries to detect login fields. However, they may be detected incorrectly, possibly filling sensitive data to unsafe input fields.", "description": "Auto-Fill Single Entry warning text." @@ -939,8 +947,8 @@ "description": "Use monochrome toolbar icon option help text." }, "optionsUseCompactModeHelpText": { - "message": "Use a compact version of the dropdown list to select credentials.", - "description": "Use compact (legacy) mode help text." + "message": "Use a compact version of the dropdown list to select credentials.", + "description": "Use compact (legacy) mode help text." }, "optionsSaveDomainOnlyHelpText": { "message": "When saving new credentials, save only the domain instead of full URL.", @@ -1089,7 +1097,7 @@ "optionsColumnAllowIframes": { "message": "Allow Cross-Origin iframes", "description": "Allow iframes column text." - }, + }, "optionsColumnDelete": { "message": "Delete", "description": "Site Preferences list column title." diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index 9166a65..c25e97b 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -517,13 +517,11 @@ kpxc.prepareCredentials = async function() { if (kpxc.settings.autoFillRelevantCredential) { const pageUuid = await sendMessage('page_get_login_id'); if (pageUuid) { - kpxc.credentials.some(c => { - if (c.uuid === pageUuid) { - const index = kpxc.combinations.length - 1; - kpxcFill.fillInCredentials(kpxc.combinations[index], c.login, c.uuid); - return true; - } - }); + const relevantCredential = kpxc.credentials.find(c => c.uuid === pageUuid); + if (relevantCredential) { + const index = kpxc.combinations.length - 1; + kpxcFill.fillInCredentials(kpxc.combinations[index], relevantCredential.login, relevantCredential.uuid); + } } } }; diff --git a/keepassxc-browser/options/options.html b/keepassxc-browser/options/options.html index f2e8ee7..3e3769c 100644 --- a/keepassxc-browser/options/options.html +++ b/keepassxc-browser/options/options.html @@ -217,6 +217,11 @@