Skip to content

Phase 4: data layer and performance (frontend) - #5

Merged
subhanlone merged 4 commits into
masterfrom
fix/phase-4-data-performance
Aug 30, 2026
Merged

Phase 4: data layer and performance (frontend)#5
subhanlone merged 4 commits into
masterfrom
fix/phase-4-data-performance

Conversation

@subhanlone

Copy link
Copy Markdown
Owner

Summary

Stacked on Phase 3 (not yet merged). Frontend companion to bidvault-backend's Phase 4 PR.

  • BV-042: removed the CNIC field from the registration form, its format validation, and the formatting helper -- verified end-to-end in a browser that registration still completes.
  • New admin Transactions screen: lists PENDING transactions with a reason-required void action; BuyerMyWins now shows a Cancelled state for a voided transaction and surfaces lastPaymentError on the pending state, which the backend published but nothing here read.
  • New Danger Zone on Buyer/SellerProfile and a Delete a User Account card on AdminSettings, for BV-018's account-deletion route -- self-service (password-confirm modal) and admin (search by email, reason-required confirm), both verified end-to-end in a browser.
  • Regenerated openapi.d.ts for all of the above.

Test plan

  • npm run build
  • npm run lint
  • Manually verified in a browser: registration without CNIC, admin void-transaction, self-service account deletion, admin account deletion
  • CI green on this PR

Generated with Claude Code

https://claude.ai/code/session_0151oceeiAyJdi6T273spk4P

subhanlone and others added 4 commits August 30, 2026 19:53
Backend companion to bidvault-backend's admin void-transaction route
(BV-004, BV-006) -- regenerated openapi.d.ts, a new Transactions screen
in the admin sidebar listing every PENDING transaction with a Void action
(reason required, kept in the backend's audit log), and BuyerMyWins now
shows a "Cancelled" state with a clear message when a transaction is
voided instead of falling through with no matching branch.

Also surfaces `lastPaymentError` on the PENDING branch, which the backend
has published since BV-006 landed but nothing here read: the buyer now
sees why the last attempt failed instead of a generic "Complete Payment"
with no context.

Verified in a browser end-to-end: voided a transaction as admin, watched
the toast and list update, then confirmed the buyer's My Wins showed the
cancelled state with the right copy.

BV-004, BV-006.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151oceeiAyJdi6T273spk4P
Backend companion to bidvault-backend removing User.cnic entirely --
regenerated openapi.d.ts, dropped the CNIC input, its format validation,
and the formatting helper from RegisterScreen.tsx. The field was collected
at registration and never read again anywhere in the product; there was
nothing left for a keyed hash or encryption to protect, so the decision
was to stop collecting it.

BV-042.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151oceeiAyJdi6T273spk4P
Backend companion to bidvault-backend's anonymise-in-place account
deletion. Regenerated openapi.d.ts for the three new operations.

- DeleteAccountModal: password-confirm dialog, added to a new "Danger
  Zone" card on BuyerProfile and SellerProfile (mirrors the existing
  Security card's password-change pattern). Refused server-side if the
  caller has an active auction or a pending transaction, surfaced as the
  server's own message.
- AdminSettings gains a "Delete a User Account" card: search by email
  (there is no general user directory, and this is the one occasional,
  support-driven action that needs one), then a reason-required confirm
  modal per result.
- AuthContext.deleteAccount() clears the local session on success -- the
  server has already revoked every refresh token, this just makes the
  app reflect that immediately.

Verified in a browser: self-service delete signed the account out with a
confirmation toast; admin search-then-delete removed the target from the
result list in place.

BV-018.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151oceeiAyJdi6T273spk4P
Copilot AI lite review requested due to automatic review settings August 30, 2026 21:55
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
bidvault Ready Ready Preview Aug 30, 2026 9:55pm

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@subhanlone
subhanlone changed the base branch from fix/phase-3-contract-observability to master August 30, 2026 22:08
@subhanlone
subhanlone merged commit fef54a4 into master Aug 30, 2026
3 of 5 checks passed
@subhanlone
subhanlone deleted the fix/phase-4-data-performance branch September 5, 2026 05:35
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.

2 participants