diff --git a/core/main.js b/core/main.js index 98d0f050..a14f3a9a 100644 --- a/core/main.js +++ b/core/main.js @@ -29,17 +29,14 @@ var main = {}; */ main._initializeSettings = function () { - storageManager.checkStorageType(); storageManager.type.get(SettingDefaults, function (items) { - if (items === null) { items = SettingDefaults; // Restore setting defaults. } if (items.disablePrefetch !== false) { - chrome.privacy.network.networkPredictionEnabled.set({ 'value': false }); @@ -54,15 +51,12 @@ main._initializeSettings = function () { }; main._showReleaseNotes = function (details) { - storageManager.checkStorageType(); if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) { - storageManager.type.set({ [Setting.LAST_MAPPING_UPDATE]: lastMappingUpdate }, function() { - if (details.temporary !== true) { storageManager.type.get([Setting.HIDE_RELEASE_NOTES], function (items) { @@ -78,45 +72,7 @@ main._showReleaseNotes = function (details) { } }); } else if (details.reason === chrome.runtime.OnInstalledReason.UPDATE) { - - // ******************************************************************************** - // TODO: Remove me in v2.4.1 - let data = ''; - - chrome.storage.sync.get(null, function (items) { - data = items; - - data['xhrTestDomain'] = 'localcdn.org'; - data['storageType'] = 'local'; - data['lastMappingUpdate'] = lastMappingUpdate; - - chrome.storage.local.set({ - [Setting.ALLOWED_DOMAINS_GOOGLE_FONTS]: data.allowedDomainsGoogleFonts, - [Setting.AMOUNT_INJECTED]: data.amountInjected, - [Setting.BLOCK_GOOGLE_FONTS]: data.blockGoogleFonts, - [Setting.BLOCK_MISSING]: data.blockMissing, - [Setting.DISABLE_PREFETCH]: data.disablePrefetch, - [Setting.DOMAINS_MANIPULATE_DOM]: data.domainsManipulateDOM, - [Setting.LOGGING]: data.logging, - [Setting.ENFORCE_STAGING]: data.enforceStaging, - [Setting.HIDE_RELEASE_NOTES]: data.hideReleaseNotes, - [Setting.INTERNAL_STATISTICS]: data.internalStatistics, - [Setting.INTERNAL_STATISTICS_DATA]: data.internalStatisticsData, - [Setting.LAST_MAPPING_UPDATE]: data.lastMappingUpdate, - [Setting.NEGATE_HTML_FILTER_LIST]: data.negateHtmlFilterList, - [Setting.SELECTED_ICON]: data.selectedIcon, - [Setting.SHOW_ICON_BADGE]: data.showIconBadge, - [Setting.STORAGE_TYPE]: data.storageType, - [Setting.STRIP_METADATA]: data.stripMetadata, - [Setting.WHITELISTED_DOMAINS]: data.whitelistedDomains, - [Setting.XHR_TEST_DOMAIN]: data.xhrTestDomain - }); - }); - // ******************************************************************************** - - // If add-on update true, check last update of mappings.js storageManager.type.get([Setting.LAST_MAPPING_UPDATE, Setting.HIDE_RELEASE_NOTES], function (items) { - let mappingUpdate = items.lastMappingUpdate !== lastMappingUpdate; if (mappingUpdate || !items.hideReleaseNotes) { @@ -124,14 +80,14 @@ main._showReleaseNotes = function (details) { storageManager.type.set({ [Setting.LAST_MAPPING_UPDATE]: lastMappingUpdate }, function() { - // ******************************************************************************** - // TODO: Remove me in v2.4.1 - // if (!items.hideReleaseNotes) { - if (true) { - chrome.tabs.create({ - 'url': chrome.extension.getURL('pages/updates/updates.html?mappingupdate=' + mappingUpdate), - 'active': false - }); + if (!items.hideReleaseNotes) { + // ******************************************************************************** + // TODO: Change me in v2.4.1 + // chrome.tabs.create({ + // 'url': chrome.extension.getURL('pages/updates/updates.html?mappingupdate=' + mappingUpdate), + // 'active': false + // }); + // ******************************************************************************** } }); } else { diff --git a/core/migrate.js b/core/migrate.js new file mode 100644 index 00000000..e1aa4170 --- /dev/null +++ b/core/migrate.js @@ -0,0 +1,25 @@ +// ******************************************************************************** +// TODO: Remove me in v2.4.1 +chrome.runtime.onInstalled.addListener(function(details) { + if (details.reason === chrome.runtime.OnInstalledReason.UPDATE) { + chrome.storage.sync.get(null, function(items) { + // Workaround for https://codeberg.org/nobody/LocalCDN/issues/102 + setTimeout(function() { + chrome.storage.local.set(items, function() { + chrome.runtime.reload(); + }); + }, 5000); + }); + } +}); + +chrome.storage.local.get('extensionReloaded', function(items) { + if (!('extensionReloaded' in items)) { + chrome.tabs.create({ + 'url': chrome.extension.getURL('pages/updates/updates.html?mappingupdate=true'), + 'active': false + }); + chrome.storage.local.set({'extensionReloaded': true}); + } +}); +// ******************************************************************************** diff --git a/pages/background/background.html b/pages/background/background.html index 34c80698..11360710 100644 --- a/pages/background/background.html +++ b/pages/background/background.html @@ -5,6 +5,12 @@
+ + + + diff --git a/pages/updates/updates.html b/pages/updates/updates.html index 231ecbb6..dcd5ea3b 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -49,6 +49,7 @@