ntfy Android app fork for CentralCloud oncall push notifications
Adds OpsPushWorker, a WorkManager-based native push client that connects to the centralcloud-ops push endpoints (SSE stream + messages catch-up) instead of relying solely on FCM/ntfy. ## New module - OpsPushWorker — polls /api/push/:topic/messages for catch-up, then opens an SSE stream on /api/push/:topic/stream. Messages are normalized into the existing ntfy Message shape so all existing notification plumbing (channels, DND bypass, actions) works unchanged. ## Changes to existing modules - Application.kt: calls SmsRelayInit.start() on cold boot - RemoteConfigFetcher: parses native_push block from /api/android/config response and schedules/cancels the worker - SmsRelayInit: restarts the worker on cold boot if enabled - SmsRelayPreferences: adds native_push_* persisted config keys Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .agents | ||
| .github | ||
| app | ||
| fastlane/metadata/android | ||
| gradle/wrapper | ||
| .envrc | ||
| .gitignore | ||
| AGENTS.md | ||
| build.gradle | ||
| flake.lock | ||
| flake.nix | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle | ||
| TESTING.md | ||
ntfy Android App
This is the Android app for ntfy (ntfy.sh). You can find the app in F-Droid or the Play Store, or as .apk files on the GitHub releases page.
If you're downloading the APKs from GitHub, they are signed with a certificate with the following SHA-256 fingerprint: 6e145d7ae685eff75468e5067e03a6c3645453343e4e181dac8b6b17ff67489d. You can also query the DNS TXT records for ntfy.sh to find this fingerprint.
Build
For up-to-date building instructions, please see the official docs.
Translations
We're using Weblate to translate the ntfy Android app. We'd love your participation.
License
Made with ❤️ by Philipp C. Heckel, distributed under the Apache License 2.0.
Thank you to these fantastic resources:
- RecyclerViewKotlin (Apache 2.0)
- Just another Hacker News Android client (MIT)
- Android Room with a View (Apache 2.0)
- Firebase Messaging Example (Apache 2.0)
- Designing a logo with Inkscape
- Foreground service
- github/gemoji (MIT) for as data source for an up-to-date emoji.json file
- emoji-java (MIT) has been stripped and inlined to use the emoji.json file