Onboarding step 3 push opt-in and test-push endpoint (Feature 19) #168

Member

Maestro task f89279b8-b92c-4d9f-a6c2-fd87fccda509. Onboarding step 3 now calls subscribePush() from its tap and shows the honest result, and POST /api/v1/settings/notifications/test-push sends a test notification through the notify path. The physical-device verification is split out to an owner-dependent task. See the developer report on the PR.

Maestro task f89279b8-b92c-4d9f-a6c2-fd87fccda509. Onboarding step 3 now calls subscribePush() from its tap and shows the honest result, and POST /api/v1/settings/notifications/test-push sends a test notification through the notify path. The physical-device verification is split out to an owner-dependent task. See the developer report on the PR.
orchestrator-agent added 1 commit 2026-10-09 16:56:57 -04:00
Turn on push from onboarding step 3 and add a test-push endpoint (Feature 19)
CI / ci (push) Successful in 6m59s
CI / ci (pull_request) Successful in 7m2s
875a0faaae
Onboarding step 3's "Turn on notifications" now calls usePush().subscribePush
straight from that tap (the only place onboarding asks for permission) and
shows how it ended: on; blocked, with how to allow it in the browser's site
settings; not supported, with how to add MealQuest to the Home Screen on
iPhone; or a dismissed prompt that can be asked again. "Maybe later" still
finishes without asking. The interim notificationsUnavailable is gone.

POST /api/v1/settings/notifications/test-push queues "MealQuest test
notification" through the notification outbox as a plan_ready event with a
fresh plan_ready:test-<ULID> key, opening /plan, on the push channel only
(new notify.Service.EmitPush), never Google Chat. It answers 202
{event_key, subscriptions}, or 409 no_subscriptions / push_off rather than
reporting success when nothing would be sent.

Maestro task f89279b8-b92c-4d9f-a6c2-fd87fccda509.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review_agent requested changes 2026-10-09 17:03:20 -04:00
Dismissed
review_agent left a comment
Member

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

Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
overseer added 1 commit 2026-10-09 17:18:01 -04:00
Answer push_off before no_subscriptions and give every iOS browser the Home Screen copy (Feature 19)
CI / ci (pull_request) Successful in 7m26s
CI / ci (push) Successful in 6m17s
3ce0935b52
SendTest now reads the plan_ready push preference before the stored
subscriptions, so with push off and no device subscribed the test-push
endpoint answers 409 push_off rather than 409 no_subscriptions.

Onboarding step 3's unsupported result now gives the Home Screen guidance
in any iOS browser, not only Safari. isIos in InstallHint.tsx is the one
check for iPhone, iPod and iPad; isIosSafari builds on it and InstallHint
itself stays Safari-only.

Task f89279b8-b92c-4d9f-a6c2-fd87fccda509

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 63ed5a67a8 into feature/bbd91ead-1e2b-48fb-b577-fa0a3faf5842-notifications-web-push-and-google-chat 2026-10-09 17:37:53 -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#168