diff --git a/platform/mv3/extension/css/settings.css b/platform/mv3/extension/css/settings.css index 37606a1cb..4b5a1dd2e 100644 --- a/platform/mv3/extension/css/settings.css +++ b/platform/mv3/extension/css/settings.css @@ -86,6 +86,10 @@ h3[data-i18n="filteringMode0Name"]::first-letter { text-transform: capitalize; } +body[data-platform="safari"] [data-platform-exclude="safari"] { + display: none; + } + body:not(.committing) #commit-spinner { display: none; } diff --git a/platform/mv3/extension/dashboard.html b/platform/mv3/extension/dashboard.html index a2b13dfb1..a8f437d52 100644 --- a/platform/mv3/extension/dashboard.html +++ b/platform/mv3/extension/dashboard.html @@ -94,7 +94,7 @@
-

+

diff --git a/platform/mv3/extension/js/background.js b/platform/mv3/extension/js/background.js index a9d517949..72960004b 100644 --- a/platform/mv3/extension/js/background.js +++ b/platform/mv3/extension/js/background.js @@ -109,18 +109,6 @@ function getCurrentVersion() { return runtime.getManifest().version; } -// The goal is just to be able to find out whether a specific version is older -// than another one. - -function intFromVersion(version) { - const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(version); - if ( match === null ) { return 0; } - const year = parseInt(match[1], 10); - const monthday = parseInt(match[2], 10); - const min = parseInt(match[3], 10); - return (year - 2022) * (1232 * 2400) + monthday * 2400 + min; -} - /******************************************************************************/ async function onPermissionsRemoved() { @@ -566,13 +554,6 @@ async function startSession() { // obsolete ruleset to remove. if ( isNewVersion ) { ubolLog(`Version change: ${rulesetConfig.version} => ${currentVersion}`); - // https://github.com/uBlockOrigin/uBOL-home/issues/428#issuecomment-3172663563 - if ( webextFlavor === 'safari' && rulesetConfig.strictBlockMode ) { - const before = intFromVersion(rulesetConfig.version); - if ( before <= intFromVersion('2025.804.2359') ) { - rulesetConfig.strictBlockMode = false; - } - } rulesetConfig.version = currentVersion; await patchDefaultRulesets(); saveRulesetConfig(); diff --git a/platform/mv3/extension/js/dashboard.js b/platform/mv3/extension/js/dashboard.js index 16a44c831..15f37b839 100644 --- a/platform/mv3/extension/js/dashboard.js +++ b/platform/mv3/extension/js/dashboard.js @@ -26,10 +26,13 @@ import { localWrite, runtime, sendMessage, + webextFlavor, } from './ext.js'; /******************************************************************************/ +dom.body.dataset.platform = webextFlavor; + { const manifest = runtime.getManifest(); dom.text('#aboutNameVer', `${manifest.name} ${manifest.version}`); diff --git a/platform/mv3/extension/js/ruleset-manager.js b/platform/mv3/extension/js/ruleset-manager.js index 95567c1c7..22d48f385 100644 --- a/platform/mv3/extension/js/ruleset-manager.js +++ b/platform/mv3/extension/js/ruleset-manager.js @@ -24,6 +24,7 @@ import { localRead, localRemove, localWrite, runtime, sessionRead, sessionRemove, sessionWrite, + webextFlavor, } from './ext.js'; import { @@ -237,6 +238,11 @@ async function updateStrictBlockRules(currentRules, addRules, removeRuleIds) { if ( rulesetConfig.strictBlockMode === false ) { return; } + // https://github.com/uBlockOrigin/uBOL-home/issues/428#issuecomment-3172663563 + // https://bugs.webkit.org/show_bug.cgi?id=298199 + // https://developer.apple.com/forums/thread/756214 + if ( webextFlavor === 'safari' ) { return; } + const [ hasOmnipotence, rulesetDetails, diff --git a/platform/mv3/extension/js/utils.js b/platform/mv3/extension/js/utils.js index 935d61cfc..730325e1f 100644 --- a/platform/mv3/extension/js/utils.js +++ b/platform/mv3/extension/js/utils.js @@ -195,6 +195,20 @@ const strArrayEq = (a = [], b = [], sort = true) => { /******************************************************************************/ +// The goal is just to be able to find out whether a specific version is older +// than another one. + +export function intFromVersion(version) { + const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(version); + if ( match === null ) { return 0; } + const year = parseInt(match[1], 10); + const monthday = parseInt(match[2], 10); + const min = parseInt(match[3], 10); + return (year - 2022) * (1232 * 2400) + monthday * 2400 + min; +} + +/******************************************************************************/ + export { broadcastMessage, parsedURLromOrigin,