Add PRD for iOS receiver app (Game Master Bell) - #45
Open
mnindrazaka wants to merge 1 commit into
Open
Conversation
PRD-v3 assumed every staff phone is Android, so a game master carrying an iPhone cannot receive calls at all. This adds docs/PRD-ios-receiver.md, specifying a native Swift/SwiftUI receiver at apps/receiver-ios subscribed to the same game-masters FCM topic, plus a nine-phase plan where each phase is one small reviewable PR. The design work is mostly in two places. First, iOS cannot use the data-only FCM message Android depends on — on iOS that becomes a silent background push, which is throttled, displays nothing, and is not delivered at all once the app is force-quit. So the API's message grows an apns block with a real alert payload, deliberately without a top-level notification block, which would otherwise make Android's system render the notification and bypass the custom-sound channel on every phone already in production. Second, distribution inverts: Android sideloads an APK for free but fights OEM battery managers, while iOS delivers reliably but requires a paid developer membership, TestFlight, and a rebuild every 90 days. Also records the platform ceiling honestly: nothing short of the Critical Alerts entitlement rings through the Ring/Silent switch, and that entitlement is unlikely to be granted for a cafe bell, so the plan ships on Time Sensitive notifications plus a runbook rule and treats approval as a payload-only upgrade if it ever arrives. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HU5Mt8Szu4LxdwPd9fkN8g
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces the product requirements document for a native iOS receiver app that extends the Game Master Bell system to support iPhone devices alongside the existing Android receiver.
Changes
New document:
docs/PRD-ios-receiver.md— comprehensive 600-line PRD covering:game-mastersFCM topic as Android, receiving alert payloads via APNsUpdated:
README.md— added pointer to the new iOS PRD and brief summary of the iOS receiver additionKey Design Points
apnsblock with alert payload, localization keys, custom sound, and time-sensitive interruption level. The existingdataandandroidblocks remain unchanged to avoid regressing Android receivers.maingreen and production working.Notes for Review
This is a planning document, not code. It supersedes exactly one line of PRD-v3 (the "No iOS receiver" non-goal) and leaves v3's architecture, API contract, and bell web app unchanged. The document is detailed enough to guide implementation but defers several decisions (iOS 15 vs. 16, Critical Alerts request, NSE for recent-calls parity) to the appropriate phase with clear rationale for each deferral.
https://claude.ai/code/session_01HU5Mt8Szu4LxdwPd9fkN8g