]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] WebUI: repopulate classifier dropdown
authorAlexander Moisseev <moiseev@mezonplus.ru>
Mon, 6 Oct 2025 06:45:23 +0000 (09:45 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Mon, 6 Oct 2025 10:10:04 +0000 (13:10 +0300)
after reconnect from read-only

Ensure classifiers are fetched when the dropdown is empty even if cache suggests skipping,
preventing an empty selector on Scan tab after RO → Disconnect → Enable.

interface/js/app/upload.js

index f95d5cc905842783bac7416583667b76f5d5eb50..9f6c6e7a50e727e045710fa337ef453102117a7d 100644 (file)
@@ -330,10 +330,15 @@ define(["jquery", "app/common", "app/libft"],
 
         ui.getClassifiers = function () {
             const server = common.getServer();
-            if (shouldSkipRequest(server, "classifiers")) return;
 
             if (!common.read_only) {
+                const hadOptions = $("#classifier").children().length > 0; // remember pre-state
+
                 const sel = $("#classifier").empty().append($("<option>", {value: "", text: "All classifiers"}));
+
+                // Skip request only if we already had options populated for this config/server
+                if (shouldSkipRequest(server, "classifiers") && hadOptions) return;
+
                 common.query("bayes/classifiers", {
                     success: function (data) {
                         data[0].data.forEach((c) => sel.append($("<option>", {value: c, text: c})));