diff --git a/changelogs/client_server/newsfragments/1495.clarification b/changelogs/client_server/newsfragments/1495.clarification new file mode 100644 index 00000000..8132e060 --- /dev/null +++ b/changelogs/client_server/newsfragments/1495.clarification @@ -0,0 +1 @@ +Clarify parts of the end-to-end encryption sections. diff --git a/changelogs/client_server/newsfragments/1509.clarification b/changelogs/client_server/newsfragments/1509.clarification new file mode 100644 index 00000000..ca5f3aea --- /dev/null +++ b/changelogs/client_server/newsfragments/1509.clarification @@ -0,0 +1 @@ +Fix various typos throughout the specification. \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1510.feature b/changelogs/client_server/newsfragments/1510.feature new file mode 100644 index 00000000..efd70374 --- /dev/null +++ b/changelogs/client_server/newsfragments/1510.feature @@ -0,0 +1,2 @@ +Add new endpoints `POST /_matrix/media/v1/create` and `PUT /_matrix/media/v3/upload/{serverName}/{mediaId}`, and other changes for asynchronous media upload, as per [MSC2246](https://github.com/matrix-org/matrix-spec-proposals/pull/2246). + diff --git a/content/client-server-api/_index.md b/content/client-server-api/_index.md index 55f9987b..cf00870b 100644 --- a/content/client-server-api/_index.md +++ b/content/client-server-api/_index.md @@ -24,7 +24,7 @@ Authentication](#client-authentication) for details). All `POST` and `PUT` endpoints, with the exception of [`POST /_matrix/media/v3/upload`](#post_matrixmediav3upload) and [`PUT -/_matrix/media/v3/upload/{serverName}/{mediaId}`](http://localhost:1313/client-server-api/#put_matrixmediav3uploadservernamemediaid), +/_matrix/media/v3/upload/{serverName}/{mediaId}`](#put_matrixmediav3uploadservernamemediaid), require the client to supply a request body containing a (potentially empty) JSON object. Clients should supply a `Content-Type` header of `application/json` for all requests with JSON bodies, but this is not required. diff --git a/data/api/client-server/cross_signing.yaml b/data/api/client-server/cross_signing.yaml index 0ac32cfb..817aeca9 100644 --- a/data/api/client-server/cross_signing.yaml +++ b/data/api/client-server/cross_signing.yaml @@ -149,8 +149,12 @@ paths: x-addedInMatrixVersion: "1.1" summary: Upload cross-signing signatures. description: |- - Publishes cross-signing signatures for the user. The request body is a - map from user ID to key ID to signed JSON object. + Publishes cross-signing signatures for the user. + + The request body is a map from user ID to key ID to signed JSON object. + The signed JSON object must match the key previously uploaded or + retrieved for the given key ID, with the exception of the `signatures` + property, which contains the new signature(s) to add. operationId: uploadCrossSigningSignatures security: - accessToken: [] @@ -158,7 +162,8 @@ paths: - in: body name: signatures description: |- - The signatures to be published. + A map from user ID to key ID to signed JSON objects containing the + signatures to be published. required: true schema: type: object diff --git a/data/event-schemas/schema/m.room.member.yaml b/data/event-schemas/schema/m.room.member.yaml index 24b6005f..f2d297b5 100644 --- a/data/event-schemas/schema/m.room.member.yaml +++ b/data/event-schemas/schema/m.room.member.yaml @@ -7,13 +7,9 @@ description: |- The following membership states are specified: - `invite` - The user has been invited to join a room, but has not yet joined it. They may not participate in the room until they join. - - `join` - The user has joined the room (possibly after accepting an invite), and may participate in it. - - `leave` - The user was once joined to the room, but has since left (possibly by choice, or possibly by being kicked). - - `ban` - The user has been banned from the room, and is no longer allowed to join it until they are un-banned from the room (by having their membership state set to a value other than `ban`). - - `knock` - The user has knocked on the room, requesting permission to participate. They may not participate in the room until they join. The `third_party_invite` property will be set if this invite is an `invite` event and is the successor of an `m.room.third_party_invite` event, and absent otherwise.