From 1f394bb524427c8dc15d5b31db9a7a08374c1a39 Mon Sep 17 00:00:00 2001 From: Local Dev Date: Tue, 27 Oct 2026 21:59:07 +0200 Subject: [PATCH] Theseus 0.3.124 (cont'd): the General row is Theseus ID, not Theseus Shield The subagent's first pass took the Settings brief's parenthetical note ("previously Theseus ID") to mean "this row sits where Theseus ID used to live", and wired the row to the Shield (adblocker) add-on with its on/off toggle. The intent was simpler: just put Theseus ID back as a regular chevron row in General. Dropped the Shield toggle/opener wiring and reset the row to label and link Theseus ID, matching the Theseus ID chevron that used to live below Updates (now consolidated). --- settings.html | 49 +++++-------------------------------------------- 1 file changed, 5 insertions(+), 44 deletions(-) diff --git a/settings.html b/settings.html index 2ab46683..34c32d89 100644 --- a/settings.html +++ b/settings.html @@ -340,14 +340,11 @@ - -
-
-
Theseus Shield ›
-
Click to open its own settings. Blocks third-party trackers and ads on every site.
-
- + +
@@ -360,11 +357,6 @@
Updates
Loading…
- -

Appearance

Choose a theme for the browser. System follows your operating system's light/dark setting.

@@ -1382,37 +1374,6 @@ openSys.addEventListener("click", () => cfg.openSystemDefaults()); refresh(); })(); - // General › Theseus Shield row — chevron opens the Shield add-on's panel; - // toggle flips the blocker on/off. State comes from listAddons(). - (function () { - const openEl = document.getElementById("generalShieldOpen"); - const onEl = document.getElementById("generalShieldOn"); - if (!openEl || !onEl) return; - const openShield = () => { - // Prefer the add-on's own panel; fall back to the Extensions page. - if (C && typeof C.openPanel === "function") { - try { C.openPanel("blocker:main"); return; } catch {} - } - try { showSection("addons"); } catch {} - }; - openEl.addEventListener("click", openShield); - openEl.addEventListener("keydown", (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); openShield(); } }); - async function refresh() { - try { - const list = await (C.listAddons ? C.listAddons() : Promise.resolve({})); - const blocker = ((list && list.installed) || []).find((a) => a.id === "blocker"); - onEl.checked = !!(blocker && blocker.enabled); - } catch {} - } - onEl.addEventListener("change", async () => { - try { if (C.setAddonEnabled) await C.setAddonEnabled("blocker", onEl.checked); } catch {} - // Give the host a moment to flip, then refresh so the toggle shows the - // real state (an add-on that refused the flip stays as it was). - setTimeout(refresh, 400); - }); - refresh(); - document.addEventListener("section", (e) => { if (e.detail === "general") refresh(); }); - })(); // Aegis landing-section chevron — opens Aegis's own sidebar panel. Falls // back to the plug-in sub-page if the panel isn't registered. (function () {