From 78dcb3671064eec9ddbe770688fcc31dd30a8091 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 5 Jun 2022 15:54:13 +0300 Subject: Fixing bugs. Preparing for release --- src/pages/background/background.js | 63 ++++++++++++++++++++++----------- src/pages/background/reset_warning.html | 13 +++++++ src/pages/background/reset_warning.js | 11 ++++++ 3 files changed, 66 insertions(+), 21 deletions(-) create mode 100644 src/pages/background/reset_warning.js (limited to 'src/pages/background') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index b8787f34..afb63c51 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -21,38 +21,59 @@ import lbryHelper from "../../assets/javascripts/lbry.js"; window.browser = window.browser || window.chrome; +function openResetWarning() { + return new Promise(resolve => { + browser.storage.local.get(null, r => { + const old = encodeURIComponent(JSON.stringify(r)) + browser.tabs.create({ url: browser.runtime.getURL(`/pages/background/reset_warning.html?data=${old}`) }); + resolve(); + }) + }) +} + + browser.runtime.onInstalled.addListener( async details => { // if (details.reason == 'install') { - if (details.reason == 'install' || details.reason == "update") { - if (details.reason == "update") browser.tabs.create({ url: browser.runtime.getURL("/pages/background/reset_warning.html") }); + if (details.reason == 'install' || (details.reason == "update" && details.previousVersion != browser.runtime.getManifest().version)) { + if (details.reason == "update") await openResetWarning(); fetch('/instances/blacklist.json').then(response => response.text()).then(async data => { - await browser.storage.local.clear(); - await browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }) - await browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }) - generalHelper.initDefaults(); - youtubeHelper.initDefaults(); - youtubeMusicHelper.initDefaults(); - twitterHelper.initDefaults(); - instagramHelper.initDefaults(); - mapsHelper.initDefaults(); - searchHelper.initDefaults(); - translateHelper.initDefaults(); - mediumHelper.initDefaults(); - redditHelper.initDefaults(); - wikipediaHelper.initDefaults(); - imgurHelper.initDefaults(); - tiktokHelper.initDefaults(); - sendTargetsHelper.initDefaults(); - peertubeHelper.initDefaults(); - lbryHelper.initDefaults(); + browser.storage.local.clear( + () => { + browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, + () => { + browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, + () => { + generalHelper.initDefaults(); + youtubeHelper.initDefaults(); + youtubeMusicHelper.initDefaults(); + twitterHelper.initDefaults(); + instagramHelper.initDefaults(); + mapsHelper.initDefaults(); + searchHelper.initDefaults(); + translateHelper.initDefaults(); + mediumHelper.initDefaults(); + redditHelper.initDefaults(); + wikipediaHelper.initDefaults(); + imgurHelper.initDefaults(); + tiktokHelper.initDefaults(); + sendTargetsHelper.initDefaults(); + peertubeHelper.initDefaults(); + lbryHelper.initDefaults(); + }) + }) + }); + }) } } ) youtubeHelper.pasteInvidiousCookies(); +youtubeHelper.pastePipedLocalStorage(); +youtubeHelper.pastePipedMaterialLocalStorage(); translateHelper.pasteSimplyTranslateCookies(); +translateHelper.pasteLingvaLocalStorage(); twitterHelper.pasteNitterCookies(); wikipediaHelper.pasteWikilessCookies(); searchHelper.pasteSearxCookies(); diff --git a/src/pages/background/reset_warning.html b/src/pages/background/reset_warning.html index a3feee72..d2d493e0 100644 --- a/src/pages/background/reset_warning.html +++ b/src/pages/background/reset_warning.html @@ -47,7 +47,20 @@ previous version.

Sorry for the inconvenience, but we're going in a fast development process and can't support nor convert older settings. It will reach a stable plateau though.

+ + + + + + + +   + Export Settings + + \ No newline at end of file diff --git a/src/pages/background/reset_warning.js b/src/pages/background/reset_warning.js new file mode 100644 index 00000000..9c9e9800 --- /dev/null +++ b/src/pages/background/reset_warning.js @@ -0,0 +1,11 @@ +let params = new URLSearchParams(location.search); + +const resultString = JSON.stringify( + JSON.parse(decodeURIComponent(params.get('data'))), + null, + ' ' +); + +let exportSettingsElement = document.getElementById("export-settings"); +exportSettingsElement.href = 'data:application/json;base64,' + btoa(resultString); +exportSettingsElement.download = 'libredirect-settings.json'; -- cgit 1.4.1