[2026-07-10] eagle: work/projects/ios-subscription-day7-promo-pr.md

This commit is contained in:
Alexey Martemyanov
2026-07-10 11:41:20 +06:00
parent e0bd307063
commit e7972aa095
@@ -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 #1820.
- **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.