Releases: d33mobile/notification-http
Releases · d33mobile/notification-http
Release list
Webhook fork v0.2 (debug APK)
Bug-fix release prompted by real-device testing of v0.1.
Changes since v0.1
- Skip-ongoing now also catches
FLAG_FOREGROUND_SERVICE. v0.1 only checkedFLAG_ONGOING_EVENT, which apps set viaNotification.Builder.setOngoing(true). Foreground-service notifications (LibreTorrent download progress, music players, step counters, voice recorders, …) often only carryFLAG_FOREGROUND_SERVICE— set by the system on the notification passed toService.startForeground(). Either flag now suppresses webhook delivery when the toggle is on. - App label prefixed to
Title. Webhook subscribers couldn't tell from a glance which app a notification came from when the title was generic ("Online", a contact name, a torrent's↓ 3 B/s). The Title is now<app-label>: <notification-title>(e.g.LibreTorrent: działa w tle). Falls back to bare label when the notification title is empty or already equals the label, and to the package name when the app has been uninstalled.Tagscontinues to carry the package name for grep/automation. - Settings label tweak:
Skip "ongoing" notifications(quotes) — clearer that "ongoing" refers to the notification flag, not the adjective.
Carried over from v0.1
- Optional ntfy.sh-compatible HTTP webhook per logged notification.
- Per-app filter reuses upstream's whitelist/blacklist.
- Offline-resilient: pending deliveries persisted in the same Room transaction as the log row, drained by WorkManager with
NetworkType.CONNECTEDconstraint and exponential backoff. Survives airplane mode / process kill / reboot. - UTF-8 in title via RFC 2047 encoded-word.
Verification
- 12/12 Robolectric + MockWebServer cases (
./gradlew :app:test) - 2/2 instrumented WebhookE2ETest on real Room + WorkManager + HTTP
Install
adb install -r notification-http-debug.apk
adb shell cmd notification allow_listener de.jl.notificationlog/.service.NotificationListenerService
Settings → enable "Forward notifications via HTTP", paste your https://ntfy.example.com/<topic> and an optional bearer token. Self-host guide: NTFY.pl.md (Polish).
Webhook fork v0.1 (debug APK)
First release of the unofficial webhook fork of jonas-l/notificationlog-android (GPL-3.0-or-later).
This is a debug-signed APK (no production signing key). Install with adb install. Replace freely with later releases.
What's in it
- All upstream NotificationLog functionality is intact.
- New: optional ntfy.sh-compatible HTTP webhook per logged notification (Title/Tags/Authorization headers, body = text).
- Per-app filter reuses the existing whitelist/blacklist (one source of truth).
- Offline-resilient: pending deliveries are persisted to Room in the same transaction as the log row, drained by a WorkManager
OneTimeWorkRequestwithNetworkType.CONNECTEDconstraint and exponential backoff. Survives airplane mode / process kill / reboot. - Skip-
ongoingtoggle (default ON) suppresses webhook spam from foreground services (LibreTorrent, step counters, music players, …). Local log keeps full history. - UTF-8 in title encoded via RFC 2047 (
=?utf-8?B?…?=) so Polish/German/etc. characters survive.
Permissions added beyond upstream
INTERNET,ACCESS_NETWORK_STATE— for HTTP deliveryusesCleartextTraffic="true"— for self-hosted ntfy on http:// LAN endpoints
Verification on this device
- 11/11 Robolectric + MockWebServer cases (
./gradlew :app:test) - 2/2 instrumented WebhookE2ETest on real Room + WorkManager + HTTP (
./gradlew :app:connectedAndroidTest, ran on API 28 TCG emulator) - Live tested against a real phone POSTing to a mock ntfy server
Install
```
adb install -r notification-http-debug.apk
adb shell cmd notification allow_listener de.jl.notificationlog/.service.NotificationListenerService
```
Settings → enable "Forward notifications via HTTP", paste your https://ntfy.example.com/<topic> and an optional bearer token. Self-host guide: NTFY.pl.md (Polish).