diff --git a/keepassxc-browser/background/keepass.js b/keepassxc-browser/background/keepass.js index 08dfdd9..31ab97f 100755 --- a/keepassxc-browser/background/keepass.js +++ b/keepassxc-browser/background/keepass.js @@ -804,7 +804,12 @@ keepass.disableAutomaticReconnect = function() { keepass.reconnectLoop = null; }; -keepass.reconnect = async function(tab = null, connectionTimeout = page.settings.connectionTimeout) { +keepass.reconnect = async function(tab = null, connectionTimeout = CONNECTION_TIMEOUT) { + if (arguments.length < 2) { + connectionTimeout = page.settings.connectionTimeout; + } + + connectionTimeout = Math.min(60000, Math.max(CONNECTION_TIMEOUT, connectionTimeout)) keepassClient.connectToNative(); keepass.generateNewKeyPair(); const keyChangeResult = await keepass.changePublicKeys(tab, !!connectionTimeout, connectionTimeout).catch(() => false); diff --git a/keepassxc-browser/background/page.js b/keepassxc-browser/background/page.js index a0a76c1..c2fce28 100755 --- a/keepassxc-browser/background/page.js +++ b/keepassxc-browser/background/page.js @@ -14,7 +14,7 @@ const defaultSettings = { bannerPosition: BannerPosition.TOP, checkUpdateKeePassXC: CHECK_UPDATE_NEVER, clearCredentialsTimeout: 10, - connectionTimeout: 1500, + connectionTimeout: CONNECTION_TIMEOUT, colorTheme: 'system', credentialSorting: SORT_BY_GROUP_AND_TITLE, debugLogging: false, diff --git a/keepassxc-browser/common/global.js b/keepassxc-browser/common/global.js index 10f58f6..bcf5a44 100755 --- a/keepassxc-browser/common/global.js +++ b/keepassxc-browser/common/global.js @@ -24,6 +24,9 @@ const CHECK_UPDATE_THREE_DAYS = 3; const CHECK_UPDATE_ONE_WEEK = 7; const CHECK_UPDATE_ONE_MONTH = 30; +// Default value for connection timeout +const CONNECTION_TIMEOUT = 1500; + const URL_WILDCARD = '1kpxcwc1'; const schemeSegment = '(\\*|http|https|ws|wss|ftp)'; const hostSegment = '(\\*|(?:\\*\\.)?(?:[^/*]+))?'; diff --git a/keepassxc-browser/options/options.js b/keepassxc-browser/options/options.js index fabab29..1202af3 100644 --- a/keepassxc-browser/options/options.js +++ b/keepassxc-browser/options/options.js @@ -181,11 +181,7 @@ options.initGeneralSettings = async function() { }); $('#tab-general-settings input#connectionTimeout').addEventListener('change', async function(e) { - if (e.target.valueAsNumber < 1.5 || e.target.valueAsNumber > 60) { - return; - } - - options.settings['connectionTimeout'] = e.target.valueAsNumber * 1000; + options.settings['connectionTimeout'] = Math.min(60000, Math.max(CONNECTION_TIMEOUT, e.target.valueAsNumber * 1000)) await options.saveSettings(); });