From 068c5a8b0bb63cc7ab4459c75062373d96e7084e Mon Sep 17 00:00:00 2001 From: igor04091968 Date: Wed, 13 May 2026 03:41:17 +0300 Subject: [PATCH] fix(webui): normalize unknown host refs in category-builder hash/storage --- aw-server/aw-ru-patch.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/aw-server/aw-ru-patch.js b/aw-server/aw-ru-patch.js index 2463209..67b204d 100755 --- a/aw-server/aw-ru-patch.js +++ b/aw-server/aw-ru-patch.js @@ -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);