Skip to content

fix(card): stop reading the retired Bridge customer in the card flow - #2676

Open
MayankMittal1 wants to merge 1 commit into
masterfrom
mayank/chore/remove-bridge-customer
Open

MayankMittal1 wants to merge 1 commit into
masterfrom
mayank/chore/remove-bridge-customer

Conversation

@MayankMittal1

@MayankMittal1 MayankMittal1 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Why

Bridge cards are retired, but every card screen still called GET /bridge-customer/get-customer-from-bridge. That endpoint now returns 400. If a Bridge KYC link id was saved on the device, the card screens also polled /cards/kyc/kyc-link-from-bridge every 5s. After this PR the card flow reads /cards/status only.

Behaviour

User Before After
Rain/Wirex applicant with a card customer Bridge endorsement already ignored (#d972af08) No change
New applicant with no Bridge customer Lookup 404 → nothing read No change
Cardholder whose Bridge lookup fails or 404s Add funds/Withdraw shown No change
Old Bridge customer, no card customer yet Steps driven by the Bridge cards endorsement: approved offered "Activate card", which the backend refuses "Continue verification" → Didit/Sumsub
Cardholder whose Bridge account is paused/offboarded Add funds/Withdraw hidden on the Rain/Wirex card Shown; the freeze and Wirex rules still apply
User with a Bridge KYC link saved from bank-transfer KYC That link's status could override the card KYC status /cards/status only

Scope

  • Not touched: the bank-transfer flow (useCustomer, PaymentMethodList, /bank-transfer/*). Bridge's fiat rails are still live; see kyc.service.ts in solid-backend. useCustomer is now documented as bank-transfer-only.
  • Removed (no remaining callers): useKycLinkFromBridge, useKycLink, useCreateKycLink, getKycLinkFromBridge, getKycLink, KycLinkFromBridgeResponse, isCustomerFundsRestricted.
  • Playwright: about 20 card-creation.spec.ts scenarios built on Bridge endorsements are replaced by under-review, rejected and approved scenarios driven by /cards/status. The old ones were already stale; they looked for an "Order card" button that no longer exists.
  • Backend: no change. Old app bundles will keep calling the endpoint until users update.

Before merging

Please confirm there are no live Bridge cardholders. The paused/offboarded row is the only change that removes a restriction, and it only matters for someone Bridge has paused who also holds a live card.

Verification

  • tsc --noEmit: same 10 errors as master, all in untouched files
  • eslint and prettier: clean apart from two findings already on master
  • jest, run one file at a time:
    • buildCardSteps.test.ts: 23/23
    • cardReviewState.test.ts: 14/14
    • cardFundsAccess.test.ts: 6/6
    • SpendModeModals.test.tsx: 10/10
  • The rewritten Playwright scenarios have not been run.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Bridge cards are retired, but every card screen still called
/bridge-customer/get-customer-from-bridge (now failing with a 400) and,
when a Bridge KYC link id was saved on the device, polled
/cards/kyc/kyc-link-from-bridge every 5s. The card flow now reads
/cards/status alone.

- Card steps no longer fall back to the Bridge "cards" endorsement for an
  applicant with no card customer. An approved endorsement offered
  "Activate card", which the backend refuses; they now start
  verification like everyone else.
- The card KYC status is no longer overridden by a Bridge KYC link left
  over from bank-transfer KYC.
- Add funds / Withdraw no longer hide on a paused or offboarded Bridge
  account; that hold is Bridge's, not the card issuer's.

The bank-transfer flow still reads the Bridge customer: Bridge's fiat
rails are live. Playwright scenarios built on Bridge endorsements are
replaced with ones driven by /cards/status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 8, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated
solid-app Ignored Ignored Oct 8, 2026 7:40pm UTC
solid-app-staging Ignored Ignored Oct 8, 2026 7:40pm UTC

Request Review

@claude

claude Bot commented Oct 8, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

This branch has not been deployed

No deployments
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