Skip to content

fix(frontend): close undo-after-commit race; docs: pitch-first README - #55

Closed
markadams31 wants to merge 2 commits into
mainfrom
fix/undo-race-condition
Closed

fix(frontend): close undo-after-commit race; docs: pitch-first README#55
markadams31 wants to merge 2 commits into
mainfrom
fix/undo-race-condition

Conversation

@markadams31

@markadams31 markadams31 commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

Two commits:

  • fix(frontend): close the race where Undo could fire after a delete already committed — Undo now no-ops once commit() starts, and the toast explicitly clears its action at that point (Sonner merges toast updates shallowly, so omitting action isn't enough).
  • docs: restructure the README for a pitch-first flow.

A broader set of review-driven fixes (delete/undo concurrency rework, server-default-PK creates, strict bulk filters) was developed and verified on this branch but deliberately descoped — this is a portfolio demo app and can live without them. That work is parked locally on parked/review-fixes if it's ever wanted.

🤖 Generated with Claude Code

markadams31 and others added 2 commits July 5, 2026 09:09
…y committed

The Undo action stayed wired up through the entire delete commit and
success-toast lifecycle, so a click landing after the server DELETE had
already succeeded would restore the row in the client cache while it stayed
permanently deleted in the database — a false "restored" state contradicted
by the next background refetch.

Undo now no-ops once commit() starts, and the toast explicitly clears its
action at that point (Sonner merges toast updates shallowly, so omitting
`action` isn't enough — the previous button would otherwise persist).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reorders sections so the strongest technical decisions (zero-trust SQL
authorization, the twice-run golden-snapshot integration tests, the
OpenTelemetry silent-failure catch) surface in a new Highlights section
right after the intro, rather than several hundred lines down. Adds a
one-line tech-stack callout for scanners. All existing technical content
is preserved, just reordered and tightened.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@markadams31
markadams31 force-pushed the fix/undo-race-condition branch from cbc4bc4 to 0ba2b2d Compare July 5, 2026 01:27
@markadams31 markadams31 changed the title fix: delete/undo concurrency, server-default PK creates, strict bulk filters fix(frontend): close undo-after-commit race; docs: pitch-first README Jul 5, 2026
@markadams31

Copy link
Copy Markdown
Owner Author

Closing: the two commits this PR carries (9f89345 undo-race fix, 0ba2b2d README restructure) were already squash-merged into main via #54 (d582387), so this PR's effective diff is empty. The descoped review fixes (delete/undo concurrency rework, server-default-PK creates, strict bulk filters) remain parked on the local branch parked/review-fixes if ever wanted.

@markadams31 markadams31 closed this Jul 5, 2026
@markadams31
markadams31 deleted the fix/undo-race-condition branch July 5, 2026 05:20
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