diff options
-rw-r--r-- | ext/js/background/backend.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 5f42b4c9..db6cfada 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -239,7 +239,7 @@ class Backend { const options = this._getProfileOptions({current: true}); if (options.general.showGuide) { - this._openWelcomeGuidePage(); + this._openWelcomeGuidePageOnce(); } this._clipboardMonitor.on('change', this._onClipboardTextChange.bind(this)); @@ -2152,6 +2152,23 @@ class Backend { return textReplacements; } + async _openWelcomeGuidePageOnce() { + if (isObject(chrome.storage) && isObject(chrome.storage.session)) { + // Chrome + chrome.storage.session.get(['openedWelcomePage']).then((result) => { + if (!result.openedWelcomePage) { + this._openWelcomeGuidePage(); + chrome.storage.session.set({'openedWelcomePage': true}); + } + }); + } else { + // Firefox (storage.session is not supported yet) + // NOTE: This means that the welcome page will repeatedly open in Firefox + // until they support storage.session. + this._openWelcomeGuidePage(); + } + } + async _openWelcomeGuidePage() { await this._createTab(chrome.runtime.getURL('/welcome.html')); } |