events: Add support for sending presence events in modern format.

If the client has passed `simplified_presence_events` as true
in the `client_capabilities` parameter of the `POST /register`
request, then the server will send `presence` events with the
`presences` field, which has the user presence data in the
modern API format. When that client capability is false, the
`presence` event will be unchanged and sent with the user
presence data in the legacy format.
This commit is contained in:
Vector73
2025-08-12 06:45:27 +00:00
committed by Tim Abbott
parent 88761f70a2
commit f1d1d5f1a4
12 changed files with 148 additions and 14 deletions

View File

@@ -20,6 +20,19 @@ format used by the Zulip server that they are interacting with.
## Changes in Zulip 11.0
**Feature level 419**
* [`POST /register`](/api/register-queue): Added `simplified_presence_events`
[client capability](/api/register-queue#parameter-client_capabilities),
which allows clients to specify whether they support receiving the
`presence` event type with user presence data in the modern API format.
* [`GET /events`](/api/get-events): Added the `presences` field to the
`presence` event type for clients that support the `simplified_presence_events`
[client capability](/api/register-queue#parameter-client_capabilities).
The `presences` field will have the user presence data in the modern
API format. For clients that don't support that client capability the
event will contain fields with the legacy format for user presence data.
**Feature level 418**
* [`GET /events`](/api/get-events): An event with `type: "channel_folder"`