From 2f2e2093dee3065aabe1dddfb3724da56a8b577b Mon Sep 17 00:00:00 2001 From: Sivert Date: Wed, 7 Oct 2026 17:25:23 +0200 Subject: [PATCH] Document what push:register's notification settings do (GRYT-1696) `push:register` now carries `muted`, `all` and `everyone`, and the server decides what to push from them. This says which push goes where, and what a phone that sends none of them gets. Co-Authored-By: Claude Opus 5.5 --- content/docs/build/server-api.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/docs/build/server-api.mdx b/content/docs/build/server-api.mdx index 9f713aa..188e6c9 100644 --- a/content/docs/build/server-api.mdx +++ b/content/docs/build/server-api.mdx @@ -531,6 +531,8 @@ here sit on top of the thread events above. The phone gets a capability from the push relay at `push.gryt.chat` and hands it over with `push:register`. It only means something to the relay. The server never sees the Apple or Google token behind it. `push:presence` says whether the app is in the background, and the server only wakes a phone when nobody's at a screen. Both register calls answer through the acknowledgement, with `{ ok: true }` or `{ ok: false, error }`. A server with `GRYT_PUSH_RELAY_URL=off` answers `push_off`. +`push:register` also carries the phone's notification settings for that server, since the server decides what to send. `muted` and `all` are lists of conversation ids, and `everyone` says whether @everyone and @here get through. A DM pushes unless it's muted. A channel in `all` pushes for every message, any other channel only for a mention of you or one of your roles, and @everyone and @here only when `everyone` is true. A muted conversation never pushes. A phone that sends none of these gets DMs and direct mentions only. + | Event | Direction | |-------|-----------| | `push:register`, `push:unregister` | client → server |