aboutsummaryrefslogtreecommitdiffstats
path: root/android/app/src/fcm/java
Commit message (Collapse)AuthorAgeFilesLines
* Coinos Beta (io.coinos.beta, 1.14-beta) is published for a trial at ↵Adam Soltys10 hours1-1/+5
| | | | | | | https://v3.coinos.io/coinos-beta.apk — the wallet in its own WebView with Firebase push, installed beside the current app. Built with the coinos-v3 Firebase project's config (android/app/google-services.json, fetched with the project's service account through the Firebase Management API; gitignored) and signed with the usual key; nwcpush sends fcm: endpoints with the same service account (on cs in the nwcpush state, config fcm.serviceAccount). Verified on a Pixel 9: the token reaches the page as its push endpoint, and a data message sent through FCM v1 woke the off-screen wallet ("wake: job started", the service worker's NWC responder up) and raised its notification. Not on Zapstore. FcmService no longer resets the "endpoint handed to the page" flag when the first token arrives a second time through onNewToken Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VMan6Ts5Tktega8VbLg31q
* A third Android build, fcm (io.coinos.beta, "Coinos Beta"): the wallet in ↵Adam Soltys10 hours3-0/+95
its own WebView, as the webview build, with Firebase Cloud Messaging for push on phones with Google Play Services — no distributor app to install. A user on the TWA APK found launching slow next to Minibits (2026-11-05); measured on a Pixel 9, a WebView paints ~0.7 s sooner than a cold Chrome. This build installs beside the TWA for a side-by-side trial before deciding whether it replaces it. Fcm asks for the token and stores "fcm:<token>" as the push endpoint, which reaches the page down the UnifiedPush road (?up= on the next launch, or written straight into the page's localStorage once it has loaded, since the token arrives after the first load starts); nwcpush (coinosv3-server 0c50417) sends an fcm: endpoint through Firebase. FcmService hands a message's "body" to the same handler UnifiedPush messages use (PushReceiver.onPush: wake the wallet off-screen, notify unless it answered a silent request). Firebase is set up in code (CoinosApp → Fcm.init) from values build.gradle reads out of app/google-services.json (gitignored) — without it the build still builds and falls back to UnifiedPush. The webview and fdroid builds get a stub Fcm (src/nofcm) and carry no Google code; the notification permission is asked when Firebase or a distributor can deliver; CoinosHost.env reports app "fcm" Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VMan6Ts5Tktega8VbLg31q