From 9153d85d8e314d4c94fa0192a21e70d07b1ada7b Mon Sep 17 00:00:00 2001 From: igor04091968 Date: Wed, 13 May 2026 03:37:01 +0300 Subject: [PATCH] fix(webui): harden category-builder unknown bucket query rewrite --- aw-server/aw-ru-patch.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/aw-server/aw-ru-patch.js b/aw-server/aw-ru-patch.js index 63f2954..2463209 100755 --- a/aw-server/aw-ru-patch.js +++ b/aw-server/aw-ru-patch.js @@ -1650,6 +1650,17 @@ function rewriteUnknownCategoryBuilderQueryBody(body) { if (typeof body !== "string") return body; + function stripUnknownBucketTokens(raw) { + return raw + .replace(/aw-watcher-window_unknown/gi, "__AW_RU_UNKNOWN_WINDOW__") + .replace(/aw-watcher-afk_unknown/gi, "__AW_RU_UNKNOWN_AFK__") + .replace(/find_bucket\((\\?["'])__AW_RU_UNKNOWN_WINDOW__(\\?["'])\)/gi, "[]") + .replace(/find_bucket\((\\?["'])__AW_RU_UNKNOWN_AFK__(\\?["'])\)/gi, "[]") + .replace(/query_bucket\((\\?["'])__AW_RU_UNKNOWN_WINDOW__(\\?["'])\)/gi, "[]") + .replace(/query_bucket\((\\?["'])__AW_RU_UNKNOWN_AFK__(\\?["'])\)/gi, "[]") + .replace(/__AW_RU_UNKNOWN_WINDOW__/g, "") + .replace(/__AW_RU_UNKNOWN_AFK__/g, ""); + } function stripUnknownBucketQueries(raw) { return raw .replace(/flood\(query_bucket\(find_bucket\(\\"aw-watcher-window_unknown\\"\)\)\)/g, '[]') @@ -1684,6 +1695,10 @@ body = stripUnknownBucketQueries(body); } } + if (body.indexOf("aw-watcher-window_unknown") !== -1 || body.indexOf("aw-watcher-afk_unknown") !== -1) { + body = stripUnknownBucketQueries(body); + body = stripUnknownBucketTokens(body); + } return body; }