Merge remote-tracking branch 'matrix-org/master' into travis/preset-guests

pull/977/head
Travis Ralston 6 years ago
commit 6e3993effe

@ -61,7 +61,8 @@ paths:
description: The fully qualified user ID of the user being banned. description: The fully qualified user ID of the user being banned.
reason: reason:
type: string type: string
description: The reason the user has been banned. description: The reason the user has been banned. This will be supplied as the
``reason`` on the target's updated `m.room.member`_ event.
required: ["user_id"] required: ["user_id"]
responses: responses:
200: 200:

@ -299,3 +299,44 @@ paths:
"$ref": "definitions/error.yaml" "$ref": "definitions/error.yaml"
tags: tags:
- Media - Media
"/config":
get:
summary: Get the configuration for the content repository.
description: |-
This endpoint allows clients to retrieve the configuration of the content
repository, such as upload limitations.
Clients SHOULD use this as a guide when using content repository endpoints.
All values are intentionally left optional. Clients SHOULD follow
the advice given in the field description when the field is not available.
**NOTE:** Both clients and server administrators should be aware that proxies
between the client and the server may affect the apparent behaviour of content
repository APIs, for example, proxies may enforce a lower upload size limit
than is advertised by the server on this endpoint.
operationId: getConfig
produces: ["application/json"]
security:
- accessToken: []
responses:
200:
description: The public content repository configuration for the matrix server.
schema:
type: object
properties:
m.upload.size:
type: number
description: |-
The maximum size an upload can be in bytes.
Clients SHOULD use this as a guide when uploading content.
If not listed or null, the size limit should be treated as unknown.
examples:
application/json: {
"m.upload.size": 50000000
}
429:
description: This request was rate-limited.
schema:
"$ref": "definitions/error.yaml"
tags:
- Media

@ -143,6 +143,15 @@ paths:
description: The room identifier or alias to join. description: The room identifier or alias to join.
required: true required: true
x-example: "#monkeys:matrix.org" x-example: "#monkeys:matrix.org"
- in: query
type: array
items:
type: string
name: server_name
description: |-
The servers to attempt to join the room through. One of the servers
must be participating in the room.
x-example: ["matrix.org", "elsewhere.ca"]
- in: body - in: body
name: third_party_signed name: third_party_signed
schema: schema:

@ -34,6 +34,10 @@ paths:
Kick a user from the room. Kick a user from the room.
The caller must have the required power level in order to perform this operation. The caller must have the required power level in order to perform this operation.
Kicking a user adjusts the target member's membership state to be ``leave`` with an
optional ``reason``. Like with other membership changes, a user can directly adjust
the target member's state by making a request to ``/rooms/<room id>/state/m.room.member/<user id>``.
operationId: kick operationId: kick
security: security:
- accessToken: [] - accessToken: []
@ -59,7 +63,9 @@ paths:
description: The fully qualified user ID of the user being kicked. description: The fully qualified user ID of the user being kicked.
reason: reason:
type: string type: string
description: The reason the user has been kicked. description: |-
The reason the user has been kicked. This will be supplied as the
``reason`` on the target's updated `m.room.member`_ event.
required: ["user_id"] required: ["user_id"]
responses: responses:
200: 200:

@ -78,8 +78,8 @@ paths:
for this room. If all users on a homeserver forget a room, the room is for this room. If all users on a homeserver forget a room, the room is
eligible for deletion from that homeserver. eligible for deletion from that homeserver.
If the user is currently joined to the room, they will implicitly leave If the user is currently joined to the room, they must leave the room
the room as part of this API call. before calling this API.
operationId: forgetRoom operationId: forgetRoom
security: security:
- accessToken: [] - accessToken: []
@ -99,6 +99,15 @@ paths:
} }
schema: schema:
type: object type: object
400:
description: The user has not left the room
examples:
application/json: {
"errcode": "M_UNKNOWN",
"error": "User @example:matrix.org is in room !au1ba7o:matrix.org"
}
schema:
"$ref": "definitions/error.yaml"
429: 429:
description: This request was rate-limited. description: This request was rate-limited.
schema: schema:

@ -107,6 +107,7 @@ paths:
items: items:
type: object type: object
title: RoomEvent title: RoomEvent
"$ref": "definitions/event-schemas/schema/core-event-schema/room_event.yaml"
examples: examples:
application/json: { application/json: {
"start": "t47429-4392820_219380_26003_2265", "start": "t47429-4392820_219380_26003_2265",

@ -83,6 +83,8 @@ paths:
description: |- description: |-
Get the given user's presence state. Get the given user's presence state.
operationId: getPresence operationId: getPresence
security:
- accessToken: []
parameters: parameters:
- in: path - in: path
type: string type: string
@ -121,6 +123,15 @@ paths:
description: |- description: |-
There is no presence state for this user. This user may not exist or There is no presence state for this user. This user may not exist or
isn't exposing presence information to you. isn't exposing presence information to you.
403:
description: You are not allowed to see this user's presence status.
examples:
application/json: {
"errcode": "M_FORBIDDEN",
"error": "You are not allowed to see their presence"
}
schema:
"$ref": "definitions/error.yaml"
tags: tags:
- Presence - Presence
"/presence/list/{userId}": "/presence/list/{userId}":

@ -74,7 +74,7 @@ paths:
properties: properties:
room_events: room_events:
type: object type: object
title: "Room Events" title: Room Events Criteria
description: Mapping of category name to search criteria. description: Mapping of category name to search criteria.
properties: properties:
search_term: search_term:
@ -103,7 +103,7 @@ paths:
The order in which to search for results. The order in which to search for results.
By default, this is ``"rank"``. By default, this is ``"rank"``.
event_context: event_context:
title: "Event Context" title: Include Event Context
type: object type: object
description: |- description: |-
Configures whether any context for the events Configures whether any context for the events
@ -169,13 +169,13 @@ paths:
properties: properties:
search_categories: search_categories:
type: object type: object
title: Categories title: Result Categories
description: Describes which categories to search in and description: Describes which categories to search in and
their criteria. their criteria.
properties: properties:
room_events: room_events:
type: object type: object
title: Room Event Results title: Result Room Events
description: Mapping of category name to search criteria. description: Mapping of category name to search criteria.
properties: properties:
count: count:

@ -15,10 +15,30 @@ Unreleased changes
- Sticker messages: - Sticker messages:
- Add sticker message event definition. - Add sticker message event definition.
(`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_).
- Document the ``server_name`` parameter on ``/join/{roomIdOrAlias}``
(`#1364 <https://github.com/matrix-org/matrix-doc/pull/1364>`_).
- Add 'token' parameter to /keys/query endpoint
(`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_).
- Add the room visibility options for the room directory
(`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_).
- Add spec for ignoring users
(`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_).
- Add the ``/register/available`` endpoint for username availability
(`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_).
- Add ``allow_remote`` to the content repo to avoid routing loops
(`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_).
- Add report content API
(`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_).
- Document ``/logout/all`` endpoint
(`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_).
- Document `highlights` field in /search response
(`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_).
- Document the GET version of ``/login`` - Document the GET version of ``/login``
(`#1361 <https://github.com/matrix-org/matrix-doc/pull/1361>`_). (`#1361 <https://github.com/matrix-org/matrix-doc/pull/1361>`_).
- Document guest access in ``/createRoom`` presets - Document guest access in ``/createRoom`` presets
(`#1379 <https://github.com/matrix-org/matrix-doc/pull/1379>`_). (`#1379 <https://github.com/matrix-org/matrix-doc/pull/1379>`_).
- Document the CORS/preflight headers
(`#1365 <https://github.com/matrix-org/matrix-doc/pull/1365>`_).
- Spec clarifications: - Spec clarifications:
@ -41,27 +61,18 @@ Unreleased changes
(`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_).
- Mark ``GET /rooms/{roomId}/members`` as requiring authentication - Mark ``GET /rooms/{roomId}/members`` as requiring authentication
(`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_).
- Define what a ``RoomEvent`` is on ``/rooms/{roomId}/messages``
(`#1380 <https://github.com/matrix-org/matrix-doc/pull/1380>`_).
- Mark ``GET /presence/{userId}/status`` as requiring authentication
(`#1371 <https://github.com/matrix-org/matrix-doc/pull/1371>`_).
- Describe ``StateEvent`` for ``/createRoom`` - Describe ``StateEvent`` for ``/createRoom``
(`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_).
- Describe how the ``reason`` is handled for kicks/bans
- Changes to the API which will be backwards-compatible for clients: (`#1362 <https://github.com/matrix-org/matrix-doc/pull/1362>`_).
- Clarify that clients must leave rooms before forgetting them
- Add 'token' parameter to /keys/query endpoint (`#1378 <https://github.com/matrix-org/matrix-doc/pull/1378>`_).
(`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). - Clarify the request and result types on ``/search``
- Add the room visibility options for the room directory (`#1381 <https://github.com/matrix-org/matrix-doc/pull/1381>`_).
(`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_).
- Add spec for ignoring users
(`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_).
- Add the ``/register/available`` endpoint for username availability
(`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_).
- Add ``allow_remote`` to the content repo to avoid routing loops
(`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_).
- Add report content API
(`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_).
- Document ``/logout/all`` endpoint
(`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_).
- Document `highlights` field in /search response
(`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_).
r0.3.0 r0.3.0
====== ======

@ -0,0 +1 @@
Document message formats on ``m.text`` and ``m.emote`` messages

@ -2,7 +2,9 @@
"age": 242352, "age": 242352,
"content": { "content": {
"body": "thinks this is an example emote", "body": "thinks this is an example emote",
"msgtype": "m.emote" "msgtype": "m.emote",
"format": "org.matrix.custom.html",
"formatted_body": "thinks <b>this</b> is an example emote"
}, },
"origin_server_ts": 1431961217939, "origin_server_ts": 1431961217939,
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",

@ -2,7 +2,9 @@
"age": 242352, "age": 242352,
"content": { "content": {
"body": "This is an example text message", "body": "This is an example text message",
"msgtype": "m.text" "msgtype": "m.text",
"format": "org.matrix.custom.html",
"formatted_body": "<b>This is an example text message</b>"
}, },
"origin_server_ts": 1431961217939, "origin_server_ts": 1431961217939,
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",

@ -12,6 +12,16 @@ properties:
enum: enum:
- m.emote - m.emote
type: string type: string
format:
description: |-
The format used in the ``formatted_body``. Currently only
``org.matrix.custom.html`` is supported.
type: string
formatted_body:
description: |-
The formatted version of the ``body``. This is required if ``format``
is specified.
type: string
required: required:
- msgtype - msgtype
- body - body

@ -12,6 +12,16 @@ properties:
enum: enum:
- m.text - m.text
type: string type: string
format:
description: |-
The format used in the ``formatted_body``. Currently only
``org.matrix.custom.html`` is supported.
type: string
formatted_body:
description: |-
The formatted version of the ``body``. This is required if ``format``
is specified.
type: string
required: required:
- msgtype - msgtype
- body - body

@ -701,8 +701,8 @@ func ignoreExitCodeOne(err error) error {
func main() { func main() {
flag.Parse() flag.Parse()
// It would be great to read this from github, but there's no convenient way to do so. // It would be great to read this from github
// Most of these memberships are "private", so would require some kind of auth. // cf https://github.com/matrix-org/matrix-doc/issues/1384
allowedMembers = map[string]bool{ allowedMembers = map[string]bool{
"dbkr": true, "dbkr": true,
"erikjohnston": true, "erikjohnston": true,
@ -715,6 +715,11 @@ func main() {
"rxl881": true, "rxl881": true,
"uhoreg": true, "uhoreg": true,
"turt2live": true, "turt2live": true,
"Half-Shot": true,
"anoadragon453": true,
"mujx": true,
"benparsons": true,
"KitsuneRal": true,
} }
if err := initCache(); err != nil { if err := initCache(); err != nil {
log.Fatal(err) log.Fatal(err)

@ -502,6 +502,11 @@ class MatrixUnits(Units):
# assign value expected for this param # assign value expected for this param
val_type = param.get("type") # integer/string val_type = param.get("type") # integer/string
if val_type == "array":
items = param.get("items")
if items:
val_type = "[%s]" % items.get("type")
if param.get("enum"): if param.get("enum"):
val_type = "enum" val_type = "enum"
desc += ( desc += (

@ -164,6 +164,25 @@ recommended.
{{versions_cs_http_api}} {{versions_cs_http_api}}
Web Browser Clients
-------------------
It is realistic to expect that some clients will be written to be run within a
web browser or similar environment. In these cases, the homeserver should respond
to pre-flight requests and supply Cross-Origin Resource Sharing (CORS) headers on
all requests.
When a client approaches the server with a pre-flight (``OPTIONS``) request, the
server should respond with the CORS headers for that route. The recommended CORS
headers to be returned by servers on all requests are:
.. code::
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
Client Authentication Client Authentication
--------------------- ---------------------

@ -16,6 +16,10 @@
Federation API Federation API
============== ==============
.. WARNING::
This API is unstable and will change without warning or discussion while
we work towards a r0 release (scheduled for August 2018).
Matrix homeservers use the Federation APIs (also known as server-server APIs) Matrix homeservers use the Federation APIs (also known as server-server APIs)
to communicate with each other. Homeservers use these APIs to push messages to to communicate with each other. Homeservers use these APIs to push messages to
each other in real-time, to each other in real-time, to

Loading…
Cancel
Save