From c1c98a146595d5f7f60f21dc78e51cb8e70c6763 Mon Sep 17 00:00:00 2001
From: varjolintu
Date: Fri, 31 May 2019 14:33:42 +0300
Subject: [PATCH] Remove popup reconnect
---
keepassxc-browser/_locales/en/messages.json | 4 ++++
keepassxc-browser/background/event.js | 10 +++++++---
keepassxc-browser/background/init.js | 7 +++----
keepassxc-browser/background/keepass.js | 14 +++-----------
keepassxc-browser/background/page.js | 6 +++---
keepassxc-browser/options/options.html | 3 ++-
keepassxc-browser/options/options.js | 4 ++--
7 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/keepassxc-browser/_locales/en/messages.json b/keepassxc-browser/_locales/en/messages.json
index 9536225..f41ce47 100644
--- a/keepassxc-browser/_locales/en/messages.json
+++ b/keepassxc-browser/_locales/en/messages.json
@@ -531,6 +531,10 @@
"message": "Automatically reconnect to KeePassXC.",
"description": "Auto-reconnect checkbox text."
},
+ "optionsAutomaticReconnectWarning": {
+ "message": "Warning! This feature is experimental. Use at your own risk.",
+ "description": "Auto-reconnect warning message."
+ },
"optionsCheckboxAutoFillSingleEntry": {
"message": "Automatically fill in single-credential entries.",
"description": "Automatically fill-in single credential entry checkbox text."
diff --git a/keepassxc-browser/background/event.js b/keepassxc-browser/background/event.js
index cf05b04..1394ee6 100755
--- a/keepassxc-browser/background/event.js
+++ b/keepassxc-browser/background/event.js
@@ -154,9 +154,13 @@ kpxcEvent.onGetStatus = function(callback, tab, internalPoll = false, triggerUnl
kpxcEvent.onReconnect = async function(callback, tab) {
const configured = await keepass.reconnect(callback, tab);
- browser.tabs.sendMessage(tab.id, {
- action: 'redetect_fields'
- });
+ if (configured) {
+ browser.tabs.sendMessage(tab.id, {
+ action: 'redetect_fields'
+ }).catch((err) => {
+ console.log(err);
+ });
+ }
kpxcEvent.showStatus(configured, tab, callback);
};
diff --git a/keepassxc-browser/background/init.js b/keepassxc-browser/background/init.js
index 60e7e4c..a74a732 100644
--- a/keepassxc-browser/background/init.js
+++ b/keepassxc-browser/background/init.js
@@ -4,10 +4,9 @@ keepass.migrateKeyRing().then(() => {
page.initSettings().then(() => {
page.initOpenedTabs().then(() => {
httpAuth.init();
- keepass.enableAutomaticReconnect();
- keepass.changePublicKeys(null).then((pkRes) => {
- keepass.getDatabaseHash((gdRes) => {}, null);
- }).catch((e) => {});
+ keepass.reconnect().then(() => {
+ keepass.enableAutomaticReconnect();
+ });
});
});
});
diff --git a/keepassxc-browser/background/keepass.js b/keepassxc-browser/background/keepass.js
index d8c80d2..e56d7c6 100755
--- a/keepassxc-browser/background/keepass.js
+++ b/keepassxc-browser/background/keepass.js
@@ -419,16 +419,6 @@ keepass.testAssociation = async function(callback, tab, enableTimeout = false, t
page.tabs[tab.id].errorMessage = null;
}
- if (!keepass.isKeePassXCAvailable && !page.settings.automaticReconnect) {
- try {
- await keepass.reconnect();
- } catch (err) {
- keepass.handleError(tab, kpErrors.PUBLIC_KEY_NOT_FOUND);
- callback(false);
- return false;
- }
- }
-
keepass.getDatabaseHash((dbHash) => {
if (!dbHash) {
callback(false);
@@ -1133,7 +1123,7 @@ keepass.decrypt = function(input, nonce) {
keepass.enableAutomaticReconnect = function() {
// Disable for Windows if KeePassXC is older than 2.3.4
- if (!page.settings.automaticReconnect ||
+ if (!page.settings.autoReconnect ||
(navigator.platform.toLowerCase().includes('win') && !keepass.compareVersion('2.3.4', keepass.currentKeePassXC))) {
return;
}
@@ -1198,6 +1188,8 @@ keepass.updateDatabaseHashToContent = function() {
browser.tabs.sendMessage(tabs[0].id, {
action: 'check_database_hash',
hash: { old: keepass.previousDatabaseHash, new: keepass.databaseHash }
+ }).catch((err) => {
+ console.log(err);
});
keepass.previousDatabaseHash = keepass.databaseHash;
}
diff --git a/keepassxc-browser/background/page.js b/keepassxc-browser/background/page.js
index 679cbfd..f161b60 100755
--- a/keepassxc-browser/background/page.js
+++ b/keepassxc-browser/background/page.js
@@ -11,7 +11,7 @@ const defaultSettings = {
showNotifications: true,
showLoginNotifications: true,
saveDomainOnly: true,
- automaticReconnect: true,
+ autoReconnect: false,
defaultGroup: '',
defaultGroupAlwaysAsk: false
};
@@ -56,8 +56,8 @@ page.initSettings = function() {
if (!('saveDomainOnly' in page.settings)) {
page.settings.saveDomainOnly = defaultSettings.saveDomainOnly;
}
- if (!('automaticReconnect' in page.settings)) {
- page.settings.automaticReconnect = defaultSettings.automaticReconnect;
+ if (!('autoReconnect' in page.settings)) {
+ page.settings.autoReconnect = defaultSettings.autoReconnect;
}
if (!('defaultGroup' in page.settings)) {
page.settings.defaultGroup = defaultSettings.defaultGroup;
diff --git a/keepassxc-browser/options/options.html b/keepassxc-browser/options/options.html
index 4913155..f956411 100644
--- a/keepassxc-browser/options/options.html
+++ b/keepassxc-browser/options/options.html
@@ -137,9 +137,10 @@
+
diff --git a/keepassxc-browser/options/options.js b/keepassxc-browser/options/options.js
index 903b9ab..920930a 100644
--- a/keepassxc-browser/options/options.js
+++ b/keepassxc-browser/options/options.js
@@ -107,8 +107,8 @@ options.initGeneralSettings = function() {
$('#defaultGroupButton').prop('disabled', false);
$('#defaultGroupButtonReset').prop('disabled', false);
}
- } else if (name === 'automaticReconnect') {
- const message = updated.automaticReconnect ? 'enable_automatic_reconnect' : 'disable_automatic_reconnect';
+ } else if (name === 'autoReconnect') {
+ const message = updated.autoReconnect ? 'enable_automatic_reconnect' : 'disable_automatic_reconnect';
browser.runtime.sendMessage({ action: message });
}
});