a92e18b21f
Claude-Session: https://claude.ai/code/session_01GzammAMzsJTgpQHqxwM2bC
3.0 KiB
3.0 KiB
felhom.eu — task reports
Overwrite this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in hub/CHANGELOG.md; the scripts history lives in scripts/CHANGELOG.md.
Polish batch — hub v0.52.0 (F-15 instant reset codes + F-16 inline confirms) — 2026-07-13
Hub half of the polish batch (take-two findings F-15/F-16); companion controller v0.123.0.
Commits bad9203 (F-15), 5d66c62 (F-16), 0e05c69 (manifest 0.52.0).
What shipped
- F-15 (
internal/api/handler.go):POST /api/v1/claim/reset-requestreturns the ACTIVE claim state —{claim: {code_hash, generation, issued_at}}, the report ACK's exact shape and bcrypt-only guarantee — so the box applies the rotated hash in the SAME request cycle and the emailed code works immediately (was: next-ACK, ~15 min — Viktor's take-two live failure). Served on every authorized outcome; a cap-reached refusal returns the unrotated row (a controller-side no-op by generation). The operator "Kód újraküldése" keeps its ACK lag — its flash + confirm copy now state it; the unmappedclaim-resent/claim-resend-failedflash codes finally render. - F-16 (
templates/inline_confirm.html+ 4 templates +scripts/hub_confirm_gate.py): every nativeconfirm()in the hub UI replaced by the inline "question + Igen/Mégse" two-step (felhomConfirm/data-confirm+requestSubmit, soformactionbuttons riding the parent form still work). Danger-zone typed-confirm untouched by design. Gate enforces zero native confirm/prompt.
Tests + red-proofs
TestClaimResetRequest_ResponseCarriesRotatedHash(rotated hash == stored row, != pre-rotation row, bcrypt-only). Red-proof: handler mutated to serve the pre-rotation row → FAIL "response generation = 1, want the rotated one (stored 2)". Restored → green.hub_confirm_gate.pyred-proof: oneonclick="return confirm('redproof')"reintroduced → exit 1; restored → 0. Full hub green gate (build+vet+test) before each commit.
Deployed + live-validated
- ArgoCD app
felhomSynced/Healthy, deploy/hub imagefelhom-hub:0.52.0, clean startup log. - F-15 live: drill-box reset request → controller cached the response hash 1 s after the POST; Viktor re-ran his exact take-two failure path — emailed code accepted immediately.
- F-16 live (its own regression test): "Re-issue offsite credentials" on demo-vm-felhom
driven fully by browser automation — inline strip rendered, Igen →
?flash=offsite_reissued, zero CDP freezing (with v0.51.0 this exact click froze the session).
Observations
- Take-two §4 dispositions updated: F-15 and F-16 SHIPPED (this batch); the zero-toggle obs. shipped controller-side (v0.123.0).
- Remaining from take-two: F-14 (tenancy re-attach dead-end — needs the operator ruling on auto-Reissue vs never-silently-re-key) and the S5 DR-restore drill.