fix(access): instrument Complete, and say when a card can't sell #100
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/card-complete-blocked-feedback"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pressing Complete on a session that fails leaves nothing in the journal: the decline path has no logging, so a failed sell is indistinguishable from a button that never fired. That gap is what made the 2026-09-22 settlement race take an afternoon to pin down instead of a minute. completeWithCard now logs outcome, duration and reason, and the entry line says whether selling is available at all.
Two real defects alongside it. A session whose withdraw step the card server withheld (daily limit spent, card disabled) still rendered a Complete Sale button that could only ever fail; it now shows the server's reason instead. And the decline path advised "tap your card to try again" even for refusals a re-tap cannot lift, so "blocked" is now its own outcome: nothing was consumed, the session stays loaded, and no re-tap is suggested.
Rebased onto the #99 merge. Typecheck clean; 116 tests; full Electron build green.