Skip to content

fix: TTL hold release, session sweeper, and post-purchase Done - #7

Merged
EliRobinson merged 2 commits into
mainfrom
fix/checkout-ttl-sweeper-and-done-label
Jul 29, 2026
Merged

EliRobinson merged 2 commits into
mainfrom
fix/checkout-ttl-sweeper-and-done-label

Conversation

@EliRobinson

Copy link
Copy Markdown
Owner

Summary

  • Session TTL lapse (session_lapsed) now releases the inventory hold on request-time expiry and via an in-process SessionExpirySweeper (~30s), so abandoned checkouts do not strand listings.
  • Web header leave control says Done after a successful purchase (still Cancel otherwise).
  • Shared checkout action/policy helpers, README/CONTEXT/ADR honesty notes, and related quality-pass cleanup.

Test plan

  • pnpm --filter api exec jest — checkout-service + sweeper tests green
  • pnpm --filter web exec jest --testPathPattern='site-header|checkout-client|page.ssr'
  • Manual: purchase → header shows Done; leave without confirm dialog
  • Manual: abandon active checkout → Cancel + hold released; listing selectable again
  • Optional: create session, wait past TTL / advance clocks in tests → hold freed without resume

Made with Cursor

EliRobinson and others added 2 commits July 29, 2026 15:33
Expire lapsed sessions with releaseHold on touch and via an in-process
sweeper, label the header Done only after a completed order, and update
README/CONTEXT/ADR honesty notes. Also folds shared checkout action and
policy refactors from the quality pass.

Co-authored-by: Cursor <cursoragent@cursor.com>
@EliRobinson
EliRobinson merged commit 7a66415 into main Jul 29, 2026
1 check passed
@EliRobinson
EliRobinson deleted the fix/checkout-ttl-sweeper-and-done-label branch July 29, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant