Skip to content

fix(e2e): dismiss import prompt in prod-smoke setup - #404

Merged
thomasluizon merged 1 commit into
mainfrom
fix/smoke-dismiss-import-prompt
Jul 6, 2026
Merged

fix(e2e): dismiss import prompt in prod-smoke setup#404
thomasluizon merged 1 commit into
mainfrom
fix/smoke-dismiss-import-prompt

Conversation

@thomasluizon

Copy link
Copy Markdown
Owner

Summary

Prod Smoke went red immediately after #400 (onboarding-before-auth) merged. Root cause: #396 added a one-time post-login "Import from another app?" overlay gated on hasCompletedOnboarding && !hasSeenImportPrompt. The smoke global.setup marks the account onboarded but never sets hasSeenImportPrompt, so the fixed inset-0 z-[9999] overlay rendered over Today and its "Not now" button intercepted the create-habit FAB click — the suite timed out on create-habit.spec.ts.

Fix mirrors the existing onboarding-complete step: PUT /api/profile/import-prompt/dismiss in setup so the smoke account starts with the prompt already dismissed. Same class of fix as the earlier orbit_trial_expired_seen seed for the trial modal.

Not a product regression — the prompt behaves correctly for real users; it just needs suppressing in the smoke harness like the trial modal does.

🤖 Generated with Claude Code

The onboarding-before-auth change (#396) added a one-time post-login
"Import from another app?" overlay, gated on
`hasCompletedOnboarding && !hasSeenImportPrompt`. The smoke setup marks the
account onboarded but never set hasSeenImportPrompt, so the z-[9999] overlay
rendered over Today and intercepted the create-habit FAB click, timing the
suite out. Dismiss it in setup (like onboarding) so the account starts clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
orbit-ui-mobile-web Ignored Ignored Jul 6, 2026 6:06pm

Request Review

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

Scope: PR #404fix(e2e): dismiss import prompt in smoke setup so it can't block Today
Recommendation: APPROVE

Severity Count
Critical (incl. ⚠️ old-client breaks) 0
High 0
Medium 0
Low / Info 0

Diff

3 lines added to apps/web/e2e/global.setup.ts — adds a PUT /api/profile/import-prompt/dismiss call right after the existing PUT /api/profile/onboarding call, mirroring the same pattern.

What was verified

  • Endpoint chain traced end-to-end: packages/shared/src/api/endpoints.ts (importPromptDismiss: '/api/profile/import-prompt/dismiss') → apps/web/app/actions/onboarding.ts (dismissImportPrompt, PUT via serverAuthFetch) → BFF catch-all proxy (apps/web/app/api/[...path]/route.ts) already forwards PUT. The literal path added in setup matches exactly.
  • Ordering is correct: runs after the smoke-account reset (which would otherwise clear the flag) and before storageState is persisted.
  • No apps/web/e2e/*.spec.ts exercises the import-prompt flow, so suppressing it in setup costs no test coverage.
  • Root cause framed correctly — the overlay is intentional real-user behavior; only the smoke fixture was incomplete, same class as the existing orbit_trial_expired_seen seed two lines below.
  • Cross-cutting gates: no apps/mobile mirror needed (sanctioned web-only smoke exception per root CLAUDE.md), no user-facing strings, no shared-type/DTO changes, no orbit-api changes, no backward-compat concerns.

Not verifiable in this job

  • Cross-repo contract check (orbit-api not checked out in this CI job) — not applicable here since no shared/DTO changes are in this diff.
  • Lint/type-check/tests — covered by required Build/Unit Tests/SonarCloud checks per this workflow's CI adaptation; skipped here by design.

No follow-up needed; safe to merge as-is.

@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@thomasluizon
thomasluizon merged commit e64fc31 into main Jul 6, 2026
10 checks passed
@thomasluizon
thomasluizon deleted the fix/smoke-dismiss-import-prompt branch July 6, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant