-
Notifications
You must be signed in to change notification settings - Fork 14
Prod Release Sprint 157 — mobile app fixes · app-locale sync · peanut-shaper badge (2026-08-24) #2804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Prod Release Sprint 157 — mobile app fixes · app-locale sync · peanut-shaper badge (2026-08-24) #2804
Changes from 74 commits
Commits
Show all changes
138 commits
Select commit
Hold shift + click to select a range
34e3c2c
feat(support): surface live verification state to Crisp agents
innolope-dev 216dab7
fix(sentry): match ignore patterns against every exception in a chain
innolope-dev c45f765
chore(native): retire the transport-migration probes
innolope-dev dac4777
fix(sentry): treat PasskeyError as already reported
innolope-dev 8f5a9f5
fix(passkey): stop reporting a cancelled passkey prompt as an error
innolope-dev 69c103c
fix(support): don't report an absent capability read-model as needs-i…
innolope-dev ce103db
Merge origin/dev: reconcile with the critical-flow exemption
innolope-dev b78b3f4
fix(native): accept Bridge ToS via the system browser on android
innolope-dev f05f0b1
fix: skip Browser.open when the effect was cleaned up mid-registration
innolope-dev 2d27be7
fix(request): unblur the QR code as soon as a positive amount is entered
claude 29b3b17
feat(pull-to-refresh): make a native refresh visibly land
claude 6b30067
fix(profile): make back work after the exchange-rate widget CTA
claude 0829ae8
chore: back-merge main into dev (2026-08-20, release + hotfixes)
Hugo0 3b7cc18
Merge branch 'claude/pull-refresh-visual-feedback-djj41t' into mobile…
claude 134a221
feat(rewards): iOS-only cashback copy, referral surfaces restored
innolope-dev c242eaa
Merge pull request #2772 from peanutprotocol/chore/backmerge-main-int…
Hugo0 e9064bd
fix(rewards): drop useEffect import the invites page no longer uses
innolope-dev eade15f
Merge pull request #2773 from peanutprotocol/feat/cashback-ios-copy
innolope-dev f20e053
fix(mobile): nav active state, withdraw re-suspend, receipt rule, can…
claude d260a29
Merge branch 'claude/profile-exchange-rates-back-button-d3lnpy' into …
claude fa4b486
fix(native): paint the status-bar strip in the app background, not black
innolope-dev fbfca52
Merge pull request #2774 from peanutprotocol/mobile-app-fixes
innolope-dev 8016c68
Merge pull request #2777 from peanutprotocol/claude/send-claim-verifi…
innolope-dev b846119
feat(badges): PEANUT_SHAPER asset + share line
abalinda 0609f6c
Merge pull request #2752 from peanutprotocol/fix/native-bridge-tos-if…
abalinda 20029ef
Merge pull request #2784 from peanutprotocol/badge/peanut-shaper
Hugo0 59e8736
feat: mirror the user's app locale to the BE for localized emails
abalinda 356e1dc
fix: catch a rejected updateUserById so locale sync stays best-effort
abalinda 78003c6
Merge pull request #2785 from peanutprotocol/feat/sync-app-locale
abalinda 462a2dc
perf(landing): keep the wallet provider tree off the marketing site
innolope-dev d04557a
perf(landing): keep preloading the decorative fonts
innolope-dev 6d7636c
fix(landing): position the hero mascot before paint, not on image load
innolope-dev 2df653c
Revert the hero-mascot layout-effect fix; it did not work
innolope-dev 0569071
perf(landing): drop the chain registry, framer-motion's rAF loop and …
innolope-dev 6c8191b
Revert the lazy Sentry SDK split; it cost more bytes than it saved
innolope-dev 19ba687
perf(sentry): tree-shake the unused Replay code out of the client SDK
innolope-dev bcc0490
Revert "perf(sentry): tree-shake the unused Replay code out of the cl…
innolope-dev ff50eaf
perf(landing): load Sentry only where it's wanted, drop framer-motion…
innolope-dev b1c98e7
fix(history): respect hidden-balance preference on Activity
innolope-dev 7b2ccc4
perf(i18n): ship the marketing site only the copy it renders
innolope-dev 32bf6d8
test(history): name mocked TransactionCard for react/display-name
innolope-dev d7a1c4b
Merge pull request #2792 from peanutprotocol/fix/history-respect-hidd…
innolope-dev 97da923
fix: block account deletion while the wallet still holds funds
innolope-dev a187dc4
Merge pull request #2739 from peanutprotocol/fix/passkey-cancel-unhan…
innolope-dev ee70497
fix(capgo): give every OTA upload a unique bundle version
innolope-dev 0c64648
perf(landing): keep the chain/token catalogs and app utils off the ma…
innolope-dev b3958ed
test: cover the balance refusal in the requestDeletion service test
innolope-dev 41407fc
refactor: drive the delete modal from one descriptor per step
innolope-dev d60d726
Merge pull request #2795 from peanutprotocol/fix/capgo-ota-bundle-ver…
innolope-dev 78ee69c
perf(sentry): stop bundling the SDK into every page for a native-only…
innolope-dev d2560f3
perf(landing): stop prefetching app routes from the marketing page
innolope-dev 676b67d
perf(landing): render the word strips on the server with a CSS marquee
innolope-dev dfb7af4
perf(landing): stop mounting the app's state layer on the marketing site
innolope-dev 8a71b6b
perf(landing): build the FAQ on the server instead of in the client c…
innolope-dev 496b048
Revert the CSS marquee; it bought bytes, not score
innolope-dev 6eaa47b
Merge remote-tracking branch 'origin/main' into chore/backmerge-main-…
jjramirezn f5dfbc5
Merge pull request #2803 from peanutprotocol/chore/backmerge-main-int…
jjramirezn e29f650
fix(lint): drop the type imports left behind by the catalog split
innolope-dev db48da7
ci: require human-authored commits on every PR
Hugo0 41e5539
ci: grant human-authors job pull-requests read (403 without it)
Hugo0 f49807c
ci(release): couple native releases to the production OTA lane
innolope-dev 412973b
Merge origin/dev into perf/lp-marketing-bundle
innolope-dev 8a54e2d
Merge pull request #2737 from peanutprotocol/chore/drop-native-migrat…
abalinda efe071b
fix(ens): match the peanut domain on a label boundary, after the root…
innolope-dev 82b1319
merge dev: keep native camera-permission + configure wrapper, re-appl…
abalinda ba5cf65
Merge origin/dev again; drop native-canary as dev did
innolope-dev 72e49b8
Merge pull request #2736 from peanutprotocol/feat/crisp-support-verif…
abalinda 9d47eea
Merge pull request #2806 from peanutprotocol/ci/couple-native-ota-lanes
abalinda 6d0aad4
Merge pull request #2791 from peanutprotocol/perf/lp-marketing-bundle
innolope-dev 5fca94a
ci: derive the author allowlist from repo collaborators (no list to m…
Hugo0 a057216
ci: check author write-access per user (collaborator listing is parti…
Hugo0 ec6cfbf
Merge pull request #2805 from peanutprotocol/ci/human-authors-only
Hugo0 3801dce
fix(sentry): give stackless console events a stack and stop issue exp…
innolope-dev 6aa258a
Merge pull request #2810 from peanutprotocol/fix/sentry-stackless-exc…
innolope-dev cc7be9c
Merge origin/dev: keep both third-party noise handlers
innolope-dev c17f7eb
fix(sentry): rescue actionable Capgo failures before the generic patt…
innolope-dev 1681ad1
Merge pull request #2735 from peanutprotocol/fix/sentry-chained-error…
innolope-dev 9278729
fix(send): stop over-promising account-less claims and surface the $5…
innolope-dev 0574c9b
review: say crypto wallet, not wallet, in the link-card claim caveat
innolope-dev bfaf8ea
feat(status): public status page at /status
innolope-dev 74bc46e
ci: stop double-running Tests on every PR commit
innolope-dev 9b5512d
feat(status): say what the user lost, not what the provider said
innolope-dev c7b6ff0
fix(status): move Status into the site directory, dedupe the pricing …
innolope-dev 6f783ad
Merge pull request #2817 from peanutprotocol/ci/limit-push-trigger
Hugo0 24f8c58
review: drop bank from the no-account promise, and single-source the …
innolope-dev 1935708
feat(status): read the staging feed on preview deployments
innolope-dev a0ff6d4
feat(status): Peanut-style header, and fix a name collision in feed.test
innolope-dev 1f2e4f2
feat(status): shared Hero, weighted donut, and hide the summary card
innolope-dev 9b048b1
feat(status): full title, OG and hreflang metadata
innolope-dev 6e3d817
feat(status): always read the production API
innolope-dev 6a34851
Merge pull request #2815 from peanutprotocol/feat/status-page
innolope-dev e03ae55
fix(startup): survive a null or throwing localStorage
innolope-dev 8cdb561
fix(qr-scanner): recover the camera when the app returns to foreground
innolope-dev 0116296
Merge pull request #2822 from peanutprotocol/fix/task-21835-startup-s…
innolope-dev 402ca25
fix(qr-scanner): rework resume recovery after review
innolope-dev ed2e6bd
fix(startup): keep a signal when locale resolution falls back
innolope-dev b722b8c
Merge pull request #2821 from peanutprotocol/fix/task-21862-qr-camera…
abalinda b0657f2
ci: resolve release versions as <major>.<build>.<ota> instead of typi…
innolope-dev 094e2de
Merge pull request #2824 from peanutprotocol/fix/startup-storage-revi…
innolope-dev 2487dce
ci: hold one mutex across a production release
innolope-dev 0566de6
fix(kyc): launch Manteca RFIs via start-action instead of the generic…
innolope-dev 2ace3fc
fix(kyc): pass nextActions to deriveProviderRejection so legacy respo…
innolope-dev 7a087cd
fix(kyc): refresh an RFI token through start-action, not POST /users/…
innolope-dev 46e0a2f
review(coderabbit): shallow-clone detection, idempotent uploads, doc …
innolope-dev d96b6d2
feat(native): make the deferred-link match rate measurable
innolope-dev c400222
perf(capgo): stop logging transient update failures at error level
innolope-dev 1b6326a
review: reattach the one-shot restore doc to its function
innolope-dev 4e3c927
review: escalate persistent OTA failures after 3 consecutive launches
innolope-dev edd3aef
Merge pull request #2812 from peanutprotocol/fix/task-21724-send-copy…
innolope-dev e4867a0
feat(native): count hand-off creation at the store bounce, giving the…
innolope-dev 1c9f298
fix(native): route every link entry and exit through a path the app c…
innolope-dev 86043c6
chore(types): drop the deleted /manteca/initiate-onboarding route fro…
innolope-dev d41834e
ci: stop re-judging authorship of commits already merged to main/dev
innolope-dev 34fb99e
review: close-then-navigate with a bounded wait, RootRedirect dedupe,…
innolope-dev 074d493
Merge pull request #2839 from peanutprotocol/ci/human-authors-landed-…
Hugo0 d862e0c
fix(native): stamp the launch url before the already-navigated check
innolope-dev 06d5eaa
Merge pull request #2838 from peanutprotocol/fix/native-links-routing
innolope-dev 9393040
fix(fx): stop the add-money and withdraw screens freezing on a rate f…
innolope-dev 630a3a6
fix(i18n): regenerate the marketing catalogs for the moved rateUnavai…
innolope-dev 233fbd5
fix(fx): keep the rate retry reachable in every blocked state
innolope-dev 779b598
Merge pull request #2831 from peanutprotocol/feat/deferred-link-telem…
innolope-dev 5c04c5e
Merge pull request #2825 from peanutprotocol/ci/version-scheme
innolope-dev 9177c38
Merge pull request #2794 from peanutprotocol/fix/block-delete-with-ba…
innolope-dev 6659763
Merge pull request #2843 from peanutprotocol/fix/fx-rate-failure-free…
innolope-dev 6902e35
Merge pull request #2832 from peanutprotocol/perf/capgo-transient-log…
innolope-dev cefb535
Merge pull request #2827 from peanutprotocol/fix/kyc-additional-docs-…
innolope-dev c245291
fix(native): stop the Android splash handoff crashing on a resumed la…
innolope-dev cf2343e
fix(claim): stop rendering a failed optimistic claim as a success
innolope-dev ebe2b0d
review: register the resume listener before reading app state
innolope-dev 1d780b3
i18n(limits): stage copy for the Manteca cap-nudge and its under-revi…
innolope-dev c23b1e4
fix(claim): hold the optimistic claim in processing until it is confi…
innolope-dev 3f97056
test: make the listener-cleanup double return a promise
innolope-dev b63692f
i18n(limits): add the es-AR voseo override for the cap-nudge prompt
innolope-dev 04a4f1b
copy(i18n): use 'Recibir' for the Spanish request action
jjramirezn c16fbe9
Merge pull request #2857 from peanutprotocol/copy/es-request-recibir
jjramirezn 09f8d68
Merge pull request #2852 from peanutprotocol/fix/manteca-cap-nudge-un…
innolope-dev cd5dafa
Merge pull request #2848 from peanutprotocol/fix/android-splash-resum…
innolope-dev 0800132
Merge pull request #2850 from peanutprotocol/fix/task-21724-claim-pol…
innolope-dev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.