From 1465e25e2cee62766f37a74e8b53a211f9e999df Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 24 Sep 2025 14:31:59 +0100 Subject: [PATCH] Define 'just occured' --- proposals/4186-simplified-sliding-sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/4186-simplified-sliding-sync.md b/proposals/4186-simplified-sliding-sync.md index 42fcaafbf..cdbeecc9f 100644 --- a/proposals/4186-simplified-sliding-sync.md +++ b/proposals/4186-simplified-sliding-sync.md @@ -429,7 +429,7 @@ When a user is or has been in the room, the following field are also returned: | `timeline_events` | `[Event]` | No | The latest events in the room. May not include all events if e.g. there were more events than the configured `timeline_limit`, c.f. the `limited` field.

If `limited` is true then we include bundle aggregations for the event, as per sync v2.

The last event is the most recent. | | `prev_batch` | `string` | No | A token that can be passed as a start parameter to the `/rooms//messages` API to retrieve earlier messages. | | `limited` | `bool` | No | True if there are more events since the previous sync than were included in the `timeline_events` field, or that the client should paginate to fetch more events.

Note that server may return fewer than the requested number of events and still set `limited` to true, e.g. because there is a gap in the history the server has for the room.

Absence means `false` | -| `num_live` | `int` | No | The number of timeline events which have just occurred and are not historical. The last `N` events are 'live' and should be treated as such.

This is mostly useful to e.g. determine whether a given `@mention` event should make a noise or not. Clients cannot rely solely on the absence of `initial: true` to determine live events because if a room not in the sliding window bumps into the window because of an `@mention` it will have `initial: true` yet contain a single live event (with potentially other old events in the timeline). | +| `num_live` | `int` | No | The number of timeline events which have "just occurred" and are not historical, i.e. that have happened since the previous sync request. The last `N` events are 'live' and should be treated as such.

This is mostly useful to e.g. determine whether a given `@mention` event should make a noise or not. Clients cannot rely solely on the absence of `initial: true` to determine live events because if a room not in the sliding window bumps into the window because of an `@mention` it will have `initial: true` yet contain a single live event (with potentially other old events in the timeline). | | `joined_count` | `int` | No | The number of users with membership of join, including the client's own user ID. (same as sync `v2 m.joined_member_count`) | | `invited_count` | `int` | No | The number of users with membership of invite. (same as sync v2 `m.invited_member_count`) | | `notification_count` | `int` | No | The total number of unread notifications for this room. (same as sync v2) |