Files
felhom-controller/REPORT.md
T

3.8 KiB
Raw Blame History

REPORT — v0.127.1: escrow wizard polish (CTA visibility, Hungarian preflight, typed-back highlight, blur-on-verify)

Date: 2026-07-13 · Version: controller v0.127.1 (from v0.127.0, baseline a5041da confirmed) · Presentation-only; MinAgent unchanged (0.88.0 for the wizard); agent/felhom.eu untouched. Commit 156e7d5 on main. Source: four findings from Viktor's supervised wizard passes (drill + demo).

Files changed

  • controller/internal/web/templates/backups_remote.html — Part 1: the escrowed-state "Új helyreállítási kód készítése" CTA is a real btn btn-sm btn-outline secondary button (outline, deliberately NOT primary — escrowed is healthy/available-not-urgent; the stale variant keeps its primary CTA). Hint line kept above it; {{if .EscrowAgentOK}} gate kept.
  • controller/internal/web/templates/backups_escrow.html
    • Part 2: pfDetail() + PF_FAIL_DETAILS map the agent's operator-English preflight detail strings to Hungarian per the spec table (OK rows: value-bearing details only — storage id, age path, "előkészítve"; boolean-OK rows: no detail; not-OK rows: Hungarian text + the raw agent detail in a muted var(--text-3) diagnostic span; unknown ids fall back to the raw detail — a failure is never blanked; staged_secret keeps its informational dot).
    • Part 3: span-per-word code rendering (createElement + textContent + createTextNode ONLY — R still never flows through innerHTML; comment documents why the spans keep the same no-parse-context guarantee); the two typed-back words highlighted var(--warn)/600; verifyIdx now chosen BEFORE rendering; finishWizard's textContent='' verified to clear the child spans.
    • Part 4 (optional — implemented, trivially strikeable): first focus on either verification input blurs the code (filter: blur(6px), inline-style toggle — no style.css edit, no cache-bust needed) + a btn-ghost "Megjelenítés"/"Elrejtés" local toggle, so the typed-back exercises the WRITTEN copy. R stays in the JS closure throughout.
  • controller/internal/web/escrow_wizard_test.go — render assertions: the btn-outline CTA markup on the escrowed card; the Hungarian not-staged + sudo-missing strings; the blur toggle label; and the three raw English literals ("DR tier applied", "hub upload target configured", "sudo grant listed") asserted ABSENT from the page source.
  • CHANGELOG.md — v0.127.1 entry.

Tests + gates

go build ./... && go vet ./... && go test ./... — green (502 test funcs, no count change: existing render test extended). All four UI gates green (template_id, emoji, native-confirm, offbox-rename). §10 red-proofs: N/A — presentation-only, no correctness/security fix (stated per the task). JS runtime behavior (span construction, blur toggle) is covered by code review + the render-source assertions; the visual leg (steps 56 highlight + blur) awaits Viktor's eyeball pass on his next login — no ceremony was run anywhere (§12: the demo and drill boxes hold fresh real recovery codes; a run would supersede them).

Deployed

Target Verification
demo 9201 gitea.dooplex.hu/admin/felhom-controller:0.127.1 Up (healthy); startup log clean, controller_started (0.127.1) event pushed
drill guest (qm 300) gitea.dooplex.hu/admin/felhom-controller:0.127.1 Up (healthy); startup log clean

Observations

  • The wizard page embeds its Hungarian detail map in page JS — if the agent ever adds a seventh preflight item id, the fallback renders its raw detail (by design); add the Hungarian pair in the same commit that adds the id.
  • The stale-card CTA remains btn-primary (urgent) — only the healthy escrowed state was demoted to outline; the pending card's primary CTA is also unchanged.