diff --git a/add-on/src/background/background.js b/add-on/src/background/background.js index ce31f3c1f..fddeb6db2 100644 --- a/add-on/src/background/background.js +++ b/add-on/src/background/background.js @@ -1,7 +1,12 @@ 'use strict' /* eslint-env browser, webextensions */ +const browser = require('webextension-polyfill') const createIpfsCompanion = require('../lib/ipfs-companion') +const onInstalled = require('../lib/on-installed') + +// register onInstalled hook early, otherwise we miss first install event +browser.runtime.onInstalled.addListener(onInstalled) // init add-on after all libs are loaded document.addEventListener('DOMContentLoaded', async () => { diff --git a/add-on/src/lib/on-installed.js b/add-on/src/lib/on-installed.js new file mode 100644 index 000000000..830f7ef15 --- /dev/null +++ b/add-on/src/lib/on-installed.js @@ -0,0 +1,14 @@ +'use strict' +/* eslint-env browser */ + +const browser = require('webextension-polyfill') + +module.exports = function onRuntimeInstalled (details) { + console.log('[ipfs-companion] onInstalled event', details) + // details.temporary === run via `npm run firefox` + if (details.reason === 'install' || details.temporary) { + browser.tabs.create({ + url: '/dist/landing-pages/welcome/index.html' + }) + } +}