Fixed: Import user settings (#102)

This commit is contained in:
nobody 2020-09-12 17:22:25 +02:00
parent ef7cb30694
commit a23e2af559
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
4 changed files with 40 additions and 52 deletions

View File

@ -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 {

25
core/migrate.js Normal file
View File

@ -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});
}
});
// ********************************************************************************

View File

@ -5,6 +5,12 @@
<meta charset="utf-8" />
</head>
<body>
<!-- ********************************************************************************
TODO: Remove me in v2.4.1
-->
<script src="../../core/migrate.js"></script>
<!-- ******************************************************************************** -->
<script src="../../core/constants.js"></script>
<script src="../../core/storage-manager.js"></script>

View File

@ -49,6 +49,7 @@
<li>Added: jQuery Easing Plugin v1.4.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/101">#101</a>)</li>
<li>Updated: popper.js v2.4.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/103">#103</a>)</li>
<li>Added: AnchorJS v3.2.2 & v4.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/104">#104</a>)</li>
<li>Fixed: Import user settings (<a href="https://codeberg.org/nobody/LocalCDN/issues/102">#102</a>)</li>
</ul>
<div id="generator-section">
<div class="topic-label">