Repository navigation
TASK-23054: blocked Home cards can be hidden; no highlight on the next checklist row - #3484
Conversation
…t checklist row Hugo: the region and provider-rejection cards could not be dismissed. They now take the same tertiary Hide as the checklist, stored in the one Home CTA dismissal store and keyed by card kind plus reason code, so a new reason shows the card again once. Hiding hands over to the carousel; the fix or support route stays in Profile > Accounts. And the pink outline on the next checklist row is gone: every row has the same ListItem border.
1 similar comment
|
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: Repository: peanutprotocol/peanut-ui/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code-analysis diffPainscore total: 8967.43 → 8969.24 (+1.81) 🆕 New findings (33)
…and 13 more. ✅ Resolved (32)
…and 12 more. 📈 Painscore deltas (top movers)
|
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
There was a problem hiding this comment.
Chip review — no blocking findings — this is not an approval
One non-blocking Home carousel regression after dismissing a terminal verification card.
Findings
- MAJOR · src/features/home/HomePage.tsx:62 · Hiding a terminal card exposes an impossible verification prompt
For a region-restricted user with no enabled or pending rail and card eligibility false, Hide makesshowCarouseltrue.useHomeCarouselCTAsthen offerskyc-prompt(“Unlock QR code payments”) because it does not excludeisRegionRestricted; its tap routes to/profile/accounts, which correctly shows the terminal region refusal rather than a verification path. A terminal provider rejection can take the same path. Filter the verification prompt for these blocked states when handing over to the carousel, while keeping other carousel cards available.
Checked clean
- Exact head and merge base confirmed; reviewed Home card selection, dismissal persistence, carousel gates, identity status, and Accounts fallback.
- Security/privacy pass: new event sends a reason code to PostHog; dedicated review requested. No other security defect confirmed.
- Head CI: unit, typecheck, native-export, format, eslint, and backdoor-scan succeeded; press-contract, ds-shots, and preview checks were still running at last read.
Security review by moonshotai/kimi-k3: 0 finding(s), marked with the model name. It reads the diff only and answers only security, privacy and money, so treat its findings as advice.
Third opinion: did not run — claude-api_error. This review is one reviewer short.
Exact head: f47fd7b5a8b5 · Context: repo · Took 8m
|
English · Español · Español (Argentina) · Português (Brasil) After merge: 477ae05 → 6bfe451. Capture complete in all locales. |
🖼 Visual diff — 28 screens moved48 of 212 shots changed · 164 identical · baseline
job summary · before/after/diff images — artifact Fixture screenshots, no backend. Advisory — this check never blocks a merge. Posted from the default branch by ds-shots-comment.yml; the report it renders is untrusted data. |
Chip: a region-refused user who hides the region card lands on the carousel, which then asked them to 'Unlock QR code payments' through an ID check that can never pass. The slide now reads the same gate as the QR slide and the QR pay page: never for a refused region or a blocked provider.
There was a problem hiding this comment.
Chip review — no blocking findings — this is not an approval
P1 is fixed at this head; no actionable findings.
Checked clean
- P1 fixed: the Home verify slide now reads the QR-pay gate and is suppressed for region refusal and blocked provider states, while remaining available when identity verification can open QR pay.
- Reviewed the full Home card-to-carousel flow, persistence key, Accounts fallback, checklist styling, and new helper/test coverage against the exact head and merge base.
- Head CI: typecheck, eslint, format, screen tests, and backdoor scan succeeded; unit, press-contract, visual, and preview jobs were still running at last read.
Security review by moonshotai/kimi-k3: 0 finding(s), marked with the model name. It reads the diff only and answers only security, privacy and money, so treat its findings as advice.
Third opinion: did not run — it reads only the first review of a pull request; the first reviewer checks later rounds. This review is one reviewer short.
Exact head: 22e00c0d147d · Context: repo · Took 6m
TASK-23054. Two follow-ups from Hugo on the Home onboarding (after #3474 and #3481).
Blocked cards can be hidden
The "Verification issue" card (provider rejection: Contact support, and the Add email, Upload document and Verify again variants) and the "We can't verify IDs from this country" card (region refused) could not be dismissed.
LinkButtonas the checklist. It sits 24px under the primary button.useProviderRejectionnow returnsblockedCard: the kind, the reason code and the dismissal key. It follows the precedence the card itself uses: region first, then add email, complete setup, restart, verification issue. HomePage and ActivationCTAs read the same answer.hideHomeCta/readHiddenHomeCtas).useHomeFlownow keeps onehiddenHomeCtasset and onehideCta(id).blocked-card:<kind>:<code>(blockedCardCtaId). A new rejection reason, meaning another verdict or code, gives a new key, so the card shows again once.home_blocked_card_hiddensends{ card_kind, reason_code }./profile/accounts, the "Accounts" row on Profile,MoneySettings). Tapping the locked region there opens the provider-rejection modal with the same routes: Upload document, Verify again, or Contact support. A region-refused user getsKycRegionRestrictedModalthere.No highlight on the next checklist row
Hugo: the pink outline on the next row is against the design system. Every row now has only the
ListGroup/ListItemborder. The next step shows by its order and its chevron. The outline class and its tests are removed.design/design.mdhas no rule that allowed the outline, so it needs no change.Screens (375×667, local dev with the existing fixtures)
Sheet in mono:
local/scratch/home-viz/blocked-cards-before-after.jpg(columns: before, after, after Hide). The rows are:All 20 states, with full-size shots, the stuck-states table and the copy table, are in
local/scratch/home-viz/onboarding.html.Tests
ActivationCTAs.test.tsx: the region card hides underblocked-card:region-restricted:identity_region_restricted, and the event carries the kind and code. The verification-issue card hides under its rail reason code. The checklist has no blocked-card Hide.HomePage.test.tsx: a hidden blocked card hands over to the carousel. A card hidden under an older reason code shows again.GettingStartedChecklist.test.tsx: every row has the same border, with no highlight on the next step.