You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 886cfa2
Browse filesBrowse the repository at this point in the historyBrowse files
* fix(billing): converge Stripe cancel/contact syncs and guard webhook echoes over unsynced DB changes
* fix(billing): record each committed sync value on every in-flight event so no stale intent can resurface
* fix(billing): close remaining stale-intent paths (enterprise retry, legacy echoes, customer restore)
* fix(billing): record Team activation's cleared cancellation under the row lock; drop the settled-event scan
* fix(billing): lock the subscription before the outbox row in every sync retry path
* fix(billing): push each sync's recorded value and reject Stripe reads older than a newer Sim commit
* fix(billing): order Stripe-accepted reconcile values by when Stripe was read
* fix(billing): recommit the in-flight value, include the plan in seat convergence, bound the reconcile's outbox reads
* fix(billing): stamp every sync a later Stripe read confirms; ignore a moved cancel_at
* fix(billing): a fresh idempotency key per seat write so a returning value is applied, not replayed
* fix(billing): compare membership-driven seat and cancel changes against the committed value, not a possibly-stale row
* fix(billing): a membership writer skips only when both the row and the committed value already match
* fix(billing): a seat-row repair records no seat-change audit; deterministic latest-sync test helper
* test(billing): latest-sync helper fails loudly on an enqueue-time tie
0 commit comments