From 41c9a191c1a7f9e85e12172458088a9a358ccb2e Mon Sep 17 00:00:00 2001 From: moisseev Date: Sat, 29 Jul 2023 10:54:12 +0300 Subject: [PATCH] Disable spam score column on Supernova Depends on: https://bugzilla.mozilla.org/show_bug.cgi?id=1817682 --- _locales/en/messages.json | 3 +++ _locales/ru/messages.json | 3 +++ experiments/scoreColumn.js | 5 +++++ options/options.css | 10 ++++++++++ options/options.html | 3 ++- options/options.js | 8 ++++++++ 6 files changed, 31 insertions(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 3da722b..188fc92 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -121,6 +121,9 @@ "spamnessOptions.captionDisplayColumnGroup.label": { "message": "Column display" }, + "spamnessOptions.columnDisplayGroup.note": { + "message": "The feature is incompatible with this Thunderbird version. Supported versions: 78.0 - 110.*." + }, "spamnessOptions.captionDisplayMessageGroup.label": { "message": "Message display" }, diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 194e68c..6b3119a 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -117,6 +117,9 @@ "spamnessOptions.captionDisplayColumnGroup.label": { "message": "Настройка отображения колонки" }, + "spamnessOptions.columnDisplayGroup.note": { + "message": "Функция несовместима с этой версией Thunderbird. Поддерживаемые версии: 78.0 - 110.*." + }, "spamnessOptions.captionDisplayMessageGroup.label": { "message": "Настройки отображения сообщения" }, diff --git a/experiments/scoreColumn.js b/experiments/scoreColumn.js index 70bcac2..ec0d7fd 100644 --- a/experiments/scoreColumn.js +++ b/experiments/scoreColumn.js @@ -7,6 +7,7 @@ var {ExtensionCommon} = ChromeUtils.import("resource://gre/modules/ExtensionCommon.jsm"); var {ExtensionSupport} = ChromeUtils.import("resource:///modules/ExtensionSupport.jsm"); var Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; +var [majorVersion] = Services.appinfo.platformVersion.split(".", 1); /* eslint-enable no-var */ const RspamdSpamnessColumn = {}; @@ -89,6 +90,8 @@ var scoreColumn = class extends ExtensionCommon.ExtensionAPI { return Services.prefs.getCharPref(prefName); }, init() { + if (majorVersion > 110) return; + // Listen for the main Thunderbird windows opening. ExtensionSupport.registerWindowListener("scoreColumnListener", { chromeURLs: ["chrome://messenger/content/messenger.xhtml"], @@ -161,6 +164,8 @@ var scoreColumn = class extends ExtensionCommon.ExtensionAPI { // eslint-disable-next-line class-methods-use-this close() { + if (majorVersion > 110) return; + libExperiments.removeElements([ "spamScoreCol", "rspamd-spamness-messenger-css" diff --git a/options/options.css b/options/options.css index bec67f6..b076c2f 100644 --- a/options/options.css +++ b/options/options.css @@ -11,3 +11,13 @@ input[type="radio"], label { vertical-align: middle; } +#column-display-fieldset { + display: flex; + flex-direction: column; +} +#column-display-note { + color: black; + background-color: #ffe900; + border-radius: 4px; + padding: 4px 8px; +} diff --git a/options/options.html b/options/options.html index 319bca8..c178736 100644 --- a/options/options.html +++ b/options/options.html @@ -28,8 +28,9 @@
-
+
__MSG_spamnessOptions.captionDisplayColumnGroup.label__ +

diff --git a/options/options.js b/options/options.js index e22073d..cf4f6b0 100644 --- a/options/options.js +++ b/options/options.js @@ -3,6 +3,14 @@ "use strict"; async function init() { + browser.runtime.getBrowserInfo().then((browserInfo) => { + const [majorVersion] = browserInfo.version.split(".", 1); + if (majorVersion > 110) { + document.querySelector("#column-display-fieldset").disabled = true; + document.querySelector("#column-display-note").removeAttribute("hidden"); + } + }); + const localStorage = await browser.storage.local.get(libBackground.defaultOptions.keys); document.querySelector("#columnDisplay_" + localStorage["display-column"]).checked = true;