chore: backmerge main into dev (prod hotfixes)#2429
Conversation
…rozone Bridge now supports SEPA for Albania, Moldova, Montenegro, North Macedonia and Serbia (TASK-20580) — surface the bank rail as available instead of 'Soon' for deposit and withdraw, and show the standard EUR-accounts-only warning for the four that keep a domestic currency. Bulgaria adopted the euro in Jan 2026: badge EUR instead of BGN and drop the stale non-EUR SEPA warning.
The map already carried US/GB/CH and now the 2025/26 SEPA joiners; the old label invited a 'clean up non-EEA entries' edit that would disable live rails.
Signed-off-by: ab <78670703+abalinda@users.noreply.github.com>
…at check gates CI
feat: enable SEPA bank rail for AL/MD/ME/MK/RS + treat Bulgaria as Eurozone
…rnels Three accounts carry validNonceFrom > currentNonce (left by the 2025-09-18 root-validator migration wave); Kernel v3.1 rejects every enable-mode card approval below that floor with InvalidNonce, so auto-balance fails hourly forever and no re-grant can help — the account state itself is the poison. A fourth account is undeployed with a v0.0.3-initCode approval (AA14). Hidden support page (not linked anywhere): diagnoses the account on-chain, sends the matching repair userOp (invalidateNonce(floor+1), or the migration no-op deploy), confirms against re-read chain state, then re-grants — the existing session-approve route stores the fresh approval and kicks off a funding run immediately.
- diagnose keyed on the async zerodev address (mount-only effect left the page dead on a cold load from a support DM — the exact target flow) - repair() re-diagnoses live state before sending, so a retry after a confirm-poll timeout can't re-send an already-consumed invalidateNonce - guard the Kernel v3.1 invalidation cap (floor > currentNonce+10 has no valid target — fail with clear copy instead of burning doomed passkey taps) - step 2 respects the card-overview loading state instead of flashing 'no active card — contact support' at users on the success path - 'Check again' affordance after a failed diagnosis; dismissed passkey sheets are quiet no-ops, matching the grant path; drop the dead lastError render condition and the type export from the hook file
…lse negatives on laggy RPCs
…e-repair feat(card): /fix-card-signature — guided repair for enable-bricked kernel accounts
A user cancelled a funded bank deposit while trying to report a problem: the cancel button sits next to the support link and fired instantly with no confirmation (PostHog: 'Issues with this transaction?' at 09:03:00, 'Cancel deposit' 11s later), making the arriving wire unmatchable. The drawer also showed the FULL deposit reference while Add Money shows the intentionally shortened 10-char form (some banks cap reference fields; Bridge matches on the partial) — the two-different-codes confusion that sent the user hunting in the drawer to begin with.
…a vaul drawer Root cause of the phantom deposit cancels: vaul sets pointer-events:none on body while the transaction drawer is open, and the SupportDrawer's backdrop/panel never re-enabled pointer events — the whole support overlay was click-transparent, so taps on it fell through to the receipt underneath, where 'Cancel deposit' sits adjacent to the support link and fired irreversibly (PostHog: support link 15:05:47.7 → fall-through click on Cancel deposit 15:05:48.8 → BE cancel 15:05:49.4). Also per code review: single shortDepositReference() helper for the 6 reference sites across both screens, separate confirm-modal visibility from the armed action (noun flashed mid-fade), drop no-op icon props.
… twice CodeRabbit finding: two taps during the modal fade both see the armed action and start concurrent cancellations. Ref guard, not state — a same-frame double-tap lands before any re-render.
…rmation fix(deposits): stop support-chat clicks from cancelling deposits + confirm-before-cancel + uniform reference
Bumps src/content to peanut-content hotfix 32f5b91 (off current prod pointer f3c0ef66): removes personal phone number + swaps help@ -> support@ in the card legal docs. Isolated from the in-flight tos-v1 rework so it passes content verification and ships to peanut.me now.
…tact-hotfix content: publish card-legal contact hotfix (remove phone number, help@ → support@)
…3a05f7) Bumps src/content on production (main) from 32f5b91 → e3a05f7 (peanut-content latest = mono@83166e9). Single-file submodule pointer change. Publishes content already merged + mirrored from mono that the dev-targeted auto-PRs never promote to main.
…202607151650 content: publish legal docs overhaul to production (tos-v1)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
# Conflicts: # src/components/TransactionDetails/provider-rows/BridgeDepositInstructions.tsx
Code-analysis diffPainscore total: 6188.38 → 6205.16 (+16.78) 🆕 New findings (27)
…and 7 more. ✅ Resolved (17)
📈 Painscore deltas (top movers)
|
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
Backmerge of prod hotfixes from main into dev so staging picks them up:
Merge was clean — no conflicts with the dev refactor. Verified:
npm run typecheckclean,npm test142 suites / 1974 tests green.