feat(escrow): v0.138.0 — "awaiting hub confirmation" waiting state
After a completed escrow ceremony the Távoli mentés page showed the yellow "Helyreállítási kód szükséges" card for ~15 min until the next hub-report ACK flipped pending→escrowed. Phase-0 diagnosis (read-only) = verdict A (report-cycle lag), already resolved on the demo box (escrow_state:"escrowed"); hub Hypothesis B verified false (SaveHostEscrow ON CONFLICT already clears stale_at on upload) → no hub change. - settings.OffboxTarget.CeremonyCompletedAt: stamped on the recovery-code claim, zeroed on the auto-confirmer Flip + the deprecated manual confirm; persisted. - web/handlers.go: offboxCeremonyWaitState + escrowCeremonyGraceWindow (35m). - backups_remote.html: info "megerősítésre vár, legfeljebb 15 perc" card → warn "a megerősítés nem érkezett meg" past the window. Existing branches untouched. - backups_escrow.html: "Mi történik ezután?" note on the wizard's final step. - Test web/escrow_wait_state_test.go (truth table + red-proof recorded in REPORT). No scheduler/agent/hub/endpoint changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017qDiBqKKQ5vPB5fXBqu7Kp
This commit is contained in:
@@ -882,6 +882,15 @@ not just those with HDD data. Non-HDD apps can configure destination, method, an
|
||||
> staged secret) sets an in-memory stale flag (`EscrowAutoConfirmer.StaleBlob` → the Távoli
|
||||
> mentés card's warning + re-ceremony CTA) + one warn per distinct hub hash. State never flips,
|
||||
> runs never block; a covering blob (or a fresh auto-confirm) clears it.
|
||||
> **Awaiting-confirmation card (v0.138.0):** the flip above lands on the *next* report ACK, so a
|
||||
> just-finished ceremony sits pending for up to ~15 min. To avoid re-showing the yellow
|
||||
> "Helyreállítási kód szükséges" card during that gap, a successful recovery-code **claim** stamps
|
||||
> `OffboxTarget.CeremonyCompletedAt` (RFC3339, persisted; zeroed on the flip). While stamped and
|
||||
> pending, `/backups/remote` shows an **info** "megerősítésre vár, legfeljebb 15 perc" card
|
||||
> (`offboxCeremonyWaitState`); past `escrowCeremonyGraceWindow` (35 min = 2 cycles + slack) it
|
||||
> degrades to a **warn** "a megerősítés nem érkezett meg" + re-ceremony CTA — never an indefinite
|
||||
> wait. The wizard's final step shows a matching "Mi történik ezután?" note. Display-only: no state
|
||||
> change, no run-gate effect. (Phase-0 A: the wait itself is correct; only the feedback was missing.)
|
||||
> - **Injection guard** (`ValidateOffboxTarget`): host/user/repo must not start with `-` (ssh
|
||||
> option-injection) or carry metacharacters/traversal; `OffboxConfigured` fails closed on an invalid
|
||||
> target. Image: `restic` + `openssh-client` (re-added; restic's sftp backend shells out to `ssh`).
|
||||
|
||||
Reference in New Issue
Block a user