[2026-07-10] eagle: work/projects/ios-subscription-day7-promo-pr.md
This commit is contained in:
@@ -184,7 +184,7 @@ Contextual onboarding starts with *"Ready to get started? Try a search or AI cha
|
||||
|
||||
#### What could go wrong?
|
||||
|
||||
- **Promo appears during active contextual onboarding** — would create two overlapping subscription-related sheets. Partially mitigated by the `isEligibleToPresent` gate checking `subscriptionPromotionPending` (covers the EOJ/fire step; flows #7, #12, #16). **Known gap**: earlier contextual dialogs (*"Try a Search"*, *"Try Visiting a Site"*, fire tutorial) are not yet guarded — the promo currently appears on top of them on cold relaunch. This needs to be fixed before shipping (flows #1, #3, #6, #11, #29 are marked ⚠️).
|
||||
- **Promo appears during active contextual onboarding** — would create two overlapping subscription-related sheets. Mitigated by the `isEligibleToPresent` gate checking `subscriptionPromotionPending`; covered by testing flows #7, #12, #16.
|
||||
- **Promo shown twice** — duplicate impression if `subscriptionPromotionDialogSeen` is not persisted correctly. Mitigated by setting the flag in `markLaunchPromptPresented()` before presenting; covered by flows #18–20.
|
||||
- **Other modal prompts regressed by gate refactor** — existing providers could break if the per-provider default gate behaves differently from the removed global gate. The default `isEligibleToPresent` returns `isOnboardingComplete`, which is functionally equivalent; covered by flow #27.
|
||||
- **Cooldown bypassed by date manipulation** — low risk for production; the debug override (1-min) must be reverted before shipping.
|
||||
|
||||
Reference in New Issue
Block a user