REPORT: hub v0.49.0 live validation complete — all 7 browser probes green

Dirty-form 103s no-reload, live-tab auto-reload, settings→edit alias,
(paused) hint, no-op save flash→Edit tab, style.css?v=0.49.0 network check.
Notes the never-reset dirty-flag semantic vs the spec's 'clear it resumes' wording.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TZc5w5jDhFLv6qDC32KN5v
This commit is contained in:
2026-07-12 17:54:51 +02:00
parent e96e2b2361
commit b904477ed9
+14 -9
View File
@@ -40,18 +40,23 @@ this train shipped as **v0.49.0**. Everything else is per spec.
- Image `gitea.dooplex.hu/admin/felhom-hub:0.49.0` built+pushed on 180.
- ArgoCD hard-refresh → sync: `sync=Synced`, rollout ok, pod image = `felhom-hub:0.49.0`, clean startup log (checkers seeded, `Listening on :8080`) at 17:40:50 CEST.
### Live validation — BLOCKED on operator login (unit coverage stands in)
### Live validation — DONE (Viktor logged in; claude-in-chrome on hub.felhom.eu, demo-felhom)
The hub UI is operator-password-gated and the automation browser profile had no active session
(navigate → `/login`); CC does not enter passwords by policy. **Operator follow-up (5 min), after
logging in at hub.felhom.eu:**
1. **Edit tab renders the merged surface** — populated form (ID readonly, name/domain/email, CF tokens), Edit active in the nav, `(paused)` hint shown (Edit is non-live). ✓
2. **Legacy alias**`#tab=settings` activates the Edit tab (panel + nav highlight). ✓
3. **Hint logic**`(paused)` inline on Edit and while dirty; `display:none` on Overview. ✓
4. **Dirty blocks reload** — typed one char into Display Name (15:49:03Z, hint on); at 15:50:46Z (103 s later) the JS window-marker and the typed char were both still present → **no reload**. Field restored via Backspace afterwards. ✓
5. **Live tab reloads** — after a fresh load on `#tab=overview` (toggle on, not dirty), the window-marker was gone within ~90 s → the 60 s auto-reload fired; the hash kept Overview active. ✓
6. **No-op save** — Save Changes with zero edits → 303 → `?flash=updated#tab=edit`, "Configuration updated." flash, Edit tab active, values intact (offsite/PBS re-apply idempotent as designed). ✓
7. **Cache-bust** — hard reload: `GET /style.css?v=0.49.0` → 200 in the network log; the DOM link href matches. ✓
1. `/customers/demo-felhom#tab=edit` — form renders populated; type 1 char in any text field, wait 70 s → **no reload**; switch to Overview → reload resumes next tick.
2. `#tab=settings` lands on Edit; `(paused)` shows on Edit, absent on Overview.
3. Save Changes with NO edits → returns to Edit tab with the "updated" flash. Do NOT change real values; do NOT exercise Block/Delete live.
4. Hard-reload once; confirm `style.css?v=0.49.0` in the network tab.
**Spec-wording caveat:** §13's "clear it → reload resumes next tick" is not how the shipped (and
spec-Part-3-mandated) never-reset dirty flag behaves — once dirty, auto-refresh stays paused until
the next full page load (manual reload, navigation, or the save redirect), which then re-arms it
(validated as probe 5). Clearing the typed character alone does not resume.
**NOT live-validated** (unit tests only): Block/Delete flows, the validation-error re-render, the 70 s no-reload probe, the `?v=0.49.0` network check.
**NOT live-validated** (unit tests only, by design/STOP): Block/Delete flows, the validation-error
re-render (no live invalid submit against demo-felhom).
### Observations (candidates, not done)