diff --git a/keepassxc-browser/content/banner.js b/keepassxc-browser/content/banner.js index b57d889..2338ea9 100644 --- a/keepassxc-browser/content/banner.js +++ b/keepassxc-browser/content/banner.js @@ -32,14 +32,10 @@ kpxcBanner.destroy = async function() { kpxcBanner.create = async function(credentials = {}) { const connectedDatabase = await sendMessage('get_connected_database'); - if (!kpxc.settings.showLoginNotifications || kpxcBanner.created || connectedDatabase.identifier === null) { - return; - } - - // Check if database is closed - const state = await sendMessage('check_database_hash'); - if (state === '') { - //kpxcUI.createNotification('error', tr('rememberErrorDatabaseClosed')); + if (!kpxc.settings.showLoginNotifications + || kpxcBanner.created + || connectedDatabase.identifier === null + || kpxc.databaseState !== DatabaseState.UNLOCKED) { return; } diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index 8cf9701..1904f8c 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -115,7 +115,7 @@ kpxc.detectDatabaseChange = async function(response) { // If user has requested a manual fill through context menu the actual credential filling // is handled here when the opened database has been regognized. It's not a pretty hack. const manualFill = await sendMessage('page_get_manual_fill'); - if (manualFill !== ManualFill.NONE) { + if (manualFill !== ManualFill.NONE && kpxc.combinations.length > 0) { await kpxcFill.fillInFromActiveElement(manualFill === ManualFill.PASSWORD); await sendMessage('page_set_manual_fill', ManualFill.NONE); } diff --git a/keepassxc-browser/content/username-field.js b/keepassxc-browser/content/username-field.js index be1f272..8835d02 100644 --- a/keepassxc-browser/content/username-field.js +++ b/keepassxc-browser/content/username-field.js @@ -131,8 +131,7 @@ const iconClicked = async function(field, icon) { return; } - const databaseHash = await sendMessage('check_database_hash'); - if (databaseHash === '') { + if (kpxc.databaseState !== DatabaseState.UNLOCKED) { // Triggers database unlock await sendMessage('page_set_manual_fill', ManualFill.BOTH); await sendMessage('get_database_hash', [ false, true ]); // Set triggerUnlock to true @@ -148,7 +147,7 @@ const getIconClassName = function(state = DatabaseState.UNLOCKED) { if (state === DatabaseState.LOCKED) { return (isFirefox() ? 'lock-moz' : 'lock'); } else if (state === DatabaseState.DISCONNECTED) { - return (isFirefox() ? 'lock-disconnected' : 'disconnected'); + return (isFirefox() ? 'disconnected-moz' : 'disconnected'); } return (isFirefox() ? 'unlock-moz' : 'unlock');