Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
0220bc5
Merge remote-tracking branch 'origin/feat/design-system' into feat/ds…
kushagrasarathe Aug 18, 2026
1c39b4c
mechanical: prettier tailwind re-sort on audit pages (DS 04 files und…
kushagrasarathe Aug 18, 2026
1e1260a
button: restyle to figma board 17802:61527 — pill, board sizes l48/m4…
kushagrasarathe Aug 18, 2026
7530a9f
Merge pull request #2705 from peanutprotocol/feat/ds-showcase-merge
kushagrasarathe Aug 18, 2026
0bc755a
card: restyle to figma board 17802:61536 — border-default token, boar…
kushagrasarathe Aug 18, 2026
27e1991
list item: new ListItem primitive per figma board 17802:61530 — leadi…
kushagrasarathe Aug 18, 2026
478768f
ds(12): generate ds token data from the @theme source
kushagrasarathe Aug 18, 2026
5cb49d2
navigation: NavHeader to board 17802:61534 — 40px circle buttons w/ 4…
kushagrasarathe Aug 18, 2026
d2a94f2
ds(12): render /dev/ds foundations from generated tokens
kushagrasarathe Aug 18, 2026
e429177
loaders: fold PeanutLoading into Loading (variant=mascot) — one loade…
kushagrasarathe Aug 18, 2026
1fd26c3
ds(12): split font-weight out of the font namespace
kushagrasarathe Aug 18, 2026
af2e949
ds(12): rename generated ColorToken -> ThemeToken
kushagrasarathe Aug 18, 2026
6e7723f
chore: prettier on two files inherited unformatted from the ds/04 mer…
kushagrasarathe Aug 18, 2026
99724f8
modal: restyle ActionModal to board 17800:57216 — heading-xs/body-s t…
kushagrasarathe Aug 18, 2026
7b2772a
chore: prettier (loading ds page + inherited ds/04 files)
kushagrasarathe Aug 18, 2026
a4e7937
modals: migrate 10 stragglers to ActionModal — guest-login, no-more-j…
kushagrasarathe Aug 18, 2026
c1f6c49
input+toggle: restyle .input to board 17802:61538 (subtle/active/focu…
kushagrasarathe Aug 18, 2026
c3819a3
badge+avatar: StatusBadge to board 17802:61533 token colors; avatar p…
kushagrasarathe Aug 18, 2026
172e6c0
review fixes: flow-mode md layout, ListItem keyboard access (role/tab…
kushagrasarathe Aug 18, 2026
75c22b0
ds(12): apply code-review findings
kushagrasarathe Aug 18, 2026
c2ba2f3
cards: ActionListCard delegates to ListItem; InfoCard variants to not…
kushagrasarathe Aug 18, 2026
6124e55
review fixes: focus-visible ring on .input was dead under v4 outline-…
kushagrasarathe Aug 18, 2026
241e54c
review fixes: discriminated LoadingProps union, variant-aware jest mo…
kushagrasarathe Aug 18, 2026
38c2bfb
review fixes: mascot paint order + seamless panel on invite/no-jail m…
kushagrasarathe Aug 18, 2026
bd9d00e
ListItem: truncate plain-string title/body only; node content renders…
kushagrasarathe Aug 18, 2026
5f188a2
merge ds/06-primitives (ListItem string/node rendering fix)
kushagrasarathe Aug 18, 2026
749bfe5
review fixes: ActionListCard keeps wrapping body + grey-fill disabled…
kushagrasarathe Aug 18, 2026
4e752d1
ActionListCard: chevron passthrough (retires the hidden-div suppressi…
kushagrasarathe Aug 18, 2026
bada243
coderabbit: Card keyboard defaults for clickable instances, NavHeader…
kushagrasarathe Aug 18, 2026
470dd57
coderabbit: caption inside full-screen overlay, single live region + …
kushagrasarathe Aug 18, 2026
104ad77
coderabbit: self-contained toggle usage example
kushagrasarathe Aug 18, 2026
a4a72a2
coderabbit: block LockCardModal dismissal mid-operation, hide dead cl…
kushagrasarathe Aug 18, 2026
5c1027d
coderabbit: forward disabled to ListItem for aria-disabled, keep lega…
kushagrasarathe Aug 18, 2026
29353b0
Merge pull request #2715 from peanutprotocol/ds/12-token-foundations
kushagrasarathe Aug 18, 2026
bb3d6f7
Merge remote-tracking branch 'origin/feat/design-system' into ds/06-p…
kushagrasarathe Aug 18, 2026
2398d13
Merge pull request #2716 from peanutprotocol/ds/06-primitives
kushagrasarathe Aug 18, 2026
8db7947
Merge pull request #2717 from peanutprotocol/ds/06-loaders
kushagrasarathe Aug 18, 2026
3890af8
Merge pull request #2718 from peanutprotocol/ds/06-inputs
kushagrasarathe Aug 18, 2026
57209bf
Merge pull request #2719 from peanutprotocol/ds/06-modals
kushagrasarathe Aug 18, 2026
2dbd932
Merge pull request #2720 from peanutprotocol/ds/06-cards
kushagrasarathe Aug 18, 2026
b29714a
Merge remote-tracking branch 'origin/feat/design-system' into ds/06-p…
kushagrasarathe Aug 18, 2026
3d1bed8
Merge pull request #2723 from peanutprotocol/ds/06-primitives
kushagrasarathe Aug 18, 2026
53aeb46
ds 07: rebuild home page into src/features/home per figma board 17830…
kushagrasarathe Aug 18, 2026
4af9c72
ds 07: bordered user-icon avatar fallback for usernameless users
kushagrasarathe Aug 18, 2026
40aa790
ds 07: test the balance-visibility external store
kushagrasarathe Aug 18, 2026
6c7a924
ds 07: address CodeRabbit round 1
kushagrasarathe Aug 18, 2026
5696b29
ds 07: address /code-review findings
kushagrasarathe Aug 18, 2026
25ca7c4
ds 07: avatar fallback matches the figma avatar treatment
kushagrasarathe Aug 18, 2026
1e95576
ds 13: one AppShell, figma bottom nav, desktop sidebar removed
kushagrasarathe Aug 18, 2026
17a24a4
feat(ds): DS 19-22 — notification, link button, accordion + slider re…
kushagrasarathe Aug 18, 2026
d4a032e
ds 09: receipts rebuilt on the list-row recipe + semantic tokens
kushagrasarathe Aug 18, 2026
0fa28da
fix(ds): use next/link for the inline-link demo (eslint no-html-link-…
kushagrasarathe Aug 18, 2026
5d0a5e9
fix(ds): CodeRabbit r1 — thumb aria-label, CTA wrap, decorative flag …
kushagrasarathe Aug 18, 2026
fc7b538
fix(ds): code-review r1 — twMerge font-size strip, dead slider focus …
kushagrasarathe Aug 18, 2026
90015d2
ds 13: semantic bg-background-page in the shell (legacy bg-background)
kushagrasarathe Aug 18, 2026
1ccf8c1
ds 09: address CodeRabbit — keyboard semantics on ReceiptRow, keep to…
kushagrasarathe Aug 18, 2026
89a60ed
ci: make the eslint job blocking now that errors are at zero (TASK-21…
jjramirezn Aug 18, 2026
a19f8e7
ci: list eslint in the ci-success failure diagnostics
jjramirezn Aug 18, 2026
6071dd0
ci: update stale comment — eslint job is blocking now (CodeRabbit)
jjramirezn Aug 18, 2026
428b893
Merge pull request #2742 from peanutprotocol/ds/10-eslint-zero
jjramirezn Aug 18, 2026
f2ed06b
ci: run the ds-lint debt ratchet on every PR (TASK-21450)
jjramirezn Aug 18, 2026
5b1882c
ci: ban useSearchParams + hand-built query-string pushes (DS 10 ratch…
jjramirezn Aug 18, 2026
1378824
ci: don't persist checkout credentials in the ds-lint job (CodeRabbit)
jjramirezn Aug 18, 2026
d8c6bbb
refactor: route all peanut-api calls through apiFetch (TASK-21450)
jjramirezn Aug 18, 2026
f38a2a5
ci: plain checkout for ds-lint — no submodules, no token (code review)
jjramirezn Aug 18, 2026
6a4ffda
chore(lint): scope PublicProfile's exemption to its two justified sel…
jjramirezn Aug 18, 2026
f3eb227
fix: demo-aware card auth headers + harden the apiFetch gate (CodeRab…
jjramirezn Aug 18, 2026
581f7c8
fix: demo-route correctness after apiFetch migration + widen the gate…
jjramirezn Aug 18, 2026
226b20f
fix: demo-api edge behavior + whitespace-tolerant gate matcher (TASK-…
jjramirezn Aug 18, 2026
89e28f4
Merge pull request #2744 from peanutprotocol/ds/10-counts-ratchet
jjramirezn Aug 18, 2026
836474c
Merge pull request #2745 from peanutprotocol/ds/10-nuqs-rule
jjramirezn Aug 18, 2026
e98a78c
Merge pull request #2746 from peanutprotocol/ds/10-apifetch-migration
jjramirezn Aug 18, 2026
1c14258
ds 09: receipt views redone to the TX Details board composition
kushagrasarathe Aug 19, 2026
b6c2c2f
ds 09: keyboard semantics on the clickable receipt-head avatar (CodeR…
kushagrasarathe Aug 19, 2026
7dc39c1
ds 14: activity surfaces — states board rules, list restyle, ?tx= dra…
kushagrasarathe Aug 19, 2026
7aec3d0
ds 14: drop orphaned test mock var (lint)
kushagrasarathe Aug 19, 2026
7d7bdea
ds 14: address code-review — failed-refund strike carve-out, shared s…
kushagrasarathe Aug 19, 2026
e7d86c8
ds 14: write the drawer-mount ref in an effect, not during render (Co…
kushagrasarathe Aug 19, 2026
e79d7d0
Merge pull request #2727 from peanutprotocol/ds/07-home-rebuild
kushagrasarathe Aug 19, 2026
92ce286
Merge pull request #2748 from peanutprotocol/ds/14-activity-surfaces
kushagrasarathe Aug 19, 2026
8f5b75e
Merge pull request #2733 from peanutprotocol/ds/19-remaining-components
kushagrasarathe Aug 19, 2026
1b71ed7
Merge origin/dev into feat/design-system
kushagrasarathe Aug 19, 2026
5dc0240
chore: regen ds tokens after safe-area spacing tokens landed in @theme
kushagrasarathe Aug 19, 2026
9c35e30
fix: post-merge alignment — one fetch path, capacitor mocks, prettier
kushagrasarathe Aug 19, 2026
6587178
fix: eslint merge intersections — catalog aria-label, allowlist dev's…
kushagrasarathe Aug 19, 2026
06976e0
fix: /code-review findings on the merge resolution
kushagrasarathe Aug 19, 2026
3d611a3
Merge pull request #2751 from peanutprotocol/merge/dev-into-design-sy…
Hugo0 Aug 19, 2026
9dafa4d
ds apply: add-money + add/withdraw shared views on semantic tokens
kushagrasarathe Aug 20, 2026
94894e8
ds apply: withdraw, profile, settings, notifications on semantic tokens
kushagrasarathe Aug 20, 2026
e62ef65
ds apply: rewards, invites, points, card surfaces on semantic tokens
kushagrasarathe Aug 20, 2026
516a6a4
ds apply: limits, claim, request, qr-claim, recover-funds on semantic…
kushagrasarathe Aug 20, 2026
8cefc63
ds apply: shared flow components on semantic tokens
kushagrasarathe Aug 20, 2026
3213d9e
ds apply: setup views class-level token pass
kushagrasarathe Aug 20, 2026
9e1ae04
ds apply: last stock-palette stragglers in qr claim + semantic reques…
kushagrasarathe Aug 20, 2026
11c0e9a
ds ratchet: lower the lint baseline to the post-apply counts
kushagrasarathe Aug 20, 2026
b96393a
ds apply: keep AmountInput digits on the repo's 3rem text-6xl
kushagrasarathe Aug 20, 2026
a6204a3
ds ratchet: baseline includes the deliberate text-6xl keep in AmountI…
kushagrasarathe Aug 20, 2026
7dcc562
ds apply: review fixes — keep DS text tokens out of twMerge
kushagrasarathe Aug 20, 2026
b54f12d
ds apply: drop twMerge imports orphaned by the review fixes
kushagrasarathe Aug 20, 2026
e251d40
ds apply: settings page shell, recover-funds blank fix, ExchangeRateW…
kushagrasarathe Aug 20, 2026
e866228
ds apply: settings root needs w-full — AppShell inner centers flex items
kushagrasarathe Aug 20, 2026
b356819
ds decisions: ErrorAlert -> Notification (38 files, component deleted…
kushagrasarathe Aug 20, 2026
c8799e1
ds decisions: InfoCard -> Notification (component deleted)
kushagrasarathe Aug 20, 2026
c8c1c5e
ds decisions: one SlideToConfirm (board 17785:11764, both old impls d…
kushagrasarathe Aug 20, 2026
df3e57f
ds decisions: marquee banners out of the app shell — maintenance/conn…
kushagrasarathe Aug 20, 2026
93e3a03
ds decisions: PaymentInfoRow kept as the label/value/copy wrapper, to…
kushagrasarathe Aug 20, 2026
61bfacd
ds decisions: ActionListCard deleted - consumers render ListItem dire…
kushagrasarathe Aug 20, 2026
c4118c2
ds decisions: standalone app links render LinkButton
kushagrasarathe Aug 20, 2026
ebe5285
ds decisions: orphan sweep — beta banner i18n keys removed, SearchInp…
kushagrasarathe Aug 20, 2026
161c344
ds fix: /dev/ds/patterns/amount-input crashed (react 130) - only patt…
kushagrasarathe Aug 20, 2026
c993030
setup: invite step - Next becomes the full-width primary cta under th…
kushagrasarathe Aug 20, 2026
c299364
dev: /dev/devices viewport harness, reachable on preview builds
kushagrasarathe Aug 21, 2026
dda130b
qa: delete dead RouteExpiryTimer, one ProgressBar primitive (0_Bruddl…
kushagrasarathe Aug 21, 2026
78439bd
qa: SegmentedControl primitive, board pressed states, sliding bottom-…
kushagrasarathe Aug 21, 2026
45301c8
qa: filled-icon knockout fix, icon-size sweep, pill logout buttons, b…
kushagrasarathe Aug 21, 2026
b314776
qa: per-page maintenance banner targeting, badge/kyc drawer heads on …
kushagrasarathe Aug 21, 2026
aac0709
home IA: add/send bottom drawers + destination page alignment (figma …
kushagrasarathe Aug 21, 2026
827b69e
qa: spacing sweep to board 17291:2772 anatomy
kushagrasarathe Aug 21, 2026
6a7bf69
Merge remote-tracking branch 'origin/ds/apply-remaining-pages' into d…
kushagrasarathe Aug 21, 2026
4b3fb2b
lint: Mercado Pago brand title via const (copy-props-from-catalog wan…
kushagrasarathe Aug 21, 2026
ad7e134
review: coderabbit round 1
kushagrasarathe Aug 21, 2026
8848583
review: /code-review round — geo-race gate, claim-flow isolation, dra…
kushagrasarathe Aug 21, 2026
7d66de0
review: single navigation on the send-link cta (coderabbit out-of-dif…
kushagrasarathe Aug 21, 2026
3222e62
fix: submenu pressed state uses action-primary (button board 17308:13…
kushagrasarathe Aug 21, 2026
2625444
qa: home top-left avatar one size down (48 -> 32) per Vlad follow-up;…
kushagrasarathe Aug 21, 2026
a448b65
Merge pull request #2758 from peanutprotocol/ds/apply-remaining-pages
kushagrasarathe Aug 21, 2026
3694056
Merge pull request #2780 from peanutprotocol/ds/home-ia-add-send
kushagrasarathe Aug 21, 2026
a67c04a
Merge origin/dev into feat/design-system
kushagrasarathe Aug 21, 2026
6869205
prettier: DS-branch tailwind class order on merged dev files
kushagrasarathe Aug 21, 2026
deecb3b
ds-lint: rebase baseline after dev back-merge
kushagrasarathe Aug 21, 2026
d8f14a5
home IA: add drawer is bank transfer + crypto only (product ruling)
kushagrasarathe Aug 21, 2026
abc5bd4
bottom nav: drag the active pill along the bar to switch tabs
kushagrasarathe Aug 21, 2026
b256dae
Merge remote-tracking branch 'origin/feat/design-system' into merge/d…
kushagrasarathe Aug 21, 2026
f336997
Merge pull request #2781 from peanutprotocol/merge/dev-into-design-sy…
kushagrasarathe Aug 21, 2026
96b3178
fix(ds-qa): notification list layout, profile-edit form rhythm, icon …
kushagrasarathe Aug 24, 2026
8976309
fix(ds-qa): bank-form labels, language flags, unified profile chips, …
kushagrasarathe Aug 24, 2026
caf8b88
fix(ds-qa): bottom-nav slide starts from rest; exchange-rate contrast…
kushagrasarathe Aug 24, 2026
7e9188f
fix(ds-qa): Notification items actually renders
kushagrasarathe Aug 24, 2026
d15b66b
fix(ds-qa): Save sticks to the viewport; region locales get the globe
kushagrasarathe Aug 24, 2026
5213f4b
chore(ds-qa): drop Icon imports orphaned by the Notification items mi…
kushagrasarathe Aug 24, 2026
c4746e4
fix(ds-qa): restore accessible names, stop empty banners, keep /shhhh…
kushagrasarathe Aug 24, 2026
c1c6af4
fix(ds-qa): don't wipe typed input on auth hydration; items=[] suppre…
kushagrasarathe Aug 24, 2026
a28f658
fix(ds-qa): checklist notifications drop the (i) and go back to prod …
kushagrasarathe Aug 24, 2026
37cef2c
fix(ds-qa): the nav pill knows where it is going before it starts
kushagrasarathe Aug 24, 2026
405836a
fix(ds-qa): swap the send drawer person icons
kushagrasarathe Aug 24, 2026
1c561f2
fix(ds-qa): the es-419 row flies the Spain flag
kushagrasarathe Aug 24, 2026
cc96b4a
fix(ds-qa): profile Save goes back inline, under the last field
kushagrasarathe Aug 24, 2026
04978e0
fix(ds-qa): the /shhhhh back button overlays the pink fold
kushagrasarathe Aug 24, 2026
f3834f9
fix(ds-qa): the profile row is called "Regions and verification"
kushagrasarathe Aug 24, 2026
8037d6f
docs(ds-qa): the nav block comment stops claiming a repro it never had
kushagrasarathe Aug 24, 2026
20a34fa
fix(ds-qa): the profile dirty check compares against what the form lo…
kushagrasarathe Aug 24, 2026
355932e
fix(ds): twMerge was deleting the DS type tokens it did not recognise
kushagrasarathe Aug 24, 2026
fad1c17
fix(ds): anatomy divergences the class list could not show
kushagrasarathe Aug 25, 2026
97b40c0
fix(ds): NavHeader title reads Heading/S from the token, not by coinc…
kushagrasarathe Aug 25, 2026
173979f
fix(ds): Avatar initials take their type from the board, not from stock
kushagrasarathe Aug 25, 2026
60ed3a9
fix(ds): a bare font-weight class cannot lose to a caller's type token
kushagrasarathe Aug 25, 2026
c5c2644
fix(ds): DrawerTitle stopped overriding the heading its callers ask for
kushagrasarathe Aug 25, 2026
cb9aefb
chore: drop the scratch anatomy spec notes that should never have bee…
kushagrasarathe Aug 25, 2026
1adb59b
Merge pull request #2799 from peanutprotocol/ds/qa-round-3-fixes
kushagrasarathe Aug 25, 2026
039f320
fix(tw): camelCase type tokens and extraBlack weight escaped the twMe…
kushagrasarathe Aug 25, 2026
3b70b31
fix(ds): safe-area vars, 44px touch targets, localized dismiss label
kushagrasarathe Aug 25, 2026
c968e73
Merge origin/dev into feat/design-system (release PR #2813 conflict r…
kushagrasarathe Aug 25, 2026
a9cf038
fix(ds): ListItem disabled tokens, NavHeader title overrides, carouse…
kushagrasarathe Aug 25, 2026
62f5592
fix(tw): register the remaining custom-token families in twMerge
kushagrasarathe Aug 25, 2026
7ae1380
fix(ds): NavHeader long titles stop colliding with the side buttons
kushagrasarathe Aug 25, 2026
eb2cc7f
fix(ds): recover-funds shows the ds empty state when nothing is recov…
kushagrasarathe Aug 25, 2026
9519e6c
fix(ds): bottom-nav strip goes transparent — pill and qr button float
kushagrasarathe Aug 25, 2026
48cf4d4
ds 04: regenerate the audit inventory against today's branch
kushagrasarathe Aug 25, 2026
c495665
ds(phase-2): add the missing composition recipes — PageStack, Section…
kushagrasarathe Aug 25, 2026
bb46926
ds(phase-2): tier-2 legacy color-class sweep — semantic tokens in, de…
kushagrasarathe Aug 25, 2026
851b8d3
ds(phase-2): ratchet the phase-2 finish lines — legacyColorClasses + …
kushagrasarathe Aug 25, 2026
2ebbc84
ds(phase-2): tier-3 batch 1 — card triple, settings, backup, qr succe…
kushagrasarathe Aug 25, 2026
d3ea438
ds(phase-2): tier-3 batch 2 — page shells and list positions compose …
kushagrasarathe Aug 25, 2026
943226c
ds(phase-2): comment hygiene on the migrated pages — narration out, c…
kushagrasarathe Aug 25, 2026
4d9b5f3
ds(phase-2): tier-3 batch 3 — centered-content blocks compose PageSta…
kushagrasarathe Aug 25, 2026
6010426
ds(phase-2): legacy metric excludes the shadow-primary/secondary offs…
kushagrasarathe Aug 25, 2026
b6d38f0
ds(phase-2): smell pass — CardEligibilityCheckScreen adopts PageStack…
kushagrasarathe Aug 25, 2026
e309987
ds(phase-2): /code-review fixes — alert-modal icon bubbles, ratchet h…
kushagrasarathe Aug 25, 2026
d6bf44a
ds(phase-2): legacy kill complete — figma primitive ramp in, colors +…
kushagrasarathe Aug 25, 2026
f859685
ds(phase-2): second /code-review round — repair the sweep's collatera…
kushagrasarathe Aug 25, 2026
37faf6f
ds(phase-2): the last app-surface stock-text stragglers move to the t…
kushagrasarathe Aug 25, 2026
843df91
Merge pull request #2818 from peanutprotocol/ds/phase-2-styling-cleanup
kushagrasarathe Aug 25, 2026
2dcdb2d
Merge remote-tracking branch 'origin/feat/design-system' into ds/04-a…
kushagrasarathe Aug 25, 2026
a9a56b3
ds 04: carry the audit counts across the phase-2 base
kushagrasarathe Aug 25, 2026
00081d4
fix(ds): settings pinned footer, invites empty states, limits retry t…
kushagrasarathe Aug 25, 2026
537c2a4
chore: delete the /notifications page
kushagrasarathe Aug 25, 2026
09d46d5
fix(ds): restore desktop headers, stop history-wide re-renders, recei…
kushagrasarathe Aug 25, 2026
8af1978
Merge pull request #2814 from peanutprotocol/ds/04-audit-data-refresh
kushagrasarathe Aug 25, 2026
7fcbea9
audit-data: drop deleted notifications page path from ad-hoc text-lin…
kushagrasarathe Aug 25, 2026
bc084ae
chore: delete the orphaned /settings root page
kushagrasarathe Aug 25, 2026
b89d4b6
dev: named app states behind ?__fixture=, so any screen renders with …
kushagrasarathe Aug 25, 2026
befe67b
qa: capture every fixture at four phone widths, and diff two captures
kushagrasarathe Aug 25, 2026
128f6ba
dev: fixtures now show what they claim, or they are gone
kushagrasarathe Aug 25, 2026
1375a9c
ci: drop the e2e job that tested nothing, add an advisory visual diff
kushagrasarathe Aug 25, 2026
f29dd40
qa: keep the four specs that assert something, delete the 14 that did…
kushagrasarathe Aug 25, 2026
86fdf20
dev: drop the three fixtures whose routes the design system deleted
kushagrasarathe Aug 26, 2026
1d245c8
proxy: /dev tooling answers 404 on peanut.me, not 200
kushagrasarathe Aug 25, 2026
921bbbd
layout: a backend outage keeps the error screen, instead of sending u…
kushagrasarathe Aug 25, 2026
63488ba
rewards: a failed points fetch shows an error, instead of a spinner f…
kushagrasarathe Aug 26, 2026
8d8e438
bottom nav: links not draggable so native link-drag doesn't fight the…
kushagrasarathe Aug 26, 2026
d7839a7
Merge branch 'feat/design-system' of https://github.com/peanutprotoco…
kushagrasarathe Aug 26, 2026
c4d0313
setup: skip button reads foreground-over-color-secondary (sits on col…
kushagrasarathe Aug 26, 2026
4a8f150
Merge remote-tracking branch 'origin/dev' into ds-final-2813
kushagrasarathe Aug 26, 2026
3336068
Merge origin/dev into feat/design-system (status page)
kushagrasarathe Aug 26, 2026
b70943f
qa: apply review — guard the real session cookie, run the kept specs …
kushagrasarathe Aug 26, 2026
213588f
fix: close the native gate gap on src/app/dev, apply the rest of review
kushagrasarathe Aug 26, 2026
404bc6a
Merge remote-tracking branch 'origin/feat/design-system' into qa/visu…
kushagrasarathe Aug 27, 2026
a417f70
fix(slide-to-confirm): money control commits only at 100%, resets aft…
kushagrasarathe Aug 27, 2026
64bd8db
qa: apply jjramirezn's review — make ds-shots reachable from the DS t…
kushagrasarathe Aug 27, 2026
70239db
fix(ds): restore styling the token sweep silently deleted
kushagrasarathe Aug 27, 2026
998a9a5
fix(input): component-owned states per the input board — black rest b…
kushagrasarathe Aug 27, 2026
09e6da5
fix(ds): figma-1:1 pass on board components — radii, modal close, gly…
kushagrasarathe Aug 27, 2026
b483e5d
fix(ds): token graveyard cleared + the machinery that keeps it clear
kushagrasarathe Aug 27, 2026
5efe010
qa: unbreak the first real CI run — ratchet allowlist, spec resilienc…
kushagrasarathe Aug 27, 2026
8e7c090
fix(ds): consistency round — one network list, home drawer parity, AP…
kushagrasarathe Aug 27, 2026
eaf18c5
test(ds): the checks that guard behavior instead of green paint
kushagrasarathe Aug 27, 2026
50788f0
qa: CI 404s every /dev page — set NEXT_PUBLIC_BASE_URL on the build
kushagrasarathe Aug 27, 2026
a1061fd
Merge remote-tracking branch 'origin/feat/design-system' into qa/visu…
kushagrasarathe Aug 27, 2026
433d450
qa: adopt the DS showcase sweep into the regression net
kushagrasarathe Aug 27, 2026
93d21c1
dev/ds: root section counts derive from nav-config — the third hand l…
kushagrasarathe Aug 27, 2026
140e4e2
Merge origin/dev into feat/design-system
kushagrasarathe Aug 27, 2026
db90efd
feat(ds): inline field errors per the form-field board (ruling 19)
kushagrasarathe Aug 27, 2026
8e85811
fix(ds): restore the AmountInput bordered container (ruling 20)
kushagrasarathe Aug 27, 2026
57f007d
feat(ds): bottom nav full-width gutter + backdrop-blur experiment (ru…
kushagrasarathe Aug 27, 2026
60a6bee
feat(ds): full DS conformance for /dev/ds chrome (ruling 16)
kushagrasarathe Aug 27, 2026
4577563
refactor(ds): F-12 inline-style taxonomy — 167 -> 50 sites
kushagrasarathe Aug 27, 2026
9bbcd8d
dev/ds: FieldError showcase page + nav entry — the new component foll…
kushagrasarathe Aug 27, 2026
98aa55d
dev/ds: FieldError nav entry — the previous commit's config edit sile…
kushagrasarathe Aug 27, 2026
93abcbf
feat(ds): bottom nav 'content dissolves' — transparent bar, scroll co…
kushagrasarathe Aug 27, 2026
a6f99f4
chore: remove the offramp migration deposit path
kushagrasarathe Aug 27, 2026
699f54a
Revert "feat(ds): bottom nav 'content dissolves' — transparent bar, s…
kushagrasarathe Aug 27, 2026
434bbe1
chore: review fixes — orphaned analytics comment, stale redirect fixt…
kushagrasarathe Aug 27, 2026
8f6f322
feat(ds): bottom nav — solid bar with soft elevation shadow (replaces…
kushagrasarathe Aug 27, 2026
e7ea9bb
feat(ds): bottom nav sits on a background-page fade — content dissolv…
kushagrasarathe Aug 27, 2026
2790915
fix(ds): receipts word the direction; open requests drop the pending …
kushagrasarathe Aug 27, 2026
84d851c
fix(ds): drop Mercado Pago from the send-to-friends method list
kushagrasarathe Aug 27, 2026
bea76dc
feat(ds): bottom nav — back to the soft elevation shadow, gradient dr…
kushagrasarathe Aug 27, 2026
d23f878
fix(ds): receipt titles match the TX Details board copy — 'Paid to' i…
kushagrasarathe Aug 27, 2026
4af4da4
refactor(ds): /dev/ds chrome dogfoods the DS components it documents
kushagrasarathe Aug 27, 2026
49b50a2
fix(ds): ContributorsDrawer link zeroes both press translates — the h…
kushagrasarathe Aug 27, 2026
8185b9d
perf(ds): build-time gate strips /dev/ds/audit data from prod bundles
kushagrasarathe Aug 27, 2026
ed261ba
fix(ds): badge-unlock drawer drops 32px of extra head padding
kushagrasarathe Aug 27, 2026
c69a707
Merge origin/dev into feat/design-system (FX rate-freeze, KYC docs lo…
kushagrasarathe Aug 27, 2026
86cc458
Merge pull request #2819 from peanutprotocol/qa/visual-shots
kushagrasarathe Aug 27, 2026
3559638
Merge pull request #2820 from peanutprotocol/qa/prod-bugs
kushagrasarathe Aug 27, 2026
a1ec394
fix(ds): receipt titles survive raw-address counterparties; self-desc…
kushagrasarathe Aug 27, 2026
f24f52c
fix(ci): audit build-gate env no longer clobbers the ds-shots preview…
kushagrasarathe Aug 27, 2026
2c05c68
fix(ds): DocSection content column owns its stack gap (L/16)
kushagrasarathe Aug 27, 2026
ba8d7f6
Merge origin/dev into feat/design-system (payment-network explorer, c…
kushagrasarathe Aug 27, 2026
068cd18
Merge pull request #2841 from peanutprotocol/chore/remove-offramp-mig…
jjramirezn Aug 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/content-publish-automerge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ jobs:

# Key off the `ci-success` check run, NOT `workflow_run.conclusion`.
# `ci-success` is the single check the "Protect Prod" ruleset gates
# on; the run conclusion also folds in advisory jobs (e2e). Gate on
# on; the run conclusion also folds in advisory jobs (ds-shots). Gate on
# exactly what the ruleset gates on.
#
# `Tests` runs on `pull_request` (and `push` for dev/main), so a
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/pr-assets-cleanup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: PR assets cleanup

# The ds-shots comment in tests.yml renders its before/after PNGs from a
# `pr-assets-<number>` branch, because GitHub markdown cannot show a workflow
# artifact. Delete that branch when the PR ends, or the branches pile up — 20+
# hand-made ones were still on the remote in August 2026.

on:
pull_request:
types: [closed]

permissions:
contents: write

jobs:
delete-assets-branch:
name: delete-assets-branch
runs-on: ubuntu-latest
steps:
- name: Delete pr-assets-<number>
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
PR: ${{ github.event.pull_request.number }}
run: |
# Most PRs never make this branch — a docs PR skips ds-shots,
# and a fork PR cannot push. A missing branch is normal, so a
# 422 from the delete is not a failure.
gh api -X DELETE "repos/$REPO/git/refs/heads/pr-assets-$PR" \
&& echo "deleted pr-assets-$PR" \
|| echo "no pr-assets-$PR branch to delete"
325 changes: 294 additions & 31 deletions .github/workflows/tests.yml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ next-env.d.ts

# local files
playground/
# ...except the design-system doc-site Playground route, which is a real tracked route
!src/app/(mobile-ui)/dev/ds/playground/

# yarn and npm lockfiles
package-lock.json
Expand Down Expand Up @@ -93,6 +95,7 @@ e2e/__results__/
e2e/__baseline__/
e2e/__report__/
e2e/__snapshots__/
e2e/__shots__/
e2e/.auth/

# native app signing
Expand Down
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,9 @@ src/components/TransactionDetails/__tests__/fixtures/render-baseline.json
src/types/api.openapi.json
src/types/api.generated.ts

# generated from globals.css @theme via `pnpm gen:ds-tokens` — stable
# JSON.stringify formatting so a prettier bump can't flip the drift gate.
src/app/(mobile-ui)/dev/ds/foundations/tokens.generated.ts

# static single-file quiz (hand-tuned inline CSS/JS; not prettier-formatted)
public/onboarding-quiz/
14 changes: 10 additions & 4 deletions docs/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,14 @@ Full testing strategy (pyramid, CI/CD, post-release monitoring) lives in the mon
## Quick commands (this repo)

```bash
npm test # Jest unit + component (710+ tests, ~25s)
npx playwright test --project=mobile # E2E smoke (49 tests, ~8 min)
npx tsx e2e/scripts/generate-report.ts --save-baseline # Visual regression baseline
npx tsx e2e/scripts/generate-report.ts # Compare against baseline
npm test # Jest unit + component (~30s)
NEXT_PUBLIC_VERCEL_ENV=preview npm run build # both Playwright configs need this build
npm run test:e2e:regression # behaviour specs in e2e/flows (~1 min)
npm run test:visual:capture # one PNG per fixture per width
npm run test:visual:diff <before> <after> # compare two capture directories
```

Browse the fixtures at `/dev/fixtures`, or open one with `<route>?__fixture=<name>`.

Anything that needs a real backend, provider or chain goes to the Nutcracker
harness in mono (`engineering/qa`), not to Playwright here.
149 changes: 0 additions & 149 deletions e2e/flows/add-money.spec.ts

This file was deleted.

100 changes: 0 additions & 100 deletions e2e/flows/claim-flow.spec.ts

This file was deleted.

42 changes: 0 additions & 42 deletions e2e/flows/claim.spec.ts

This file was deleted.

Loading
Loading