fix(native): deferred deep-link hardening + un-prune its dev page (for v1.0.47) - #2598
Merged
Merged
Conversation
- inviteCode restored as SESSION cookie matching InvitesPage (a 30-day cookie routes /setup past Landing, the only Log In screen — the #2346 lockout class); campaignTag stays 30d, it no longer gates the step - dest must map through deepLinkToNativePath like openDeepLink — an unmappable dest is dropped, not pushed verbatim into the static export - android: a transient null referrer read no longer burns the one-shot; the read is prompt-free and the referrer lives ~90 days, so next launch retries. definitive reads (incl. play's organic utm) consume. - iOS: consume BEFORE the prompt-raising read — kill-during-prompt can never re-prompt on later launches - late-resolving restore (prompt left up, slow referrer service) no longer navigates: 10s window from launch, cookies/locale still apply - stripLocalePrefix handles /pt-br?x=1 (query split before segmenting) - invite normalization now calls toInviteCode instead of duplicating it
pruneExportedAssets stripped all of /dev as web-only dead weight — true until dev/deferred became the deferred-deep-link landing target (dest=/dev/deferred, and AASA paths:["*"] routes it into the app on iOS). On 1.0.46 that navigation hits a missing route, chunk-error recovery reloads in a loop, and the user gets bounced to setup. Exempt the one native-reachable dev page (a few KB); everything else still prunes.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
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:
Comment |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Two fixes for the deferred deep linking shipped in 1.0.43+ (
adb200e65cherry-picked the pre-review version of peanut-ui#2560):9c7bd7ebe— the review hardening from feat(native): deferred deep linking through the store install (TASK-20772) #2560 (ffc9e79e8), clean cherry-pick. The shipped builds carry the pre-review semantics, including the two that broke Kush's device test and one field-facing blocker:toInviteCodereuse3c05197ef— stop pruningdev/deferredfrom the native export.pruneExportedAssetsstrips all of/dev; that page is the deferred-link landing target (dest=/dev/deferred) and AASApaths:["*"]routes it into the app on iOS — on 1.0.46 the navigation hits a missing route and chunk-error recovery reload-loops the user into a setup bounce (reproduced). Everything else still prunes; verified against a real export (out/dev/= exactlydeferred/).Risks
QA
npm test2345 ✅ · typecheck ✅ · native export built from this branch, prune verifieddest=%2Fhistoryfor store builds if you want a user-facing landing, ordest=%2Fdev%2Fdeferrednow works too@innolope-dev this touches your lane — the cherry-pick is verbatim
ffc9e79e8from main plus the prune exemption; nothing else. Suggest this rides the next tag (v1.0.47). Your telemetry PR #2587 would rebase cleanly on top of this once retargeted.Screenshots: N/A (no visible change)