From 1f2b7b1e454dc3d6539998384676aa291c465cf1 Mon Sep 17 00:00:00 2001 From: colin Date: Sun, 6 Nov 2022 01:53:32 -0700 Subject: [PATCH] fix `enableOTP` handling to match docs: prioritize store, then extension config --- src/background.js | 9 ++++++--- src/popup/detailsInterface.js | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/background.js b/src/background.js index fda8712..99bbfa5 100644 --- a/src/background.js +++ b/src/background.js @@ -724,7 +724,7 @@ async function handleMessage(settings, message, sendResponse) { } break; case "copyOTP": - if (settings.enableOTP) { + if (helpers.getSetting("enableOTP", message.login, settings, helpers.SettingScope.Store)) { try { if (!message.login.fields.otp) { throw new Exception("No OTP seed available"); @@ -796,8 +796,8 @@ async function handleMessage(settings, message, sendResponse) { // copy OTP token after fill if ( - settings.enableOTP && typeof message.login !== "undefined" && + helpers.getSetting("enableOTP", message.login, settings, helpers.SettingScope.Store) && message.login.fields.hasOwnProperty("otp") ) { copyToClipboard(helpers.makeTOTP(message.login.fields.otp.params)); @@ -963,7 +963,10 @@ async function parseFields(settings, login) { } // preprocess otp - if (settings.enableOTP && login.fields.hasOwnProperty("otp")) { + if ( + helpers.getSetting("enableOTP", login, settings, helpers.SettingScope.Store) && + login.fields.hasOwnProperty("otp") + ) { if (login.fields.otp.match(/^otpauth:\/\/.+/i)) { // attempt to parse otp data as URI try { diff --git a/src/popup/detailsInterface.js b/src/popup/detailsInterface.js index 7c0a450..c27b1bd 100644 --- a/src/popup/detailsInterface.js +++ b/src/popup/detailsInterface.js @@ -103,7 +103,7 @@ function view(ctl, params) { ]), (() => { if ( - this.settings.enableOTP && + helpers.getSetting("enableOTP", login, this.settings, helpers.SettingScope.Store) && login.fields.otp && login.fields.otp.params.type === "totp" ) {