From 0df1f7e2ad162b238b42a56846f2e79eb3cf399e Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Thu, 9 Jul 2026 12:29:14 -0400 Subject: [PATCH] fix(beacon): stop the processing overlay covering the page on load MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit beacon.html "just shows a spinner": the `data-ds="new"` redesign's `.ds-overlay-backdrop { display: flex }` (an author rule) overrides the UA `[hidden] { display: none }`, so the processing overlay — `hidden` in the markup — rendered on load as a full-screen backdrop over the whole page. (Not the #28 watchdog, which is compiled into the bundle correctly.) Add `.ds-overlay-backdrop[hidden] { display: none }` (specificity 0,2,0 beats the base rule) so the `hidden` attribute actually hides it — the same guard the video modal already uses. No JS change; the JS inline-style toggle still works. The overlay now only shows while a torrent is being added. Rebuilt CSS + dist. Co-Authored-By: Claude Opus 4.8 --- css/tailwind.source.css | 7 +++++++ todo/TODO_2026-06-20_pre-launch.md | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/css/tailwind.source.css b/css/tailwind.source.css index 08cd16b6..ab3e62fb 100644 --- a/css/tailwind.source.css +++ b/css/tailwind.source.css @@ -573,6 +573,13 @@ -webkit-backdrop-filter: blur(var(--overlay-backdrop-blur)); } + /* `display: flex` above overrides the UA `[hidden] { display: none }`, so an + overlay with the `hidden` attribute (e.g. the beacon processing spinner) + would render on load and cover the whole page. Restore hide-on-hidden. */ + .ds-overlay-backdrop[hidden] { + display: none; + } + .popularity-modal__backdrop { z-index: var(--z-overlay-popover); padding: var(--space-md); diff --git a/todo/TODO_2026-06-20_pre-launch.md b/todo/TODO_2026-06-20_pre-launch.md index 07161d80..c7ee104d 100644 --- a/todo/TODO_2026-06-20_pre-launch.md +++ b/todo/TODO_2026-06-20_pre-launch.md @@ -974,6 +974,17 @@ video/mp4, range + CORS `*`) — the block is the whitelist gate, not the source watchdog can't re-fire. - [ ] **VERIFY live**: open the beacon, paste a dead magnet → spinner should clear with a warning after ~30s instead of hanging; paste a live magnet → resolves. +- [x] **SEPARATE BUG — spinner-on-load, FIXED 2026-07-09.** Reported: beacon.html + "just shows a spinner." Root cause was NOT the watchdog (that's compiled into + the bundle fine) but a CSS specificity trap from the `data-ds="new"` redesign: + `.ds-overlay-backdrop { display: flex }` (an author rule) overrides the UA + `[hidden] { display: none }`, so the processing overlay — `hidden` in the HTML + — rendered on load as a full-screen backdrop covering the whole page. Fix: + added `.ds-overlay-backdrop[hidden] { display: none }` (specificity 0,2,0 wins) + in `css/tailwind.source.css` — same guard the video modal already uses + (css ~2663). No JS needed; the JS inline-style toggle still works. Rebuilt CSS + + dist. **VERIFY live**: beacon.html loads to the form (no spinner); the + spinner only appears while adding a torrent. ### 29. Admin-whitelisted users bypass the Web-of-Trust (anti-abuse) — DEFERRED (YAGNI) **DECISION 2026-06-24: defer until there's a real brigading incident to scope against.**