Skip to content

chore: prod release 134 fe#1747

Closed
kushagrasarathe wants to merge 113 commits intomainfrom
dev
Closed

chore: prod release 134 fe#1747
kushagrasarathe wants to merge 113 commits intomainfrom
dev

Conversation

@kushagrasarathe
Copy link
Contributor

No description provided.

kushagrasarathe and others added 25 commits March 4, 2026 23:56
- update verification-in-progress modal title and description
- use InfoCard for additional docs requirements display
- add DUPLICATE_EMAIL reject label for bridge submission errors
- fix country flag and region label ordering (US/EU/UK/MX)
- update fallback requirement description copy
remove duplicated bridgeKycStatus websocket listeners and manual
status tracking in favor of the centralized useKycStatus hook.
…dling

- deduplicate BRIDGE_UNLOCK_ITEMS across regions
- preserve specific error messages from backend in useCreateOnramp
- remove stale freshUser reference in AddWithdrawCountriesList (bug)
- fix "Verfication" typo in KycVerificationInProgressModal
- revert fallback requirement description to generic copy
1. Install screen: Replace tech-speak fallback with user-friendly copy
2. Waitlist notification: Add 'Not now' skip so users without invite codes
   don't get stuck on 'Enable Notifications' forever
3. PWA install loop: Remove target=_blank /setup link that causes redirect
   loop between browser and PWA; show instruction to open from Home Screen
   with fallback 'Continue here instead' button
fix: sumsub multi level transition bug
fix: update manteca refund activity ui
@vercel
Copy link

vercel bot commented Mar 13, 2026

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

Project Deployment Actions Updated (UTC)
peanut-wallet Building Building Preview, Comment Mar 13, 2026 10:49am

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 13, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

This PR migrates the KYC verification system from legacy Bridge/Manteca-based flows to a unified Sumsub multi-phase architecture. It introduces new hooks for multi-phase KYC flows, removes legacy KYC orchestration hooks, refactors payment and withdrawal pages to use the new flow, adds Bridge ToS confirmation, and reorganizes identity verification around region-based KYC entries rather than per-country flows.

Changes

Cohort / File(s) Summary
KYC Core Infrastructure
src/hooks/useUnifiedKycStatus.ts, src/hooks/useSumsubKycFlow.ts, src/hooks/useMultiPhaseKycFlow.ts, src/hooks/useRailStatusTracking.ts, src/hooks/useBridgeTosStatus.ts, src/constants/kyc.consts.ts, src/constants/sumsub-reject-labels.consts.ts
New hooks and constants providing unified KYC status tracking across providers (Bridge, Manteca, Sumsub), multi-phase KYC flow orchestration with ToS and rail status handling, and centralized reject label and status categorization utilities. Replaces per-provider hooks with a single source of truth.
KYC UI Components
src/components/Kyc/SumsubKycWrapper.tsx, src/components/Kyc/SumsubKycFlow.tsx, src/components/Kyc/SumsubKycModals.tsx, src/components/Kyc/InitiateKycModal.tsx, src/components/Kyc/BridgeTosStep.tsx, src/components/Kyc/KycVerificationInProgressModal.tsx, src/components/Kyc/KycStatusDrawer.tsx, src/components/Kyc/KycStatusItem.tsx, src/components/Kyc/states/*
New Sumsub SDK wrapper and multi-phase modals, initiate KYC modal, Bridge ToS modal, and KYC state-specific components (NotStarted, ActionRequired, Failed, Processing, Completed, RequiresDocuments). Refactored KycStatusDrawer and KycStatusItem to support region-based tracking and multi-phase flows.
Legacy KYC Component Removals
src/components/Kyc/InitiateBridgeKYCModal.tsx, src/components/Kyc/InitiateMantecaKYCModal.tsx, src/components/AddMoney/UserDetailsForm.tsx
Removed bridge and manteca KYC modals and user details form component as KYC flow is now unified and inline.
Page-level KYC Integration
src/app/(mobile-ui)/add-money/[country]/bank/page.tsx, src/app/(mobile-ui)/withdraw/manteca/page.tsx, src/components/AddMoney/components/MantecaAddMoney.tsx, src/components/AddWithdraw/AddWithdrawCountriesList.tsx
Replaced per-payment step KYC flows with inline multi-phase Sumsub modals and region-intent-based KYC initiation. Updated validation and submission logic to use new isUserKycApproved predicates.
Claim Flow Pages
src/components/Claim/Link/MantecaFlowManager.tsx, src/components/Claim/Link/views/BankFlowManager.view.tsx
Integrated new multi-phase KYC flow with Sumsub modals; replaced WebSocket-based KYC status listeners with inline flow-based approach.
Identity Verification Pages & Components
src/app/(mobile-ui)/profile/identity-verification/[region]/[country]/page.tsx, src/app/(mobile-ui)/profile/identity-verification/[region]/page.tsx, src/components/Profile/views/IdentityVerification.view.tsx, src/components/Profile/components/IdentityVerificationCountryList.tsx, src/app/(mobile-ui)/profile/identity-verification/layout.tsx, src/components/Profile/views/RegionsPage.view.tsx
Removed nested routing for identity verification; simplified layout to PageContainer only. Identity verification now driven by RegionsVerification.view via region-clicked modal flow rather than nested page navigation.
Profile & Region Pages
src/components/Profile/index.tsx, src/components/Profile/views/RegionsVerification.view.tsx, src/components/Profile/components/ProfileMenuItem.tsx, src/components/Profile/components/PublicProfile.tsx, src/components/Profile/views/ProfileEdit.view.tsx
Added highlight prop to ProfileMenuItem for KYC status, updated RegionsVerification to use region-click modal flow with multi-modal variants, replaced direct KYC checks with isUserKycVerified/isUserKycApproved predicates.
History & Transaction Details
src/app/(mobile-ui)/history/page.tsx, src/components/Home/HomeHistory.tsx, src/components/TransactionDetails/TransactionCard.tsx, src/components/TransactionDetails/TransactionDetailsReceipt.tsx
Updated to use region-based KYC entry grouping (groupKycByRegion), added region prop to KycStatusItem, added Sumsub KYC status WebSocket handler, updated refunded transaction status styling and icon mappings.
Home & Navigation
src/components/Home/HomeCarouselCTA/index.tsx, src/components/Home/KycCompletedModal/index.tsx, src/components/Global/WalletNavigation/index.tsx, src/app/(mobile-ui)/home/page.tsx
Integrated Bridge ToS flow into home carousel CTAs with completion handlers, updated KycCompletedModal to use unified KYC status and region-based unlock logic, redirected Docs navigation to internal route, removed unused getRedirectUrl export.
QR Payment & Points
src/app/(mobile-ui)/qr-pay/page.tsx, src/app/(mobile-ui)/points/page.tsx, src/app/(mobile-ui)/points/invites/page.tsx, src/features/limits/*
Updated import paths for KYC modal components, replaced kycStatus string checks with kycVerified boolean flag in points/invites, replaced KYC-based limit gating with hasMantecaLimits flag.
Server Actions & API
src/app/actions/sumsub.ts, src/app/actions/types/sumsub.types.ts, src/app/actions/users.ts
New server actions for initiating Sumsub KYC, confirming Bridge ToS, and fetching Bridge ToS links. New types for Sumsub KYC responses and region intents.
WebSocket & Types
src/services/websocket.ts, src/types/sumsub-websdk.d.ts, src/interfaces/interfaces.ts
Added WebSocket message types for Sumsub KYC status updates and rail status changes, added TypeScript declarations for Sumsub WebSDK, extended user interfaces with rails and enhanced KYC verification fields.
Utilities & Constants
src/utils/kyc-grouping.utils.ts, src/constants/bridge-requirements.consts.ts, src/utils/general.utils.ts, src/utils/__tests__/withdraw.utils.test.ts, src/hooks/useIdentityVerification.tsx
Added region-based KYC grouping utility, requirement label mappings, PIX input normalization for EMVCo QR handling, updated KYC verification checks to use unified helpers, added region-intent mapping.
Flow Hooks
src/hooks/useKycStatus.tsx, src/hooks/useDetermineBankClaimType.ts, src/hooks/useDetermineBankRequestType.ts, src/hooks/useQrKycGate.ts, src/hooks/useCreateOnramp.ts, src/features/payments/flows/*, src/features/limits/hooks/useLimitsValidation.ts
Updated to use new unified KYC predicates (isUserKycVerified, isUserKycApproved) instead of direct status checks, replaced KYC hooks with useUnifiedKycStatus wrapper, improved error handling and balance-loading state management.
UI Components
src/components/Global/Badges/StatusBadge.tsx, src/components/Global/Icons/Icon.tsx, src/components/Global/IframeWrapper/*, src/components/Global/PostSignupActionManager/index.tsx, src/components/Global/StatusPill/index.tsx, src/components/Kyc/CountryFlagAndName.tsx, src/components/Kyc/CountryRegionRow.tsx, src/components/Kyc/KYCStatusDrawerItem.tsx, src/components/Setup/Views/InstallPWA.tsx
Updated refunded status styling (yellow instead of error), added undo icon support, added skipStartView prop to IframeWrapper, added customText override to KYCStatusDrawerItem, added hideBottomBorder prop to CountryRegionRow, updated PWA install fallback messaging, added UK to bridge region support.
Miscellaneous
src/components/Send/views/Contacts.view.tsx, src/components/Request/direct-request/views/Initial.direct.request.view.tsx, src/components/Claim/Claim.tsx, src/components/Invites/JoinWaitlistPage.tsx, src/context/authContext.tsx, src/content
Updated to use isUserKycVerified helper for KYC checks, added notification skip flow to invites page, wrapped legacy_fetchUser with useCallback, updated content submodule reference.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • Refactoring work on Sumsub multi-phase KYC flow integration and removal of legacy Bridge/Manteca KYC hooks/modals across multiple pages and components, suggesting related earlier iterations or parallel work on KYC 2.0 migration.

Suggested labels

enhancement

Suggested reviewers

  • jjramirezn
✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants