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'));      } |