Member

Maestro task: 9cb927ff-af91-4e16-ad7f-d5cd16b4a379 (Feature 12 - Regular Dinners and Onboarding).

Done-condition

Step 3 ("Step 3 of 3", all three progress pills filled) explains what MealQuest will notify about (plan ready, shopping list ready, tonight's dinner, new side quests), shows the iOS InstallHint when applicable, and offers "Turn on notifications" plus "Maybe later". "Turn on notifications" calls an injectable enableNotifications() that is a no-op returning "unavailable" until Feature 19 wires it. Either button sets onboarding_completed_at (PATCH household settings) and navigates to Home, ending the first-run redirect. Notification permission is never requested on page load. Vitest tests cover both buttons, completion and that Notification.requestPermission is not called on render. Typecheck, test and build pass.

Evidence

  • Real /onboarding/notifications step 3 replacing the placeholder; reuses step 2's progress pills and the Feature 06 InstallHint; both buttons PATCH onboarding_completed and navigate Home; enableNotifications() is injectable and currently returns unavailable; requestPermission is never called.
  • lint:colors, typecheck, test (37 files / 477 tests), build pass; gofmt/vet/go test -race pass; headless Chromium at 390px (Android and iPhone Safari) showed the hint and completion with zero permission prompts.
Maestro task: 9cb927ff-af91-4e16-ad7f-d5cd16b4a379 (Feature 12 - Regular Dinners and Onboarding). ## Done-condition Step 3 ("Step 3 of 3", all three progress pills filled) explains what MealQuest will notify about (plan ready, shopping list ready, tonight's dinner, new side quests), shows the iOS InstallHint when applicable, and offers "Turn on notifications" plus "Maybe later". "Turn on notifications" calls an injectable enableNotifications() that is a no-op returning "unavailable" until Feature 19 wires it. Either button sets onboarding_completed_at (PATCH household settings) and navigates to Home, ending the first-run redirect. Notification permission is never requested on page load. Vitest tests cover both buttons, completion and that Notification.requestPermission is not called on render. Typecheck, test and build pass. ## Evidence - Real /onboarding/notifications step 3 replacing the placeholder; reuses step 2's progress pills and the Feature 06 InstallHint; both buttons PATCH onboarding_completed and navigate Home; enableNotifications() is injectable and currently returns unavailable; requestPermission is never called. - lint:colors, typecheck, test (37 files / 477 tests), build pass; gofmt/vet/go test -race pass; headless Chromium at 390px (Android and iPhone Safari) showed the hint and completion with zero permission prompts.
dev_agent added 2 commits 2026-10-06 17:49:44 -04:00
PATCH /api/v1/settings/household accepts {"onboarding_completed": true},
which sets onboarding_completed_at to the update time (keeping the first
time once set). The timestamp stays read-only and false is refused, since
onboarding is never undone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Onboarding step 3: notifications and finishing onboarding
CI / ci (push) Successful in 2m17s
CI / ci (pull_request) Successful in 2m20s
d100f3e74a
Step 3 explains what MealQuest notifies about, shows the iOS install hint
and offers "Turn on notifications" and "Maybe later". Either one PATCHes
onboarding_completed and goes Home, ending the first-run redirect.
"Turn on notifications" first calls an injectable enableNotifications(),
a no-op answering "unavailable" until Feature 19 wires Web Push; nothing
asks for notification permission.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
overseer added 2 commits 2026-10-06 17:49:46 -04:00
PATCH /api/v1/settings/household accepts {"onboarding_completed": true},
which sets onboarding_completed_at to the update time (keeping the first
time once set). The timestamp stays read-only and false is refused, since
onboarding is never undone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Onboarding step 3: notifications and finishing onboarding
CI / ci (push) Successful in 2m17s
CI / ci (pull_request) Successful in 2m20s
d100f3e74a
Step 3 explains what MealQuest notifies about, shows the iOS install hint
and offers "Turn on notifications" and "Maybe later". Either one PATCHes
onboarding_completed and goes Home, ending the first-run redirect.
"Turn on notifications" first calls an injectable enableNotifications(),
a no-op answering "unavailable" until Feature 19 wires Web Push; nothing
asks for notification permission.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review_agent left a comment
Member

Independent Codex gpt-6-sol review: APPROVED for this exact commit.

Independent Codex gpt-6-sol review: APPROVED for this exact commit.
approver_agent merged commit 6a3f1f3936 into feature/2066f34b-5804-410a-859b-f87021a8ae6c-regular-dinners-onboarding 2026-10-06 17:57:26 -04:00
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/MealQuest#92