From 7dad9ebc43f8e7e4cf98934460c7cdcac004a3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Mon, 30 Mar 2026 16:41:08 +0200 Subject: [PATCH 1/3] Clarify string format of filtering endpoints. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- data/api/client-server/definitions/event_filter.yaml | 4 ++++ data/api/client-server/definitions/room_event_filter.yaml | 4 ++++ data/api/client-server/definitions/sync_filter.yaml | 4 ++++ data/api/client-server/filter.yaml | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/data/api/client-server/definitions/event_filter.yaml b/data/api/client-server/definitions/event_filter.yaml index ceb0d5bf..ad91e699 100644 --- a/data/api/client-server/definitions/event_filter.yaml +++ b/data/api/client-server/definitions/event_filter.yaml @@ -26,6 +26,8 @@ properties: `senders` filter. items: type: string + format: mx-user-id + pattern: "^@" type: array not_types: description: A list of event types to exclude. If this list is absent then no @@ -40,6 +42,8 @@ properties: senders are included. items: type: string + format: mx-user-id + pattern: "^@" type: array types: description: A list of event types to include. If this list is absent then all diff --git a/data/api/client-server/definitions/room_event_filter.yaml b/data/api/client-server/definitions/room_event_filter.yaml index 6c9b705d..de908a82 100644 --- a/data/api/client-server/definitions/room_event_filter.yaml +++ b/data/api/client-server/definitions/room_event_filter.yaml @@ -43,12 +43,16 @@ allOf: filter. items: type: string + format: mx-room-id + pattern: "^!" type: array rooms: description: A list of room IDs to include. If this list is absent then all rooms are included. items: type: string + format: mx-room-id + pattern: "^!" type: array contains_url: type: boolean diff --git a/data/api/client-server/definitions/sync_filter.yaml b/data/api/client-server/definitions/sync_filter.yaml index f181aa22..6f80b4c1 100644 --- a/data/api/client-server/definitions/sync_filter.yaml +++ b/data/api/client-server/definitions/sync_filter.yaml @@ -50,6 +50,8 @@ properties: `state`, `timeline` or `account_data` items: type: string + format: mx-room-id + pattern: "^!" type: array rooms: description: A list of room IDs to include. If this list is absent then all rooms @@ -57,6 +59,8 @@ properties: `state`, `timeline` or `account_data` items: type: string + format: mx-room-id + pattern: "^!" type: array ephemeral: allOf: diff --git a/data/api/client-server/filter.yaml b/data/api/client-server/filter.yaml index f1135939..551748d4 100644 --- a/data/api/client-server/filter.yaml +++ b/data/api/client-server/filter.yaml @@ -36,6 +36,8 @@ paths: example: "@alice:example.com" schema: type: string + format: mx-user-id + pattern: "^@" requestBody: content: application/json: @@ -130,6 +132,8 @@ paths: example: "@alice:example.com" schema: type: string + format: mx-user-id + pattern: "^@" - in: path name: filterId description: The filter ID to download. From b770ac81a1890fa7d906f7c98a4fe8c2ed54b0aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Mon, 30 Mar 2026 16:45:45 +0200 Subject: [PATCH 2/3] Use inline code for endpoints and add link to /members definition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- content/client-server-api/_index.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/content/client-server-api/_index.md b/content/client-server-api/_index.md index 410a1f25..68d4bae4 100644 --- a/content/client-server-api/_index.md +++ b/content/client-server-api/_index.md @@ -3120,19 +3120,20 @@ events they have already been sent, and choose to skip sending membership events for members whose membership has not changed. These are called 'redundant membership events'. Clients may request that redundant membership events are always included in responses by setting `include_redundant_members` -to true in the filter. +to `true` in the filter. The expected pattern for using lazy-loading is currently: -- Client performs an initial /sync with lazy-loading enabled, and +- Client performs an initial `/sync` with lazy-loading enabled, and receives only the membership events which relate to the senders of the events it receives. - Clients which support display-name tab-completion or other operations which require rapid access to all members in a room - should call /members for the currently selected room, with an `?at` - parameter set to the /sync response's from token. The member list - for the room is then maintained by the state in subsequent - incremental /sync responses. + should call [`/members`](#get_matrixclientv3roomsroomidmembers) for + the currently selected room, with an `?at` parameter set to the + `/sync` response's `from` token. The member list for the room is + then maintained by the state in subsequent incremental `/sync` + responses. - Clients which do not support tab-completion may instead pull in profiles for arbitrary users (e.g. read receipts, typing notifications) on demand by querying the room state or [`/profile`](#get_matrixclientv3profileuserid). From ae375c2a1adc8a88002b238f9acb2ea3cb0f7572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Mon, 30 Mar 2026 16:51:58 +0200 Subject: [PATCH 3/3] Add changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- changelogs/client_server/newsfragments/2347.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/2347.clarification diff --git a/changelogs/client_server/newsfragments/2347.clarification b/changelogs/client_server/newsfragments/2347.clarification new file mode 100644 index 00000000..bdcce777 --- /dev/null +++ b/changelogs/client_server/newsfragments/2347.clarification @@ -0,0 +1 @@ +Clarify formats of string types.