aboutsummaryrefslogtreecommitdiffstats
path: root/android/app/src/webview/java
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-12 09:56:33 -0700
committerAdam Soltys <[email protected]>2026-09-12 09:56:33 -0700
commitcab447766734cb99821c36988ebc8d27a0bce228 (patch)
tree821b3670984b075261662463d99a721090de3847 /android/app/src/webview/java
parent1ca77a5999bc546f92ec7189acfba1dc8088a2a7 (diff)
downloadcoinosv3-cab447766734cb99821c36988ebc8d27a0bce228.tar.gz
coinosv3-cab447766734cb99821c36988ebc8d27a0bce228.zip
Tell a phone with no push service what's actually wrong.
"Registration failed - push service error" is Chrome's own wording, and it tells nobody anything. The cause is that Chromium routes web push through Firebase: on GrapheneOS — or any Android without Google Play Services — there is no push service to register with, so the app cannot be woken while it's closed, and no amount of tapping the toggle will change that. Both places that ask for push (the chat's offer and the NWC "answer while closed" toggle) now recognise that specific failure and say: this browser has no push service; on Android that's usually a phone without Play Services; Firefox brings its own and works there; and zaps are still answered whenever coinos is open. The last part matters most — the feature isn't broken, it's narrower than they thought. The failure is remembered so the app stops retrying it on every launch, and an explicit tap on the toggle always clears that and tries again, because a phone that changed browsers deserves another go. tools/push-unavailable-test.js runs a browser whose subscribe() fails exactly as Chrome's does and reads back what the user is told. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_019mrt228Upn9nNCwGixzSLx
Diffstat (limited to 'android/app/src/webview/java')
0 files changed, 0 insertions, 0 deletions