3.8 KiB
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 realbtn btn-sm btn-outlinesecondary 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_DETAILSmap the agent's operator-English preflightdetailstrings 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 mutedvar(--text-3)diagnostic span; unknown ids fall back to the raw detail — a failure is never blanked;staged_secretkeeps its informational dot). - Part 3: span-per-word code rendering (
createElement+textContent+createTextNodeONLY — R still never flows through innerHTML; comment documents why the spans keep the same no-parse-context guarantee); the two typed-back words highlightedvar(--warn)/600;verifyIdxnow chosen BEFORE rendering;finishWizard'stextContent=''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) + abtn-ghost"Megjelenítés"/"Elrejtés" local toggle, so the typed-back exercises the WRITTEN copy. R stays in the JS closure throughout.
- Part 2:
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 5–6 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.