fix(webui): normalize unknown host refs in category-builder hash/storage

This commit is contained in:
igor04091968
2026-05-13 03:41:17 +03:00
parent 9153d85d8e
commit 068c5a8b0b
+32
View File
@@ -1764,6 +1764,37 @@
});
}
function normalizeCategoryBuilderUnknownHostRefs() {
const hash = window.location.hash || "";
if (!/^#\/settings\/category-builder(?:[/?#]|$)/i.test(hash)) return;
const preferredHost = getPreferredWindowHostFromBuckets();
if (!preferredHost) return;
const nextHash = hash
.replace(/aw-watcher-window_unknown/gi, "aw-watcher-window_" + preferredHost)
.replace(/aw-watcher-afk_unknown/gi, "aw-watcher-afk_" + preferredHost);
if (nextHash !== hash) {
window.location.replace(nextHash);
return;
}
try {
for (let i = 0; i < window.localStorage.length; i += 1) {
const key = window.localStorage.key(i);
if (!key) continue;
const value = window.localStorage.getItem(key);
if (!value || (value.indexOf("aw-watcher-window_unknown") === -1 && value.indexOf("aw-watcher-afk_unknown") === -1)) continue;
window.localStorage.setItem(
key,
value
.replace(/aw-watcher-window_unknown/gi, "aw-watcher-window_" + preferredHost)
.replace(/aw-watcher-afk_unknown/gi, "aw-watcher-afk_" + preferredHost)
);
}
} catch (error) {
}
}
function patchActivityHeading(root) {
const heading = root.querySelector("h3");
if (!heading) return;
@@ -1780,6 +1811,7 @@
enforceSafeActivityViewForPveHost();
ensureSettingsHost();
ensureHostGroupsData().catch(function () {});
normalizeCategoryBuilderUnknownHostRefs();
installCategoryBuilderNetworkPatch();
injectStyles();
walk(document.body);