feat(app): launch film behind sign-in and Data & Privacy; drop the Get started page
Ā
YI
12m ago+934+934+012345678901234567890123456789-452-452-012345678901234567890123456789
Split out of #21711 so that PR stays about Home.
Summary
Sign-in and Data & Privacy are the first two screens every new reader sees, before any onboarding arm (so the same for control, reid and yinka).
- Launch film behind sign-in and Data & Privacy.
OnboardingHeroFilmplays the Omi launch film full-screen, muted and looping, under white type (it holds its first frame under Reduce Motion). It replaces the photo background on those two steps only; every other onboarding step keeps today's background.OnboardingHero.videowas a debug-only design switch; it is now the look for everyone. - New asset:
app/assets/videos/onboarding_launch_loop.mp4, 3.6 MB (720Ć1284, 20 s). This adds 3.6 MB to the app download. - Text stays readable over the film. The film has notification cards burned in near the bottom, right where the consent text sits. The bottom shade is now near-solid there (97% black from 72% of the screen height), so the cards don't show through.
- Data & Privacy: a short summary, the AI providers named (Deepgram & OpenAI), Agree & Continue, and Use a Different Account (back to sign-in without agreeing). Use a Different Account is a plain
TextButtonin the film's palette:OmiButton's tertiary variant paints its label in the app theme's text colour, which is near-black in light mode and disappeared on the film. - The old "Get started" page is removed. Signed-out readers open on sign-in (
MobileAppāOnboardingWrapper). Sign-in now firesonboardingWelcomeShown, which the Get started page used to fire, so the onboarding funnel still has its first step.onboardingGetStartedTappedis no longer fired. - New strings
consentShortMessageandconsentAiProvidersin all 49 locales (added withscripts/l10n.py).
Screenshots
| Sign-in | Data & Privacy |
|---|---|
![]() | ![]() |
001: iOS simulator, local test build (one local sign-in button where store builds show Apple and Google). 002: the real Data & Privacy widget rendered at iPhone size in a widget test over a frame of the film where a notification card sits behind the text (a simulator build did not fit on this machine's disk).
Testing
flutter analyzeon the touched files: no issues.- New
test/widgets/ai_consent_use_different_account_test.dart: Data & Privacy shows Agree & Continue, and Use a Different Account goes back without agreeing. - Onboarding, wrapper, sign-in and spine tests pass (
test/widgets/onboarding_*,session_expired_reauthentication,semantics_baseline,first_capture,device_onboarding_*,speech_profile_onboarding,test/spine/,test/pages/onboarding,test/unit/onboarding_*): 259 passed. python3 scripts/l10n.py check: ok.make preflight: 27 checks pass.- Not yet run on a device from this branch.
Product invariants affected
none
Failure-Class: none
š¤ Generated with Claude Code

