60 lines
4.2 KiB
Markdown
60 lines
4.2 KiB
Markdown
# REPORT — v0.127.1 + v0.127.2: escrow wizard polish (CTA visibility, Hungarian preflight, typed-back highlight, manual hide toggle)
|
||
|
||
**Date:** 2026-07-13 · **Version:** controller v0.127.2 (from v0.127.0, baseline `a5041da` confirmed) · Presentation-only; MinAgent unchanged (0.88.0 for the wizard); agent/felhom.eu untouched. Commits `156e7d5` (v0.127.1) + `788f8e6` (v0.127.2) on `main`. Source: four findings from Viktor's supervised wizard passes (drill + demo), plus his live follow-up on the v0.127.1 blur.
|
||
|
||
**v0.127.2 (same evening):** the auto-blur-on-focus was REVERSED on Viktor's live finding — the
|
||
code blurred exactly when the customer clicked into a verification input to type from the screen.
|
||
The code now stays visible; the "Elrejtés"/"Megjelenítés" toggle appears with the reveal and is
|
||
manual-only (kept for screen-share situations). Render test asserts no `onfocus` auto-blur remains.
|
||
|
||
## 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 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.2 Up (healthy)` (0.127.1 verified healthy before it; `controller_started` events pushed) |
|
||
| drill guest (qm 300) | `gitea.dooplex.hu/admin/felhom-controller:0.127.2 Up (healthy)` |
|
||
|
||
## 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.
|