feat(commerce): add Play Kilo Pass presentation flag - #5581
Open
iscekic wants to merge 3 commits into
Open
Conversation
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (5 files)
Previous Review Summary (commit fe6bb56)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit fe6bb56)Status: 1 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (4 files)
Reviewed by grok-4.6 · Input: 164.3K · Output: 7.7K · Cached: 86.5K Review guidance: REVIEW.md from base branch |
This was referenced Aug 27, 2026
pandemicsyn
approved these changes
Aug 27, 2026
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
No new behavior — this change only prepares the Google Play purchase path for Kilo Pass on Android; a later change turns it on. Every user keeps the purchase options they see today.
The
ResolvePurchasePresentationInputcontract gains an optionalsupportsNativePlayKiloPassfield. A caller that sends true for an Android Play Kilo Pass now receivesnative_iap, andisNativeIapMutationAllowedreturns true for the same combination. Old Android callers omit the field or send false and keep the current unavailable or Stripe web-management result, so no stored input breaks.Files
packages/app-shared/src/commerce/purchase-presentation.ts— addssupportsNativePlayKiloPasstoResolvePurchasePresentationInput; adds a native_iap branch for Android Play Kilo Pass when the flag is true; extendsisNativeIapMutationAllowedto admit Android Play Kilo Pass.The web
PurchasePresentationInputgains the same optional field, andbuildPurchasePresentationforwards it to the shared resolver. A future Android client that calls the web path can signal native Play IAP support without changing the web return shape. Current web callers are unchanged because the field is optional and unset.Files
apps/web/src/lib/kilo-pass/purchase-presentation.ts— addssupportsNativePlayKiloPasstoPurchasePresentationInputand passes it through inbuildPurchasePresentation.Tests: 2 test files updated.
Generated: none.
Verification
E2E: bot-e2e — runtime verification runs once on the tip PR (level 6) after all levels land. This level is reviewed on its own diff.
Visual Changes
Visual Changes: N/A
Reviewer Notes
Level 1 changes no runtime behavior on its own; the flag is inert until level 6 wires the Android client to send true.
Stacked PRs — merge bottom to top. Each level shows only its own diff.
Runtime verification (E2E, user advocacy, simplify) runs on the tip PR over every level.
Every level keeps its own checks, its own bot review, and its own threads; each one is answered on its own PR.
Each level is its own deliverable: it builds and passes its own checks alone.
A finding on a level is repaired on that level, then carried upward with stack.sh forward.
android-iap-e895— feat(commerce): add Play Kilo Pass presentation flag #5581 ← this PRandroid-iap-e895-s2— feat(kilo-pass): add Google Play publisher SDK #5582android-iap-e895-s3— feat(kilo-pass): add Google Play purchase verifier #5586android-iap-e895-s4— feat(kilo-pass): handle Play real-time notifications #5598android-iap-e895-s5— feat(kilo-pass): add completePlayPurchase mutation #5608android-iap-e895-s6— feat(mobile): offer Google Play Kilo Pass purchase #5618 (tip)