This website requires JavaScript.
Explore
Help
Register
Sign In
ARIA
/
iris_x_hermes
Watch
1
Star
0
Fork
0
Code
Issues
2
Pull Requests
Actions
Packages
Projects
1
Releases
4
Wiki
Activity
Files
9f3f9842c88b4b0efb4d62311bc61447bab751d5
iris_x_hermes
/
app
T
History
ARIA
9f3f9842c8
Push notification dedupe: one message = one notification — an offline message was notified twice (FCM push, then again when the app synced the outbox and mirrored the replayed frames). Fix: the gateway records the highest outbox cursor delivered per device via push (devices.last_pushed_cursor, advanced only on successful send) and returns it in hello.ack; sync-replayed frames carry their outbox cursor in the envelope; the app skips system notifications for replayed frames at/below the watermark (live frames never suppressed — that is the case where no push fired). Also: 5s per-chat push coalescing so a cron delivery (notification frame + message frame) pushes once, and the FCM handler no longer posts a redundant notification (skips when WS is connected or FCM already displayed the notification payload; data-only messages are the exception). Docs: frames.schema.json, 04-wire-protocol.md, 08-push.md §8.8
2026-08-21 17:21:54 +02:00
..
androidApp
Ntfy listener: only run when the paired gateway pushes via ntfy — the foreground service (and its permanent 'Listening for messages' notification) is now started/stopped based on the gateway's push backend from hello.ack server_caps (persisted as pushBackend); FCM gateways no longer keep a persistent listener alive, and switching gateways toggles the service on the next connect
2026-08-21 17:21:47 +02:00
desktopApp
Update dependencies to latest + migrate to AGP 9.x
2026-08-21 12:14:09 +02:00
gradle
/wrapper
Update dependencies to latest + migrate to AGP 9.x
2026-08-21 12:14:09 +02:00
icons
App icon: winged-bubble adaptive icon (Android) + window/jpackage icon (desktop); concept art in app/icons/
2026-08-20 19:48:57 +02:00
shared
Push notification dedupe: one message = one notification — an offline message was notified twice (FCM push, then again when the app synced the outbox and mirrored the replayed frames). Fix: the gateway records the highest outbox cursor delivered per device via push (devices.last_pushed_cursor, advanced only on successful send) and returns it in hello.ack; sync-replayed frames carry their outbox cursor in the envelope; the app skips system notifications for replayed frames at/below the watermark (live frames never suppressed — that is the case where no push fired). Also: 5s per-chat push coalescing so a cron delivery (notification frame + message frame) pushes once, and the FCM handler no longer posts a redundant notification (skips when WS is connected or FCM already displayed the notification payload; data-only messages are the exception). Docs: frames.schema.json, 04-wire-protocol.md, 08-push.md §8.8
2026-08-21 17:21:54 +02:00
build.gradle.kts
Added default backdrops to the chat.
2026-08-21 15:48:30 +02:00
gradle.properties
M0: toolchain, monorepo scaffold, gateway plugin skeleton, CMP app
2026-08-19 11:27:02 +02:00
gradlew
M0: toolchain, monorepo scaffold, gateway plugin skeleton, CMP app
2026-08-19 11:27:02 +02:00
gradlew.bat
M0: toolchain, monorepo scaffold, gateway plugin skeleton, CMP app
2026-08-19 11:27:02 +02:00
settings.gradle.kts
HTML artifacts: render agent-sent HTML/CSS/JS code blocks in an in-app WebView (Android platform WebView, desktop JCEF/KCEF) via a full-screen preview; artifact card with Preview button + code toggle, shown only once the message stops streaming; webview-multiplatform 1.9.40 + KCEF deps, detection + unit tests
2026-08-21 00:43:39 +02:00