Remove edge glow; prefill MCMS URL from env; drop self-signed-cert option

- Remove the animated neon edge-glow entirely (HTML element + CSS) — it
  couldn't be made to follow the border reliably on iOS Safari.
- Add PFW_MCMS_URL: the web server prefills the login "Host URL" field with
  it (injected as the input's value in the served index; still editable).
  Documented in env.example + web README.
- Remove the "Accept self-signed TLS certificate" option: the checkbox is
  gone and both backends now always use rejectUnauthorized:true — MCMS must
  present a valid certificate. Dropped the acceptSelfSigned plumbing from the
  renderer and both login handlers.

Docs: CLAUDE.md (drop edge-glow section, update login note) + web README.

Verified: node --check; no stale refs (in-self-signed / acceptSelfSigned /
edge-glow / beamspin); served index carries value="…" only when
PFW_MCMS_URL is set, and no self-signed checkbox.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Jon Vanvik 2026-06-23 16:49:54 +02:00
parent 6f4a315947
commit ea251c3498
8 changed files with 30 additions and 79 deletions

View file

@ -143,8 +143,10 @@ stream progress events back to the renderer.
### Fleet view
- Login with email / password, accept-self-signed-TLS toggle (essential
for lab MCMS installs).
- Login with email / password. TLS to MCMS is always verified
(`rejectUnauthorized: true`); there is no accept-self-signed option —
MCMS must present a valid certificate. The web server can prefill the host
field from `PFW_MCMS_URL`.
- Bulk fleet load: `listAllOnuConfigs` + `listAllOnuStates` +
`listAllOltStates`, all paginated via the `next` cursor at page size
100 (see §5).
@ -777,17 +779,9 @@ The ONU-state rows drill down: clicking one sets `#filter-status` and jumps
to the ONU tab (loading the fleet if needed). `fmtBps` in `app.js` is a
port of the iOS `Format.bps`.
### Animated edge glow
`#edge-glow` (fixed, pointer-events-none, full-viewport) holds a `.beam`
child masked to a 3px border ring (`mask` + `mask-composite: exclude`); the
ring contains a `::before` that is an oversized `conic-gradient` with a
white-hot core, spun with **`transform: rotate` 0→360°**, so the beam travels
around the screen edge. (It deliberately does *not* use an `@property`-
animated gradient angle — iOS Safari won't animate that, which left the beam
static on mobile.) The glow halo is a `drop-shadow` on the parent so it
survives the child's mask. Respects `prefers-reduced-motion`; z-index sits
below the scanline overlay (9999) and modals (10000).
(An animated neon edge-glow beam was tried and removed — it couldn't be made
to track the border reliably on iOS Safari. The static scanline overlay
remains.)
---