mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-05-03 15:44:09 +02:00
Compare commits
1 commit
1549efe8d6
...
e886335b35
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e886335b35 |
|
|
@ -1 +0,0 @@
|
|||
Clarify formats of string types.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Clarify formats of string types.
|
||||
|
|
@ -3120,20 +3120,19 @@ 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`](#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.
|
||||
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.
|
||||
- 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).
|
||||
|
|
@ -3348,8 +3347,8 @@ room at the start of the returned timeline. The response also includes a
|
|||
`next_batch` field, which should be used as the value of the `since`
|
||||
parameter in the next call to `/sync`. Finally, the response includes,
|
||||
for each room, a `prev_batch` field, which can be passed as a `from`/`to`
|
||||
parameter to the [`/rooms/{roomId}/messages`](#get_matrixclientv3roomsroomidmessages)
|
||||
API to retrieve earlier messages.
|
||||
parameter to the [`/rooms/<room_id>/messages`](/client-server-api/#get_matrixclientv3roomsroomidmessages) API to retrieve earlier
|
||||
messages.
|
||||
|
||||
For example, a `/sync` request might return a range of four events
|
||||
`E2`, `E3`, `E4` and `E5` within a given room, omitting two prior events
|
||||
|
|
@ -3368,8 +3367,7 @@ response to the previous call as the `since` parameter. The client
|
|||
should also pass a `timeout` parameter. The server will then hold open
|
||||
the HTTP connection for a short period of time waiting for new events,
|
||||
returning early if an event occurs. Only the `/sync` API (and the
|
||||
deprecated [`/events`](#get_matrixclientv3events) API) support
|
||||
long-polling in this way.
|
||||
deprecated `/events` API) support long-polling in this way.
|
||||
|
||||
Continuing the example above, an incremental sync might report
|
||||
a single new event `E6`. The response can be visualised as:
|
||||
|
|
@ -3389,7 +3387,7 @@ containing only the most recent message events. A state "delta" is also
|
|||
returned, summarising any state changes in the omitted part of the
|
||||
timeline. The client may therefore end up with "gaps" in its knowledge
|
||||
of the message timeline. The client can fill these gaps using the
|
||||
[`/rooms/{roomId}/messages`](#get_matrixclientv3roomsroomidmessages) API.
|
||||
[`/rooms/<room_id>/messages`](/client-server-api/#get_matrixclientv3roomsroomidmessages) API.
|
||||
|
||||
Continuing our example, suppose we make a third `/sync` request asking for
|
||||
events since the last sync, by passing the `next_batch` token `x-y-z` as
|
||||
|
|
@ -3412,7 +3410,7 @@ The limited response includes a state delta which describes how the state
|
|||
of the room changes over the gap. This delta explains how to build the state
|
||||
prior to returned timeline (i.e. at `E7`) from the state the client knows
|
||||
(i.e. at `E6`). To close the gap, the client should make a request to
|
||||
[`/rooms/{roomId}/messages`](#get_matrixclientv3roomsroomidmessages)
|
||||
[`/rooms/<room_id>/messages`](/client-server-api/#get_matrixclientv3roomsroomidmessages)
|
||||
with the query parameters `from=x-y-z` and `to=d-e-f`.
|
||||
|
||||
{{% boxes/warning %}}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,8 @@ allOf:
|
|||
room_id:
|
||||
description: The ID of the room associated with this event.
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
example: '!jEsUZKDJdhlrceRyVU:example.org'
|
||||
|
||||
unsigned:
|
||||
properties:
|
||||
redacted_because:
|
||||
|
|
@ -44,6 +43,6 @@ allOf:
|
|||
"unsigned": {
|
||||
"age": 1257,
|
||||
}
|
||||
}
|
||||
}
|
||||
required:
|
||||
- room_id
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ properties:
|
|||
event_id:
|
||||
description: The globally unique identifier for this event.
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
example: '$26RqwJMLw-yds1GAH_QxjHRC1Da9oasK0e5VLnck_45'
|
||||
type:
|
||||
description: The type of the event.
|
||||
|
|
@ -49,8 +47,6 @@ properties:
|
|||
sender:
|
||||
description: Contains the fully-qualified ID of the user who sent this event.
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
example: "@example:example.org"
|
||||
origin_server_ts:
|
||||
description: |-
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ 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
|
||||
|
|
@ -42,8 +40,6 @@ 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
|
||||
|
|
|
|||
|
|
@ -39,7 +39,5 @@ properties:
|
|||
such.
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
description: The event ID of the event that this event relates to.
|
||||
required: ['rel_type', 'event_id']
|
||||
|
|
|
|||
|
|
@ -43,16 +43,12 @@ 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
|
||||
|
|
|
|||
|
|
@ -50,8 +50,6 @@ 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
|
||||
|
|
@ -59,8 +57,6 @@ properties:
|
|||
`state`, `timeline` or `account_data`
|
||||
items:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
type: array
|
||||
ephemeral:
|
||||
allOf:
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@ paths:
|
|||
example: "@alice:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
|
|
@ -132,8 +130,6 @@ paths:
|
|||
example: "@alice:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
- in: path
|
||||
name: filterId
|
||||
description: The filter ID to download.
|
||||
|
|
|
|||
|
|
@ -37,8 +37,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: query
|
||||
name: from
|
||||
x-changedInMatrixVersion:
|
||||
|
|
|
|||
|
|
@ -148,8 +148,6 @@ paths:
|
|||
properties:
|
||||
room_id:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
description: The ID of this room.
|
||||
membership:
|
||||
type: string
|
||||
|
|
@ -339,8 +337,6 @@ paths:
|
|||
example: $asfDuShaf7Gafaw:matrix.org
|
||||
schema:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
responses:
|
||||
"200":
|
||||
description: The full event.
|
||||
|
|
|
|||
|
|
@ -43,17 +43,13 @@ paths:
|
|||
example: "!637q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: path
|
||||
name: eventId
|
||||
description: The ID of the event to redact.
|
||||
description: The ID of the event to redact
|
||||
required: true
|
||||
example: $bai2b1i9:matrix.org
|
||||
example: bai2b1i9:matrix.org
|
||||
schema:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
- in: path
|
||||
name: txnId
|
||||
description: |-
|
||||
|
|
@ -86,8 +82,6 @@ paths:
|
|||
properties:
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
description: A unique identifier for the event.
|
||||
examples:
|
||||
response:
|
||||
|
|
|
|||
|
|
@ -233,8 +233,6 @@ components:
|
|||
example: "!636q39766251:matrix.org"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
eventId:
|
||||
in: path
|
||||
name: eventId
|
||||
|
|
@ -243,8 +241,6 @@ components:
|
|||
example: $asfDuShaf7Gafaw
|
||||
schema:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
from:
|
||||
in: query
|
||||
name: from
|
||||
|
|
|
|||
|
|
@ -56,8 +56,6 @@ paths:
|
|||
example: "!636q39766251:matrix.org"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: query
|
||||
name: ts
|
||||
description: |-
|
||||
|
|
@ -88,8 +86,6 @@ paths:
|
|||
properties:
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
description: The ID of the event found
|
||||
origin_server_ts:
|
||||
type: integer
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
responses:
|
||||
"200":
|
||||
description: The current state of the room
|
||||
|
|
@ -40,8 +38,6 @@ paths:
|
|||
properties:
|
||||
room_id:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
description: The ID of this room.
|
||||
membership:
|
||||
type: string
|
||||
|
|
|
|||
|
|
@ -49,8 +49,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: path
|
||||
name: eventType
|
||||
description: The type of event to send.
|
||||
|
|
@ -88,8 +86,6 @@ paths:
|
|||
properties:
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
description: A unique identifier for the event.
|
||||
required:
|
||||
- event_id
|
||||
|
|
|
|||
|
|
@ -49,8 +49,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: path
|
||||
name: eventType
|
||||
description: The type of event to send.
|
||||
|
|
@ -88,8 +86,6 @@ paths:
|
|||
properties:
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
description: A unique identifier for the event.
|
||||
required:
|
||||
- event_id
|
||||
|
|
|
|||
|
|
@ -34,8 +34,6 @@ paths:
|
|||
example: "!636q39766251:matrix.org"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: path
|
||||
name: eventId
|
||||
description: The event ID to get.
|
||||
|
|
@ -43,8 +41,6 @@ paths:
|
|||
example: $asfDuShaf7Gafaw:matrix.org
|
||||
schema:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
responses:
|
||||
"200":
|
||||
description: The full event.
|
||||
|
|
@ -93,8 +89,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: path
|
||||
name: eventType
|
||||
description: The type of state to look up.
|
||||
|
|
@ -164,8 +158,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
responses:
|
||||
"200":
|
||||
description: The current state of the room
|
||||
|
|
@ -219,8 +211,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
- in: query
|
||||
name: at
|
||||
description: |-
|
||||
|
|
@ -315,8 +305,6 @@ paths:
|
|||
example: "!636q39766251:example.com"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
- accessTokenBearer: []
|
||||
|
|
|
|||
|
|
@ -209,8 +209,6 @@ paths:
|
|||
field may be omitted.
|
||||
items:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
m.joined_member_count:
|
||||
type: integer
|
||||
description: |-
|
||||
|
|
|
|||
|
|
@ -20,13 +20,10 @@ properties:
|
|||
The signatures are calculated using the process described at
|
||||
[Signing JSON](/appendices/#signing-json).
|
||||
type: object
|
||||
patternProperties:
|
||||
"":
|
||||
x-pattern-format: mx-server-name
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
format: mx-unpadded-base64
|
||||
additionalProperties:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
example: {
|
||||
"magic.forest": {
|
||||
"ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"
|
||||
|
|
|
|||
|
|
@ -11,7 +11,5 @@ allOf:
|
|||
The ID of the room associated with this event. Will not be present on events
|
||||
that arrive through `/sync`, despite being required everywhere else.
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
required:
|
||||
- room_id
|
||||
|
|
|
|||
|
|
@ -39,8 +39,6 @@ properties:
|
|||
sender:
|
||||
description: The `sender` for the event.
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
required:
|
||||
- type
|
||||
- state_key
|
||||
|
|
|
|||
|
|
@ -29,13 +29,9 @@ allOf:
|
|||
event_id:
|
||||
description: The globally unique event identifier.
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
sender:
|
||||
description: Contains the fully-qualified ID of the user who sent this event.
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
origin_server_ts:
|
||||
description: Timestamp in milliseconds on originating homeserver
|
||||
when this event was sent.
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@ properties:
|
|||
The canonical alias for the room. If not present, null, or empty the
|
||||
room should be considered to have no canonical alias.
|
||||
type: string
|
||||
format: mx-room-alias
|
||||
pattern: "^#"
|
||||
alt_aliases:
|
||||
description: |
|
||||
Alternative aliases the room advertises. This list can have aliases
|
||||
|
|
@ -25,8 +23,6 @@ properties:
|
|||
type: array
|
||||
items:
|
||||
type: string
|
||||
format: mx-room-alias
|
||||
pattern: "^#"
|
||||
type: object
|
||||
state_key:
|
||||
description: A zero-length string.
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@ properties:
|
|||
The `user_id` of the room creator. **Required** for, and only present in, room versions 1 - 10. Starting with
|
||||
room version 11 the event `sender` should be used instead.
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
m.federate:
|
||||
description: Whether users on other servers can join this room. Defaults to `true` if key does not exist.
|
||||
type: boolean
|
||||
|
|
@ -34,13 +32,9 @@ properties:
|
|||
properties:
|
||||
room_id:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
description: The ID of the old room.
|
||||
event_id:
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
deprecated: true
|
||||
x-changedInMatrixVersion:
|
||||
"1.16": |-
|
||||
|
|
@ -57,8 +51,6 @@ properties:
|
|||
type: array
|
||||
items:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
description: Additional user ID to consider a creator of the room, if supported by the room version.
|
||||
x-addedInMatrixVersion: "1.16"
|
||||
description: |-
|
||||
|
|
|
|||
|
|
@ -55,8 +55,6 @@ properties:
|
|||
enum: ['m.room_membership']
|
||||
room_id:
|
||||
type: string
|
||||
format: mx-room-id
|
||||
pattern: "^!"
|
||||
description: |-
|
||||
Required if `type` is `m.room_membership`. The room ID to check the
|
||||
user's membership against. If the user is joined to this room, they
|
||||
|
|
|
|||
|
|
@ -76,8 +76,6 @@ properties:
|
|||
join_authorised_via_users_server:
|
||||
x-addedInMatrixVersion: "1.2"
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
description: |-
|
||||
Usually found on `join` events, this field is used to denote which homeserver (through
|
||||
representation of a user with sufficient power level) authorised the user's join. More
|
||||
|
|
@ -129,8 +127,6 @@ properties:
|
|||
`join`, the user ID sending the event does not need to match the user ID in the `state_key`,
|
||||
unlike other events. Regular authorisation rules still apply.
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
type:
|
||||
enum:
|
||||
- m.room.member
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@ properties:
|
|||
redacts:
|
||||
description: The event ID that was redacted. Required for, and present starting in, room version 11.
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
reason:
|
||||
description: 'The reason for the redaction, if any.'
|
||||
type: string
|
||||
|
|
@ -19,8 +17,6 @@ properties:
|
|||
redacts:
|
||||
description: Required for, and only present in, room versions 1 - 10. The event ID that was redacted.
|
||||
type: string
|
||||
format: mx-event-id
|
||||
pattern: "^\\$"
|
||||
type:
|
||||
enum:
|
||||
- m.room.redaction
|
||||
|
|
|
|||
|
|
@ -66,11 +66,6 @@ mx-mxc-uri:
|
|||
url: client-server-api#matrix-content-mxc-uris
|
||||
# regex: "^mxc:\\/\\/"
|
||||
|
||||
mx-unpadded-base64:
|
||||
title: Unpadded Base64
|
||||
url: appendices#unpadded-base64
|
||||
# no regex
|
||||
|
||||
uri:
|
||||
title: URI
|
||||
url: https://datatracker.ietf.org/doc/html/rfc3986
|
||||
|
|
|
|||
Loading…
Reference in a new issue