Compare commits

..

3 commits

Author SHA1 Message Date
famfo 1ae66a02f2
Merge 43ff9d0e6f into 6e16a19ac9 2025-09-01 20:41:40 +03:00
famfo 43ff9d0e6f
changelogs/s2s: add minimum_valid_until_ts clarification 2025-08-06 22:10:18 +02:00
famfo edbc80d1b7
s2s/keys: clarify minimum_valid_until_ts query
Signed-off-by: famfo <famfo@famfo.xyz>
2025-08-06 22:03:33 +02:00
10 changed files with 17 additions and 29 deletions

View file

@ -1 +1 @@
Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133).
Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability,as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133).

View file

@ -1 +0,0 @@
Clarify wording around the `world_readable` history visibility setting. Contributed by @HarHarLinks.

View file

@ -1 +0,0 @@
Add a profile field for a user's time zone, per [MSC4175](https://github.com/matrix-org/matrix-spec-proposals/pull/4175).

View file

@ -1 +0,0 @@
Fix a grammatical typo on the Matrix Spec Process documentation page.

View file

@ -16,8 +16,8 @@ The four options for the `m.room.history_visibility` event are:
- `world_readable` - All events while this is the
`m.room.history_visibility` value may be shared by any participating
homeserver with any authenticated user, regardless of whether they have
ever joined the room. This includes [guest users](#guest-access).
homeserver with anyone, regardless of whether they have ever joined
the room.
- `shared` - Previous events are always accessible to newly joined
members. All events in the room are accessible, even those sent when
the member was not a part of the room.
@ -44,7 +44,7 @@ setting at that time was more restrictive.
#### Client behaviour
Clients may want to display a notice that events may be read by
non-joined users if the history visibility is set to `world_readable`.
non-joined people if the history visibility is set to `world_readable`.
#### Server behaviour

View file

@ -6,7 +6,7 @@ It is sometimes desirable to offer a preview of a room, where a user can
This can be particularly effective when combined with [Guest Access](#guest-access).
Previews are implemented via the `world_readable` [Room History
Visibility](#room-history-visibility) setting, along with a special version of the [GET
Visibility](#room-history-visibility). setting, along with a special version of the [GET
/events](#get_matrixclientv3events) endpoint.
#### Client behaviour

View file

@ -555,7 +555,7 @@ resolve to the desired MSC, whether it started as an issue or a PR.
Other metadata:
- The MSC number is taken from the GitHub Pull Request ID. This is
carried for the lifetime of the proposal. These IDs do not necessarily
carried for the lifetime of the proposal. These IDs do not necessary
represent a chronological order.
- The GitHub PR title will act as the MSC's title.
- Please link to the spec PR (if any) by adding a "PRs: \#1234" line

View file

@ -43,7 +43,7 @@ properties:
example: "All things general"
world_readable:
type: boolean
description: Whether the room may be viewed by users without joining.
description: Whether the room may be viewed by guest users without joining.
example: false
guest_can_join:
type: boolean

View file

@ -19,7 +19,7 @@ paths:
"/profile/{userId}/{keyName}":
put:
x-changedInMatrixVersion:
"1.16": This endpoint now accepts a variable `keyName` parameter and `m.tz` was added as a defined key. Previously only `displayname` and `avatar_url` were accepted.
"1.16": This endpoint now accepts a variable `keyName` parameter. Previously only `displayname` and `avatar_url` were accepted.
summary: Set a profile field for a user.
description: |-
Set or update a profile field for a user. Must be authenticated with an
@ -44,13 +44,13 @@ paths:
- in: path
name: keyName
description: The name of the profile field to set. This MUST be either
`avatar_url`, `displayname`, `m.tz`, or a custom field following the
`avatar_url`, `displayname`, or a custom field following the
[Common Namespaced Identifier Grammar](/appendices/#common-namespaced-identifier-grammar).
required: true
example: "displayname"
schema:
type: string
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
requestBody:
description: A JSON object containing the property whose name matches
the `keyName` specified in the URL. See `additionalProperties` for
@ -69,10 +69,6 @@ paths:
For `displayname`, the value MUST be a string.
For `m.tz`, the value MUST be a valid identifier from the [IANA Time Zone Database](https://www.iana.org/time-zones).
Servers MAY choose to validate the value. Clients MUST expect unknown or invalid
values.
For custom keys, any JSON type is allowed. Servers MAY not validate
these values, but clients SHOULD follow the format defined for that key.
additionalProperties: true
@ -141,7 +137,7 @@ paths:
- User data
get:
x-changedInMatrixVersion:
"1.16": This endpoint now accepts a variable `keyName` parameter and `m.tz` was added as a defined key. Previously only `displayname` and `avatar_url` were accepted.
"1.16": This endpoint now accepts a variable `keyName` parameter. Previously only `displayname` and `avatar_url` were accepted.
summary: Get a profile field for a user.
description: Get the value of a profile field for a user.
operationId: getProfileField
@ -160,7 +156,7 @@ paths:
example: "displayname"
schema:
type: string
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
responses:
"200":
description: The profile field value was retrieved.
@ -218,7 +214,7 @@ paths:
example: "displayname"
schema:
type: string
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
responses:
"200":
description: The profile field was deleted or it doesn't exist.
@ -297,10 +293,6 @@ paths:
type: string
description: The user's display name if they have set one, otherwise not
present.
m.tz:
x-addedInMatrixVersion: "1.16"
type: string
description: The user's time zone.
additionalProperties:
x-addedInMatrixVersion: "1.16"
description: Additional profile fields.
@ -310,7 +302,6 @@ paths:
{
"avatar_url": "mxc://matrix.org/SDGdghriugerRg",
"displayname": "Alice Margatroid",
"m.tz": "Europe/London",
"m.example_field": "custom_value",
}
"403":

View file

@ -34,8 +34,8 @@ paths:
- in: query
name: minimum_valid_until_ts
description: |-
A millisecond POSIX timestamp. The returned keys MUST be valid
until at least this timestamp.
A millisecond POSIX timestamp indicating until when the returned
keys MUST at least be valid.
If not supplied, the current time as determined by the notary server is used.
required: false
@ -98,8 +98,8 @@ paths:
type: integer
format: int64
description: |-
A millisecond POSIX timestamp. The returned keys
MUST be valid until at least this timestamp.
A millisecond POSIX timestamp indicating until when
the returned keys MUST at least be valid.
If not supplied, the current time as determined by the notary
server is used.