fix(scanner): idempotent Mark-Owned and reliable bulk actions #41

Merged
varutasu merged 1 commit from fix/scanner-correctness-polish into main 2026-05-27 14:44:47 -04:00
varutasu commented 2026-05-27 14:40:35 -04:00 (Migrated from github.com)

Summary

  • Add per-row in-flight locks so double-tap Mark Owned cannot duplicate POSTs
  • Pass bulk action/target directly instead of setTimeout(..., 100) state races
  • Log collection card adds via logCollectionActivity
  • Fix rows.length checks in collection cards POST handler

Test plan

  • npm run test:run — 21/21
  • Double-click Mark Owned → single POST
  • Bulk add to collection/deck from toolbar → completes without race

Depends on #40.

Made with Cursor

## Summary - Add per-row in-flight locks so double-tap Mark Owned cannot duplicate POSTs - Pass bulk action/target directly instead of `setTimeout(..., 100)` state races - Log collection card adds via `logCollectionActivity` - Fix `rows.length` checks in collection cards POST handler ## Test plan - [x] `npm run test:run` — 21/21 - [ ] Double-click Mark Owned → single POST - [ ] Bulk add to collection/deck from toolbar → completes without race Depends on #40. Made with [Cursor](https://cursor.com)
vercel[bot] commented 2026-05-27 14:40:40 -04:00 (Migrated from github.com)

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tcg-vault Ready Ready Preview, Comment May 27, 2026 6:43pm

Request Review

[vc]: #a06AGBM9ZePhTTvWOMX0Mb+ewbiusQ0QRHgTy4lpcXg=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJ0Y2ctdmF1bHQiLCJwcm9qZWN0SWQiOiJwcmpfRjZXOEVvRkd3Y0g3aWVGcnRvRlNlOXdVVkFhNSIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9yYW5kYWxsLXN0aWxsd2VsbHMtcHJvamVjdHMvdGNnLXZhdWx0LzVwblM0SGVvTER0UzZpV0JCaFpwcjI3WWRVbWIiLCJwcmV2aWV3VXJsIjoidGNnLXZhdWx0LWdpdC1maXgtc2Nhbm5lci1jby0yOWRiYmMtcmFuZGFsbC1zdGlsbHdlbGxzLXByb2plY3RzLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoidGNnLXZhdWx0LWdpdC1maXgtc2Nhbm5lci1jby0yOWRiYmMtcmFuZGFsbC1zdGlsbHdlbGxzLXByb2plY3RzLnZlcmNlbC5hcHAifSwicm9vdERpcmVjdG9yeSI6bnVsbH1dLCJyZXF1ZXN0UmV2aWV3VXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3ZlcmNlbC1hZ2VudC9yZXF1ZXN0LXJldmlldz9vd25lcj12YXJ1dGFzdSZyZXBvPXRjZy12YXVsdCZwcj00MSJ9 The latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more). | Project | Deployment | Actions | Updated (UTC) | | :--- | :----- | :------ | :------ | | [tcg-vault](https://vercel.com/randall-stillwells-projects/tcg-vault) | ![Ready](https://vercel.com/static/status/ready.svg) [Ready](https://vercel.com/randall-stillwells-projects/tcg-vault/5pnS4HeoLDtS6iWBBhZpr27YdUmb) | [Preview](https://tcg-vault-git-fix-scanner-co-29dbbc-randall-stillwells-projects.vercel.app), [Comment](https://vercel.live/open-feedback/tcg-vault-git-fix-scanner-co-29dbbc-randall-stillwells-projects.vercel.app?via=pr-comment-feedback-link) | May 27, 2026 6:43pm | <a href="https://vercel.com/vercel-agent/request-review?owner=varutasu&repo=tcg-vault&pr=41" rel="noreferrer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://agents-vade-review.vercel.sh/request-review-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://agents-vade-review.vercel.sh/request-review-light.svg"><img src="https://agents-vade-review.vercel.sh/request-review-light.svg" alt="Request Review"></picture></a>
Sign in to join this conversation.
No description provided.