Fix settings patching and version number saving
This commit is contained in:
parent
f854daa44b
commit
7454b278a4
@ -28,9 +28,9 @@ class Settings {
|
|||||||
|
|
||||||
if(currentBrowser.firefox) {
|
if(currentBrowser.firefox) {
|
||||||
browser.storage.onChanged.addListener( (changes, area) => {
|
browser.storage.onChanged.addListener( (changes, area) => {
|
||||||
this.logger.log('info', 'Settings', "[Settings::<storage/on change>] Settings have been changed outside of here. Updating active settings. Changes:", changes, "storage area:", area);
|
this.logger.log('info', 'settings', "[Settings::<storage/on change>] Settings have been changed outside of here. Updating active settings. Changes:", changes, "storage area:", area);
|
||||||
if (changes['uwSettings'] && changes['uwSettings'].newValue) {
|
if (changes['uwSettings'] && changes['uwSettings'].newValue) {
|
||||||
this.logger.log('info', 'Settings',"[Settings::<storage/on change>] new settings object:", JSON.parse(changes.uwSettings.newValue));
|
this.logger.log('info', 'settings',"[Settings::<storage/on change>] new settings object:", JSON.parse(changes.uwSettings.newValue));
|
||||||
}
|
}
|
||||||
if(changes['uwSettings'] && changes['uwSettings'].newValue) {
|
if(changes['uwSettings'] && changes['uwSettings'].newValue) {
|
||||||
ths.setActive(JSON.parse(changes.uwSettings.newValue));
|
ths.setActive(JSON.parse(changes.uwSettings.newValue));
|
||||||
@ -40,15 +40,15 @@ class Settings {
|
|||||||
try {
|
try {
|
||||||
updateCallback(ths);
|
updateCallback(ths);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.log('error', 'Settings', "[Settings] CALLING UPDATE CALLBACK FAILED.")
|
this.logger.log('error', 'settings', "[Settings] CALLING UPDATE CALLBACK FAILED.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (currentBrowser.chrome) {
|
} else if (currentBrowser.chrome) {
|
||||||
chrome.storage.onChanged.addListener( (changes, area) => {
|
chrome.storage.onChanged.addListener( (changes, area) => {
|
||||||
this.logger.log('info', 'Settings', "[Settings::<storage/on change>] Settings have been changed outside of here. Updating active settings. Changes:", changes, "storage area:", area);
|
this.logger.log('info', 'settings', "[Settings::<storage/on change>] Settings have been changed outside of here. Updating active settings. Changes:", changes, "storage area:", area);
|
||||||
if (changes['uwSettings'] && changes['uwSettings'].newValue) {
|
if (changes['uwSettings'] && changes['uwSettings'].newValue) {
|
||||||
this.logger.log('info', 'Settings',"[Settings::<storage/on change>] new settings object:", JSON.parse(changes.uwSettings.newValue));
|
this.logger.log('info', 'settings',"[Settings::<storage/on change>] new settings object:", JSON.parse(changes.uwSettings.newValue));
|
||||||
}
|
}
|
||||||
if(changes['uwSettings'] && changes['uwSettings'].newValue) {
|
if(changes['uwSettings'] && changes['uwSettings'].newValue) {
|
||||||
ths.setActive(JSON.parse(changes.uwSettings.newValue));
|
ths.setActive(JSON.parse(changes.uwSettings.newValue));
|
||||||
@ -58,7 +58,7 @@ class Settings {
|
|||||||
try {
|
try {
|
||||||
updateCallback(ths);
|
updateCallback(ths);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.log('error', 'Settings',"[Settings] CALLING UPDATE CALLBACK FAILED.")
|
this.logger.log('error', 'settings',"[Settings] CALLING UPDATE CALLBACK FAILED.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -76,114 +76,165 @@ class Settings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
compareExtensionVersions(a, b) {
|
compareExtensionVersions(a, b) {
|
||||||
aa = a.forVersion.split['.'];
|
let aa = a.split('.');
|
||||||
bb = b.forVersion.split['.'];
|
let bb = b.split('.');
|
||||||
|
|
||||||
if (+aa[0] !== +bb[0]) {
|
if (+aa[0] !== +bb[0]) {
|
||||||
// difference on first digit
|
// difference on first digit
|
||||||
return ++aa[0] - ++bb[0];
|
return +aa[0] - +bb[0];
|
||||||
} if (+aa[1] !== +bb[1]) {
|
} if (+aa[1] !== +bb[1]) {
|
||||||
// first digit same, difference on second digit
|
// first digit same, difference on second digit
|
||||||
return ++aa[1] - ++bb[1];
|
return +aa[1] - +bb[1];
|
||||||
} if (+aa[2] !== +bb[2]) {
|
} if (+aa[2] !== +bb[2]) {
|
||||||
return ++aa[2] - ++bb[2];
|
return +aa[2] - +bb[2];
|
||||||
// first two digits the same, let's check the third digit
|
// first two digits the same, let's check the third digit
|
||||||
} else {
|
} else {
|
||||||
// fourth digit is optional. When not specified, 0 is implied
|
// fourth digit is optional. When not specified, 0 is implied
|
||||||
// btw, ++(aa[3] || 0) - ++(bb[3] || 0) doesn't work
|
// btw, ++(aa[3] || 0) - ++(bb[3] || 0) doesn't work
|
||||||
return (aa[3] ? ++aa[3] : 0) - (bb[3] ? ++bb[3] : 0);
|
|
||||||
|
// Since some things are easier if we actually have a value for
|
||||||
|
// the fourth digit, we turn a possible undefined into a zero
|
||||||
|
aa[3] = aa[3] === undefined ? 0 : aa[3];
|
||||||
|
bb[3] = bb[3] === undefined ? 0 : bb[3];
|
||||||
|
|
||||||
|
// also, the fourth digit can start with a letter.
|
||||||
|
// versions that start with a letter are ranked lower than
|
||||||
|
// versions x.x.x.0
|
||||||
|
if (isNaN(+aa[3]) ^ isNaN(+bb[3])) {
|
||||||
|
return isNaN(+aa[3]) ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// at this point, either both version numbers are a NaN or
|
||||||
|
// both versions are a number.
|
||||||
|
if (!isNaN(+aa[3])) {
|
||||||
|
return +aa[3] - +bb[3];
|
||||||
|
}
|
||||||
|
|
||||||
|
// letters have their own hierarchy:
|
||||||
|
// dev < a < b < rc
|
||||||
|
let av = this.getPrereleaseVersionHierarchy(aa[3]);
|
||||||
|
let bv = this.getPrereleaseVersionHierarchy(bb[3]);
|
||||||
|
|
||||||
|
if (av !== bv) {
|
||||||
|
return av - bv;
|
||||||
|
} else {
|
||||||
|
return +(aa[3].replace(/\D/g,'')) - +(bb[3].replace(/\D/g, ''));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPrereleaseVersionHierarchy(version) {
|
||||||
|
if (version.startsWith('dev')) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (version.startsWith('a')) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (version.startsWith('b')) {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
sortConfPatches(patchesIn) {
|
sortConfPatches(patchesIn) {
|
||||||
return patchesIn.sort( (a, b) => this.compareExtensionVersions(a, b));
|
return patchesIn.sort( (a, b) => this.compareExtensionVersions(a.forVersion, b.forVersion));
|
||||||
}
|
}
|
||||||
|
|
||||||
findFirstNecessaryPatch(version, extconfPatches) {
|
findFirstNecessaryPatch(version, extconfPatches) {
|
||||||
const sorted = this.sortConfPatches(extconfPatches);
|
const sorted = this.sortConfPatches(extconfPatches);
|
||||||
return sorted.findIndexOf(x => this.compareExtensionVersions(x.forVersion, version) > 0);
|
return sorted.findIndex(x => this.compareExtensionVersions(x.forVersion, version) > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
applySettingsPatches(oldVersion, patches) {
|
applySettingsPatches(oldVersion, patches) {
|
||||||
let index = this.findFirstNecessaryPatch(oldVersion, patches);
|
let index = this.findFirstNecessaryPatch(oldVersion, patches);
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
// this.logger.log('info','settings','[Settings::applySettingsPatches] There are no pending conf patches.');
|
this.logger.log('info','settings','[Settings::applySettingsPatches] There are no pending conf patches.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply all remaining patches
|
// apply all remaining patches
|
||||||
// this.logger.log('info', 'settings', `[Settings::applySettingsPatches] There are ${patches.length - index} settings patches to apply`);
|
this.logger.log('info', 'settings', `[Settings::applySettingsPatches] There are ${patches.length - index} settings patches to apply`);
|
||||||
while (index --< patches.length) {
|
while (index < patches.length) {
|
||||||
delete patches[index].forVersion;
|
delete patches[index].forVersion;
|
||||||
ObjectCopy.overwrite(this.active, patches[index]);
|
ObjectCopy.overwrite(this.active, patches[index]);
|
||||||
}
|
|
||||||
|
index++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
const settings = await this.get();
|
const settings = await this.get();
|
||||||
|
this.version = this.getExtensionVersion();
|
||||||
|
|
||||||
// |—> on first setup, settings is undefined & settings.version is haram
|
// |—> on first setup, settings is undefined & settings.version is haram
|
||||||
// | since new installs ship with updates by default, no patching is
|
// | since new installs ship with updates by default, no patching is
|
||||||
// | needed. In this case, we assume we're on the current version
|
// | needed. In this case, we assume we're on the current version
|
||||||
const oldVersion = (settings && settings.version) || this.getExtensionVersion();
|
const oldVersion = (settings && settings.version) || this.version;
|
||||||
const currentVersion = this.getExtensionVersion();
|
|
||||||
|
|
||||||
if(Debug.debug) {
|
if(Debug.debug) {
|
||||||
this.logger.log('info', 'Settings', "[Settings::init] Configuration fetched from storage:", settings,
|
this.logger.log('info', 'settings', "[Settings::init] Configuration fetched from storage:", settings,
|
||||||
"\nlast saved with:", settings.version,
|
"\nlast saved with:", settings.version,
|
||||||
"\ncurrent version:", currentVersion
|
"\ncurrent version:", this.version
|
||||||
);
|
);
|
||||||
|
|
||||||
if (Debug.flushStoredSettings) {
|
// if (Debug.flushStoredSettings) {
|
||||||
this.logger.log('info', 'Settings', "%c[Settings::init] Debug.flushStoredSettings is true. Using default settings", "background: #d00; color: #ffd");
|
// this.logger.log('info', 'settings', "%c[Settings::init] Debug.flushStoredSettings is true. Using default settings", "background: #d00; color: #ffd");
|
||||||
Debug.flushStoredSettings = false; // don't do it again this session
|
// Debug.flushStoredSettings = false; // don't do it again this session
|
||||||
this.active = this.getDefaultSettings();
|
// this.active = this.getDefaultSettings();
|
||||||
this.active.version = currentVersion;
|
// this.active.version = this.version;
|
||||||
this.set(this.active);
|
// this.set(this.active);
|
||||||
return this.active;
|
// return this.active;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there's no settings saved, return default settings.
|
// if there's no settings saved, return default settings.
|
||||||
if(! settings || (Object.keys(settings).length === 0 && settings.constructor === Object)) {
|
if(! settings || (Object.keys(settings).length === 0 && settings.constructor === Object)) {
|
||||||
|
this.logger.log('info', 'settings', '[Settings::init] settings don\'t exist. Using defaults.\n#keys:', Object.keys(settings).length, '\nsettings:', settings);
|
||||||
this.active = this.getDefaultSettings();
|
this.active = this.getDefaultSettings();
|
||||||
this.active.version = currentVersion;
|
this.active.version = this.version;
|
||||||
this.set(this.active);
|
await this.save();
|
||||||
return this.active;
|
return this.active;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if last saved settings was for version prior to 4.x, we reset settings to default
|
|
||||||
// it's not like people will notice cos that version didn't preserve settings at all
|
|
||||||
if (settings.version && !settings.version.startsWith('4')) {
|
|
||||||
this.active = this.getDefaultSettings();
|
|
||||||
this.active.version = currentVersion;
|
|
||||||
this.set(this.active);
|
|
||||||
return this.active;
|
|
||||||
}
|
|
||||||
|
|
||||||
// in every case, we'll update the version number:
|
|
||||||
settings.version = currentVersion;
|
|
||||||
|
|
||||||
// if there's settings, set saved object as active settings
|
// if there's settings, set saved object as active settings
|
||||||
this.active = settings;
|
this.active = settings;
|
||||||
|
|
||||||
// check if extension has been updated. If not, return settings as they were retreived
|
// if last saved settings was for version prior to 4.x, we reset settings to default
|
||||||
|
// it's not like people will notice cos that version didn't preserve settings at all
|
||||||
|
if (this.active.version && !settings.version.startsWith('4')) {
|
||||||
if (oldVersion == currentVersion) {
|
this.active = this.getDefaultSettings();
|
||||||
this.logger.log('info', 'Settings', "[Settings::init] extension was saved with current version of ultrawidify. Returning object as-is.");
|
this.active.version = this.version;
|
||||||
|
await this.save();
|
||||||
return this.active;
|
return this.active;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// if version number is undefined, we make it defined
|
||||||
|
// this should only happen on first extension initialization
|
||||||
|
if (!this.active.version) {
|
||||||
|
this.active.version = this.version;
|
||||||
|
await this.save();
|
||||||
|
return this.active;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if extension has been updated. If not, return settings as they were retrieved
|
||||||
|
if (this.active.version === this.version) {
|
||||||
|
this.logger.log('info', 'settings', "[Settings::init] extension was saved with current version of ultrawidify. Returning object as-is.");
|
||||||
|
return this.active;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This means extension update happened.
|
||||||
|
// btw fun fact — we can do version rollbacks, which might come in handy while testing
|
||||||
|
this.active.version = this.version;
|
||||||
|
|
||||||
// if extension has been updated, update existing settings with any options added in the
|
// if extension has been updated, update existing settings with any options added in the
|
||||||
// new version. In addition to that, we remove old keys that are no longer used.
|
// new version. In addition to that, we remove old keys that are no longer used.
|
||||||
const patched = ObjectCopy.addNew(settings, this.default);
|
const patched = ObjectCopy.addNew(settings, this.default);
|
||||||
this.logger.log('info', 'Settings',"[Settings.init] Results from ObjectCopy.addNew()?", patched, "\n\nSettings from storage", settings, "\ndefault?", this.default);
|
this.logger.log('info', 'settings',"[Settings.init] Results from ObjectCopy.addNew()?", patched, "\n\nSettings from storage", settings, "\ndefault?", this.default);
|
||||||
|
|
||||||
if(patched){
|
if (patched) {
|
||||||
this.active = patched;
|
this.active = patched;
|
||||||
} else {
|
|
||||||
this.active = JSON.parse(JSON.stringify(this.default));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// in case settings in previous version contained a fucky wucky, we overwrite existing settings with a patch
|
// in case settings in previous version contained a fucky wucky, we overwrite existing settings with a patch
|
||||||
@ -192,9 +243,9 @@ class Settings {
|
|||||||
// set 'whatsNewChecked' flag to false when updating, always
|
// set 'whatsNewChecked' flag to false when updating, always
|
||||||
this.active.whatsNewChecked = false;
|
this.active.whatsNewChecked = false;
|
||||||
// update settings version to current
|
// update settings version to current
|
||||||
this.active.version = currentVersion;
|
this.active.version = this.version;
|
||||||
|
|
||||||
this.set(this.active);
|
await this.save();
|
||||||
return this.active;
|
return this.active;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +264,7 @@ class Settings {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.logger.log('info', 'Settings', 'Got settings:', ret && ret.uwSettings && JSON.parse(ret.uwSettings));
|
this.logger.log('info', 'settings', 'Got settings:', ret && ret.uwSettings && JSON.parse(ret.uwSettings));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return JSON.parse(ret.uwSettings);
|
return JSON.parse(ret.uwSettings);
|
||||||
@ -223,11 +274,12 @@ class Settings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async set(extensionConf) {
|
async set(extensionConf) {
|
||||||
this.logger.log('info', 'Settings', "[Settings::set] setting new settings:", extensionConf)
|
extensionConf.version = this.version;
|
||||||
|
|
||||||
|
this.logger.log('info', 'settings', "[Settings::set] setting new settings:", extensionConf)
|
||||||
|
|
||||||
if (currentBrowser.firefox || currentBrowser.edge) {
|
if (currentBrowser.firefox || currentBrowser.edge) {
|
||||||
extensionConf.version = this.version;
|
return browser.storage.local.set( {'uwSettings': JSON.stringify(extensionConf)});
|
||||||
return this.useSync ? browser.storage.local.set( {'uwSettings': JSON.stringify(extensionConf)}): browser.storage.local.set( {'uwSettings': JSON.stringify(extensionConf)});
|
|
||||||
} else if (currentBrowser.chrome) {
|
} else if (currentBrowser.chrome) {
|
||||||
return chrome.storage.local.set( {'uwSettings': JSON.stringify(extensionConf)});
|
return chrome.storage.local.set( {'uwSettings': JSON.stringify(extensionConf)});
|
||||||
}
|
}
|
||||||
@ -246,7 +298,7 @@ class Settings {
|
|||||||
console.log("[Settings::save] Saving active settings:", this.active);
|
console.log("[Settings::save] Saving active settings:", this.active);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.set(this.active);
|
await this.set(this.active);
|
||||||
}
|
}
|
||||||
|
|
||||||
async rollback() {
|
async rollback() {
|
||||||
@ -257,12 +309,6 @@ class Settings {
|
|||||||
return JSON.parse(JSON.stringify(this.default));
|
return JSON.parse(JSON.stringify(this.default));
|
||||||
}
|
}
|
||||||
|
|
||||||
setDefaultSettings() {
|
|
||||||
this.default.version = this.getExtensionVersion();
|
|
||||||
this.set(this.default);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
// Nastavitve za posamezno stran
|
// Nastavitve za posamezno stran
|
||||||
// Config for a given page:
|
// Config for a given page:
|
||||||
@ -299,7 +345,7 @@ class Settings {
|
|||||||
site = window.location.hostname;
|
site = window.location.hostname;
|
||||||
|
|
||||||
if (!site) {
|
if (!site) {
|
||||||
this.logger.log('info', 'Settings', `[Settings::canStartExtension] window.location.hostname is null or undefined: ${window.location.hostname} \nactive settings:`, this.active);
|
this.logger.log('info', 'settings', `[Settings::canStartExtension] window.location.hostname is null or undefined: ${window.location.hostname} \nactive settings:`, this.active);
|
||||||
return ExtensionMode.Disabled;
|
return ExtensionMode.Disabled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -321,7 +367,7 @@ class Settings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch(e){
|
} catch(e){
|
||||||
this.logger.log('error', 'Settings', "[Settings.js::canStartExtension] Something went wrong — are settings defined/has init() been called?\n\nerror:", e, "\n\nSettings object:", this)
|
this.logger.log('error', 'settings', "[Settings.js::canStartExtension] Something went wrong — are settings defined/has init() been called?\n\nerror:", e, "\n\nSettings object:", this)
|
||||||
|
|
||||||
return ExtensionMode.Disabled;
|
return ExtensionMode.Disabled;
|
||||||
}
|
}
|
||||||
@ -333,7 +379,7 @@ class Settings {
|
|||||||
site = window.location.hostname;
|
site = window.location.hostname;
|
||||||
|
|
||||||
if (!site) {
|
if (!site) {
|
||||||
this.logger.log('info', 'Settings', `[Settings::canStartExtension] window.location.hostname is null or undefined: ${window.location.hostname} \nactive settings:`, this.active);
|
this.logger.log('info', 'settings', `[Settings::canStartExtension] window.location.hostname is null or undefined: ${window.location.hostname} \nactive settings:`, this.active);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -360,7 +406,7 @@ class Settings {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this.logger.log('error', 'Settings', "[Settings.js::canStartExtension] Something went wrong — are settings defined/has init() been called?\nSettings object:", this);
|
this.logger.log('error', 'settings', "[Settings.js::canStartExtension] Something went wrong — are settings defined/has init() been called?\nSettings object:", this);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -382,7 +428,7 @@ class Settings {
|
|||||||
return this.active.sites[site].keyboardShortcutsEnabled === ExtensionMode.Enabled;
|
return this.active.sites[site].keyboardShortcutsEnabled === ExtensionMode.Enabled;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.log('info', 'Settings',"[Settings.js::keyboardDisabled] something went wrong:", e);
|
this.logger.log('info', 'settings',"[Settings.js::keyboardDisabled] something went wrong:", e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -413,7 +459,7 @@ class Settings {
|
|||||||
const csar = this.canStartAutoAr(site);
|
const csar = this.canStartAutoAr(site);
|
||||||
Debug.debug = true;
|
Debug.debug = true;
|
||||||
|
|
||||||
this.logger.log('info', 'Settings', "[Settings::canStartAutoAr] ----------------\nCAN WE START AUTOAR ON SITE", site,
|
this.logger.log('info', 'settings', "[Settings::canStartAutoAr] ----------------\nCAN WE START AUTOAR ON SITE", site,
|
||||||
"?\n\nsettings.active.sites[site]=", this.active.sites[site], "settings.active.sites[@global]=", this.active.sites['@global'],
|
"?\n\nsettings.active.sites[site]=", this.active.sites[site], "settings.active.sites[@global]=", this.active.sites['@global'],
|
||||||
"\nAutoar mode (global)?", this.active.sites['@global'].autoar,
|
"\nAutoar mode (global)?", this.active.sites['@global'].autoar,
|
||||||
`\nAutoar mode (${site})`, this.active.sites[site] ? this.active.sites[site].autoar : '<not defined>',
|
`\nAutoar mode (${site})`, this.active.sites[site] ? this.active.sites[site].autoar : '<not defined>',
|
||||||
@ -429,10 +475,10 @@ class Settings {
|
|||||||
if (this.active.sites['@global'].autoar === ExtensionMode.Enabled) {
|
if (this.active.sites['@global'].autoar === ExtensionMode.Enabled) {
|
||||||
return this.active.sites[site].autoar !== ExtensionMode.Disabled;
|
return this.active.sites[site].autoar !== ExtensionMode.Disabled;
|
||||||
} else if (this.active.sites['@global'].autoar === ExtensionMode.Whitelist) {
|
} else if (this.active.sites['@global'].autoar === ExtensionMode.Whitelist) {
|
||||||
this.logger.log('info', 'Settings', "canStartAutoAr — can(not) start csar because extension is in whitelist mode, and this site is (not) equal to", ExtensionMode.Enabled)
|
this.logger.log('info', 'settings', "canStartAutoAr — can(not) start csar because extension is in whitelist mode, and this site is (not) equal to", ExtensionMode.Enabled)
|
||||||
return this.active.sites[site].autoar === ExtensionMode.Enabled;
|
return this.active.sites[site].autoar === ExtensionMode.Enabled;
|
||||||
} else {
|
} else {
|
||||||
this.logger.log('info', 'Settings', "canStartAutoAr — cannot start csar because extension is globally disabled")
|
this.logger.log('info', 'settings', "canStartAutoAr — cannot start csar because extension is globally disabled")
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user