Use $ref, clean up, fix errors, AS is now a C-S module.

anoa/as_thirdparty_lookup
Andrew Morgan 6 years ago
parent e81e0328c2
commit 114bcf1a2e

@ -131,7 +131,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -140,7 +140,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: |-
The application service indicates that this room alias does not exist.
@ -150,7 +150,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/users/{userId}":
get:
summary: Query if a user should exist on the application service.
@ -187,7 +187,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -196,7 +196,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: |-
The application service indicates that this user does not exist.
@ -206,7 +206,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/_matrix/app/unstable/thirdparty/protocol/{protocol}":
get:
summary: Retrieve metadata about a specific protocol that the application service supports.
@ -219,44 +219,14 @@ paths:
- in: path
name: protocol
type: string
description: |-
The name of the protocol.
description: The protocol ID.
required: true
x-example: "irc"
responses:
200:
description: The protocol was found and metadata returned.
examples:
application/json: {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
}
schema:
type: object
$ref: definitions/schema/protocol_metadata.yaml
401:
description: |-
The homeserver has not supplied credentials to the application service.
@ -266,7 +236,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -275,7 +245,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: No protocol was found with the given path.
examples:
@ -283,20 +253,20 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/_matrix/app/unstable/thirdparty/user/{protocol}":
get:
summary: Retrieve the Matrix ID of a corresponding third party user.
summary: Retrieve the Matrix User ID of a corresponding third party user.
description: |-
This API is called by the homeserver in order to retrieve a Matrix ID linked
to a user on the external service, given a set of user parameters.
This API is called by the homeserver in order to retrieve a Matrix
User ID linked to a user on the third party network, given a set of
user parameters.
operationId: queryUserByProtocol
parameters:
- in: path
name: protocol
type: string
description: |-
The name of the protocol.
description: The protocol ID.
required: true
x-example: irc
- in: query
@ -307,35 +277,9 @@ paths:
service to help identify the user.
responses:
200:
description: The Matrix IDs found with the given parameters.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
description: The Matrix User IDs found with the given parameters.
schema:
type: array
description: Matched users.
items:
type: object
title: User
schema:
userid:
type: string
description: The Matrix ID of the matched user.
protocol:
type: string
description: The third party protocol.
fields:
type: object
description: The third party network fields used to identify this user.
properties:
user:
type: string
description: An example field, in this case the username for a Gitter user.
$ref: definitions/schema/user_batch.yaml
401:
description: |-
The homeserver has not supplied credentials to the application service.
@ -345,7 +289,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -354,7 +298,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: No users were found with the given parameters.
examples:
@ -362,27 +306,20 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/_matrix/app/unstable/thirdparty/location/{protocol}":
get:
summary: Retreive Matrix-side portal rooms leading to a third party location.
description: |-
Requesting this endpoint with a valid protocol name results in a list
of successful mapping results in a JSON array. Each result contains
objects to represent the Matrix room or rooms that represent a portal
to this third party network. Each has the Matrix room alias string,
an identifier for the particular third party network protocol, and an
object containing the network-specific fields that comprise this
identifier. It should attempt to canonicalise the identifier as much
as reasonably possible given the network type.
Retrieve a list of Matrix portal rooms that lead to the matched third party location.
operationId: queryLocationByProtocol
parameters:
- in: path
name: protocol
type: string
description: The protocol used to communicate to the third party network.
description: The protocol ID.
required: true
x-example: "irc"
x-example: irc
- in: query
name: field1, field2...
type: string
@ -392,23 +329,8 @@ paths:
responses:
200:
description: At least one portal room was found.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: |-
Array of portal rooms leading to the requested third party
location.
items:
type: object
title: Portal Room
$ref: definitions/schema/location_batch.yaml
401:
description: |-
The homeserver has not supplied credentials to the application service.
@ -418,7 +340,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -427,7 +349,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: No mappings were found with the given parameters.
examples:
@ -435,7 +357,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/_matrix/app/unstable/thirdparty/location":
get:
summary: Reverse-lookup third party locations given a Matrix room alias.
@ -444,30 +366,16 @@ paths:
alias.
operationId: queryLocationByAlias
parameters:
- in: query
name: alias
type: string
description: The Matrix room alias to look up.
- in: query
name: alias
type: string
description: The Matrix room alias to look up.
responses:
200:
description: |-
All found third party locations. Same response format as the
forward lookup response.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
All found third party locations.
schema:
type: array
description: Matched third party locations.
items:
type: object
title: Location
$ref: definitions/schema/location_batch.yaml
401:
description: |-
The homeserver has not supplied credentials to the application service.
@ -477,7 +385,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -486,7 +394,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: No mappings were found with the given parameters.
examples:
@ -494,36 +402,24 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
"/_matrix/app/unstable/thirdparty/user":
get:
summary: Reverse-lookup third party users given a Matrix ID.
summary: Reverse-lookup third party users given a Matrix User ID.
description: |-
Retreive an array of third party users from a Matrix ID.
Retreive an array of third party users from a Matrix User ID.
operationId: queryUserByID
parameters:
- in: query
name: userid
type: string
description: The Matrix ID to look up.
description: The Matrix User ID to look up.
responses:
200:
description: |-
An array of third party users.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched third party users
items:
type: object
title: User
$ref: definitions/schema/user_batch.yaml
401:
description: |-
The homeserver has not supplied credentials to the application service.
@ -533,7 +429,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
403:
description: |-
The credentials supplied by the homeserver were rejected.
@ -542,7 +438,7 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml
404:
description: No mappings were found with the given parameters.
examples:
@ -550,4 +446,4 @@ paths:
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
$ref: ../client-server/definitions/error.yaml

@ -0,0 +1,30 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
properties:
alias:
description: An alias for a matrix room.
type: string
example: "#freenode_#matrix:matrix.org"
protocol:
description: The protocol ID that the third party location is a part of.
type: string
example: irc
fields:
description: Information used to identify this third party location.
type: object
example:
"network": "freenode"
"channel": "#matrix"
title: Location
type: object

@ -0,0 +1,17 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
type: array
description: List of matched third party locations.
items:
$ref: location.yaml

@ -0,0 +1,79 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
properties:
user_fields:
description: Fields used to identify a third party user.
type: array
items:
type: string
description: Field used to identify a third party user.
example: ["network", "nickname"]
location_fields:
description: Fields used to identify a third party location.
type: array
items:
type: string
description: Field used to identify a third party location.
example: ["network", "channel"]
icon:
description: An icon representing the third party protocol.
type: string
example: "mxc://example.org/aBcDeFgH"
field_types:
title: Field Types
description: All location or user fields should have an entry here.
type: object
properties:
fieldname:
title: Field Type
description: Definition of valid values for a field.
type: object
properties:
regexp:
description: A regular expression for validation of a field's value.
type: string
placeholder:
description: An placeholder serving as a valid example of the field value.
type: string
example: {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s#]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
}
instances:
description: |-
A list of objects representing independent instances of configuration.
For instance multiple networks on IRC if multiple are bridged by the
same bridge.
type: array
items:
type: object
example: {
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
title: Protocol
type: object

@ -0,0 +1,66 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
type: object
description: Dictionary of supported third party protocols.
example: {
"irc": {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
},
"gitter": {
"user_fields": ["username"],
"location_fields": ["room"],
"field_types": {
"username": {
"regexp": "@[^\\s]+",
"placeholder": "@username"
},
"room": {
"regexp": "[^\\s]+\\/[^\\s]+",
"placeholder": "matrix-org/matrix-doc"
}
},
"instances": [
{
"desc": "Gitter",
"icon": "mxc://example.org/zXyWvUt",
"fields": {}
}
]
}
}

@ -0,0 +1,31 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# TODO: Change userid to user_id as a breaking change
properties:
userid:
description: A Matrix User ID represting a third party user.
type: string
example: "@_gitter_jim:matrix.org"
protocol:
description: The protocol ID that the third party location is a part of.
type: string
example: gitter
fields:
description: Information used to identify this third party location.
type: object
example:
"user": "jim"
title: Location
type: object

@ -0,0 +1,17 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
type: array
description: List of matched third party users.
items:
$ref: user.yaml

@ -24,6 +24,8 @@ consumes:
- application/json
produces:
- application/json
securityDefinitions:
$ref: definitions/security.yaml
paths:
"/thirdparty/protocols":
get:
@ -36,60 +38,8 @@ paths:
responses:
200:
description: The protocols supported by the homeserver.
examples:
application/json: {
"irc": {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
},
"gitter": {
"user_fields": ["username"],
"location_fields": ["room"],
"field_types": {
"username": {
"regexp": "@[^\\s]+",
"placeholder": "@username"
},
"room": {
"regexp": "[^\\s]+\\/[^\\s]+",
"placeholder": "matrix-org/matrix-doc"
}
},
"instances": [
{
"desc": "Gitter",
"icon": "mxc://example.org/zXyWvUt",
"fields": {}
}
]
}
}
schema:
type: object
$ref: ../application-service/definitions/schema/protocol_metadata.yaml
"/thirdparty/protocol/{protocol}":
get:
summary: Retrieve metadata about a specific protocol that the homeserver supports.
@ -107,45 +57,16 @@ paths:
responses:
200:
description: The protocol was found and metadata returned.
examples:
application/json: {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s#]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
}
schema:
type: object
$ref: ../application-service/definitions/schema/protocol.yaml
404:
description: The protocol is unknown
description: The protocol is unknown.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
$ref: definitions/error.yaml
"/thirdparty/location/{protocol}":
get:
summary: Retreive Matrix-side portals rooms leading to a third party location.
@ -165,9 +86,9 @@ paths:
type: string
description: The protocol used to communicate to the third party network.
required: true
x-example: "irc"
x-example: irc
- in: query
name: field1, field2...
name: searchFields
type: string
description: |-
One or more custom fields to help identify the third party
@ -175,36 +96,21 @@ paths:
responses:
200:
description: At least one portal room was found.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: |-
Array of portal rooms leading to the requested third party
location.
items:
type: object
title: Portal Room
$ref: ../application-service/definitions/schema/location_batch.yaml
404:
description: The Matrix room alias was not found
description: No portal rooms were found.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
$ref: definitions/error.yaml
"/thirdparty/user/{protocol}":
get:
summary: Retrieve the Matrix ID of a corresponding third party user.
summary: Retrieve the Matrix User ID of a corresponding third party user.
description: |-
Retrieve a Matrix ID linked to a user on the third party service, given
Retrieve a Matrix User ID linked to a user on the third party service, given
a set of user parameters.
operationId: queryUserByProtocol
parameters:
@ -222,43 +128,16 @@ paths:
One or more custom fields that are passed to the AS to help identify the user.
responses:
200:
description: The Matrix IDs found with the given parameters.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched users.
items:
type: object
title: User
schema:
userid:
type: string
description: The Matrix ID of the matched user.
protocol:
type: string
description: The third party protocol.
fields:
type: object
description: The third party network fields used to identify this user.
properties:
user:
type: string
description: An example field, in this case the username for a Gitter user.
description: The Matrix User IDs found with the given parameters.
$ref: ../application-service/definitions/schema/user_batch.yaml
404:
description: The Matrix ID was not found
description: The Matrix User ID was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
$ref: definitions/error.yaml
"/thirdparty/location":
get:
summary: Reverse-lookup third party locations given a Matrix room alias.
@ -267,30 +146,17 @@ paths:
alias.
operationId: queryLocationByAlias
parameters:
- in: path
name: alias
type: string
description: The Matrix room alias to look up.
- in: path
name: alias
type: string
description: The Matrix room alias to look up.
required: true
responses:
200:
description: |-
All found third party locations. Same response format as the
forward lookup response.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
All found third party locations.
schema:
type: array
description: Matched third party locations.
items:
type: object
title: Location
$ref: ../application-service/definitions/schema/location_batch.yaml
404:
description: The Matrix room alias was not found
examples:
@ -298,41 +164,30 @@ paths:
"errcode": "M_NOT_FOUND"
}
schema:
type: object
$ref: definitions/error.yaml
"/thirdparty/user":
get:
summary: Reverse-lookup third party users given a Matrix ID.
summary: Reverse-lookup third party users given a Matrix User ID.
description: |-
Retreive an array of third party users from a Matrix ID.
Retreive an array of third party users from a Matrix User ID.
operationId: queryUserByID
parameters:
- in: path
name: userid
type: string
description: The Matrix ID to look up.
description: The Matrix User ID to look up.
required: true
responses:
200:
description: |-
An array of third party users.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched third party users
items:
type: object
title: User
$ref: ../application-service/definitions/schema/user_batch.yaml
404:
description: The Matrix ID was not found
description: The Matrix User ID was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
$ref: definitions/error.yaml

@ -42,6 +42,7 @@ Summary
`Server Side Search`_ Optional Optional Optional Optional Optional
`Server Administration`_ Optional Optional Optional Optional Optional
`Event Context`_ Optional Optional Optional Optional Optional
`Application Services`_ Optional Optional Optional Optional Optional
===================================== ========== ========== ========== ========== ==========
*Please see each module for more details on what clients need to implement.*
@ -57,6 +58,7 @@ Summary
.. _Server Side Search: `module:search`_
.. _Server Administration: `module:admin`_
.. _Event Context: `module:event-context`_
.. _Application Services: `module:application-services`_
Clients
-------

@ -1,6 +1,8 @@
Application Services
====================
.. _module:application-services:
An application service is a separate program that interacts with a homeserver
and provides various bits of functionality that would otherwise not make
sense to include directly in the homeserver. This ranges from bots, which can

@ -1,772 +1,6 @@
Tables of Tracked Proposals
---------------------------
proposal-wip
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This file is autogenerated by a jenkins build process
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_
- Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5)
- 2014-09-15
- 2018-05-15
- `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_
- `@KitsuneRal`_
- None
-
* - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_
- Federation API for canonicalising MXIDs
- 2014-10-27
- 2018-05-15
- `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
- `@ara4n`_
- None
-
* - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_
- Extensible Profiles. (SPEC-93)
- 2015-01-19
- 2018-05-15
- `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_
- `@erikjohnston`_
- None
-
* - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_
- Matrix Escape Hatch (Versioned Rooms)
- 2015-10-22
- 2018-05-15
- `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_
- `@leonerd`_
- None
-
* - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_
- Support for websockets
- 2015-11-16
- 2018-06-04
- `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_
- `@richvdh`_, `@krombel`_
- None
-
* - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_
- Push to Talk
- 2016-04-13
- 2018-05-15
- `1238-1 <TBD>`_
- `@aviraldg`_
- None
- `PR#310`_
* - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_
- Threading API
- 2016-05-23
- 2018-05-15
- `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_
- `@Half-Shot`_
- None
-
* - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_
- Publishing Room Lists for 3rd party networks
- 2016-10-21
- 2018-05-31
- `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_
- Support for Reactions / Aggregations
- 2016-12-25
- 2018-05-15
- `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_
- `@pik`_
- `@ara4n`_
-
* - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_
- Improving m.location with GeoJSON and accuracy
- 2017-05-19
- 2018-05-15
- `1237-1 <TBD>`_
- `@Half-Shot`_
- None
- `PR#919`_
* - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_
- Add groups stuff to spec
- 2017-08-10
- 2018-05-20
- `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_
- Groups as Rooms
- 2017-10-17
- 2018-05-15
- `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_
- Visibility of groups to group members and their non-members
- 2017-10-30
- 2018-05-15
- `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_
- `@lampholder`_
- None
-
* - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_
- Bridging group membership with 3rd party group sources
- 2017-11-15
- 2018-05-15
- `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_
- `@lukebarnard1`_
- None
-
* - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_
- Proposal for storing megolm keys serverside
- 2017-11-23
- 2018-05-15
- `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_
- `@ara4n`_
- None
-
* - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_
- Improving Presence
- 2017-12-26
- 2018-05-24
- `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_
- `@ara4n`_
- None
-
* - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_
- Pushing updates about Groups (Communities) to clients
- 2018-01-02
- 2018-05-24
- `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_
- `@ara4n`_
- None
-
* - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_
- Extensible event types & fallback in Matrix
- 2018-02-18
- 2018-05-15
- `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_
- `@ara4n`_
- None
-
* - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_
- Proposal for improved bot support
- 2018-03-14
- 2018-06-08
- `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_
- Removing MXIDs from events
- 2018-04-19
- 2018-05-15
- `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_
- `@richvdh`_
- None
-
* - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_
- Handling Consent for Privacy Policy
- 2018-05-02
- 2018-05-15
- `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_
- `@neilisfragile`_
- None
-
* - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_
- Interactive Key Verification
- 2018-05-28
- 2018-05-28
- `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_
- `@uhoreg`_
- None
-
* - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_
- Mechanisms for communicating erasure requests to bots and federated homeservers
- 2018-06-05
- 2018-06-05
- `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_
- `@richvdh`_
- None
-
* - `MSC688 <https://github.com/matrix-org/matrix-doc/issues/688>`_
- Calculate room names server-side
- 2018-06-10
- 2018-06-15
- `688-1 <https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1324 <https://github.com/matrix-org/matrix-doc/issues/1324>`_
- Custom protocol definitions for application services
- 2018-06-20
- 2018-06-20
- `1324-1 <https://docs.google.com/document/d/1nCAGu9ZDqum39yj1-pun-sldCCHgeDA0tPqC94R4Qcg/edit?usp=sharing>`_
- `@anoadragon453`_
- None
-
* - `MSC1323 <https://github.com/matrix-org/matrix-doc/issues/1323>`_
- AS traffic rate-limiting
- 2018-06-20
- 2018-07-03
- `1323-1 <https://docs.google.com/document/d/14ygfhAMUrAa04YMHHl2P8_mxV3H2ntNq_-crmZizED0/edit?usp=sharing>`_
- `@anoadragon453`_
- None
-
* - `MSC1322 <https://github.com/matrix-org/matrix-doc/issues/1322>`_
- Mechanism to communicate 3PID binding updates or deletions to homeservers
- 2018-06-20
- 2018-06-20
- `1322-1 <https://docs.google.com/document/d/1LPHBfJQ6x5iOkm2_ZYPNHNjyAzJ4hWNdOGcPGpnEb14>`_
- `@babolivier`_
- None
-
proposal-ready-for-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_
- Proposal for lazy-loading room members to improve initial sync speed and client RAM usage
- 2018-03-05
- 2018-06-10
- `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_
- `@ara4n`_
- None
-
* - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_
- Proposal for improved bot support
- 2018-03-14
- 2018-06-08
- `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_
- Custom emoji and sticker packs in matrix
- 2018-05-23
- 2018-05-24
- `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_
- Proposal Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS
- 2018-05-31
- 2018-06-19
- `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_
- `@oivoodoo`_
- None
-
* - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_
- Auth for content repo (and enforcing GDPR erasure)
- 2018-06-04
- 2018-06-07
- `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1304 <https://github.com/matrix-org/matrix-doc/issues/1304>`_
- Proposal to simplify the auth rules of m.room.power_level events.
- 2018-06-13
- 2018-06-14
- `1304-1 <https://docs.google.com/document/d/1YuaCFH3RzBUIAjJWFMzKROMDlttoP94KIsyV_F_kfNs/edit#heading=h.8b2tmd2n0vhz>`_
- `@richvdh`_, `@ara4n`_
- None
-
* - `MSC1301 <https://github.com/matrix-org/matrix-doc/issues/1301>`_
- Proposal for improving authorization for the matrix profile API
- 2018-06-13
- 2018-06-13
- `1301-1 <https://docs.google.com/document/d/1G7JjyTuJlZHieuAflGFWmdKyNViGGLRTWON7AMl0wrM/edit#>`_
- `@turt2live`_
- None
-
* - `MSC1309 <https://github.com/matrix-org/matrix-doc/issues/1309>`_
- Proposal for an application service management API
- 2018-06-14
- 2018-06-15
- `1309-1 <https://docs.google.com/document/d/1Y6bWdejrOiwL5UjnJ5VnOKoK6OfK6kX-pYbWT7f5czA/edit>`_
- `@turt2live`_
- None
-
* - `MSC1308 <https://github.com/matrix-org/matrix-doc/issues/1308>`_
- Proposal for speeding up review of simple spec changes
- 2018-06-14
- 2018-06-24
-
- `@ara4n`_
- None
-
* - `MSC1306 <https://github.com/matrix-org/matrix-doc/issues/1306>`_
- Proposal to filter out traffic to Appservices based on filters
- 2018-06-14
- 2018-06-14
- `1306-1 <https://docs.google.com/document/d/1YhjKWTjIijdM40_4xePtU6LliDJT068IE0i09Yl1w6g/edit?usp=sharing>`_
- `@Half-Shot`_
- None
-
proposal-in-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_
- A way for HSes to remove bindings from ISes (aka unbind)
- 2018-05-09
- 2018-06-05
- `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_
- `@dbkr`_
- None
-
proposal-passed-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_
- Support for discovering API endpoints via .well-known URIs (SPEC-121)
- 2015-03-08
- 2018-07-01
- `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_
- `@maxidor`_, `others`_
- `@uhoreg`_
-
* - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_
- State Reset mitigation proposal
- 2018-02-20
- 2018-05-15
- `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_
- `@richvdh`_
- None
-
* - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_
- Mitigating abuse of the event depth parameter over federation
- 2018-04-30
- 2018-05-15
- `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_
- `@ara4n`_
- None
-
* - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_
- Media limits API
- 2018-05-04
- 2018-06-21
- `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_
- `@Half-Shot`_
- None
- `PR#1189`_
* - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_
- Matrix Widget API v2
- 2018-05-13
- 2018-05-15
- `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_
- `@rxl881`_
- None
-
spec-pr-missing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_
- Configuration of E2E encryption in a room
- 2016-06-16
- 2018-05-31
- `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_
- `@richvdh`_
- None
-
* - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_
- Device Management API
- 2016-07-14
- 2018-05-15
- `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_
- `@richvdh`_
- None
-
* - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_
- 3rd Party Entity lookup API
- 2016-07-21
- 2018-07-02
- `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_
- `@leonerd`_
- None
-
* - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_
- Encrypted attachment format
- 2016-10-26
- 2018-05-15
- `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_
- `@NegativeMjark`_
- None
-
* - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_
- Reporting inappropriate content in Matrix
- 2016-11-21
- 2018-05-31
- `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_
- `@ara4n`_
- None
-
* - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_
- Megolm session export format
- 2017-01-03
- 2018-05-15
- `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_
- `@richvdh`_
- None
-
* - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_
- Device List Update Stream
- 2017-01-18
- 2018-05-15
- `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_
- `@richvdh`_
- None
-
* - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_
- Need to spec msisdn login API
- 2017-03-08
- 2018-05-15
- `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_
- `@dbkr`_
- None
-
* - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_
- spec m.login.msisdn UI auth type
- 2017-03-24
- 2018-05-15
- `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
- `@dbkr`_
- None
-
* - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_
- Add new Read Marker API to docs
- 2017-05-08
- 2018-05-15
-
- `@lukebarnard1`_
- None
-
* - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_
- Spec @mentions
- 2017-07-14
- 2018-05-15
- `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_
- `@lukebarnard1`_
- None
-
* - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_
- Related Groups (i.e. flair)
- 2017-10-03
- 2018-05-15
- `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_
- `@lukebarnard1`_
- None
-
* - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_
- Doc @room notifications
- 2017-10-23
- 2018-05-31
-
- `@dbkr`_
- None
-
* - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_
- Document key-share requests
- 2018-04-30
- 2018-05-31
- `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_
- `@richvdh`_
- None
-
* - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_
- Temporary mitigation for depth parameter abuse
- 2018-05-01
- 2018-05-15
- `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_
- `@ara4n`_
- None
-
* - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_
- Rich Replies format
- 2018-05-12
- 2018-05-18
- `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_
- `@t3chguy`_
- None
-
merged
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_
- Ignoring Users
- 2016-05-03
- 2018-05-18
- `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_
- `@erikjohnston`_
- None
- `PR#1142`_
* - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_
- Notifications API
- 2016-05-23
- 2018-06-25
- `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_
- `@dbkr`_
- None
-
* - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_
- Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition
- 2016-09-29
- 2018-06-25
- `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_
- `@richvdh`_
- None
-
* - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_
- Proposal for multi-device deletion API
- 2016-10-12
- 2018-06-25
- `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_
- `@richvdh`_
- None
- `PR#1239`_
* - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_
- Add /user_directory/search API
- 2017-05-31
- 2018-05-10
- `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_
- A proposal for organising spec proposals
- 2018-05-10
- 2018-06-25
- `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_
- `@ara4n`_
- None
- `PR#1240`_
abandoned
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_
- Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206)
- 2015-07-25
- 2018-05-15
- `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_
- `@Kegsay`_
- None
-
* - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_
- Profile Personae
- 2016-07-15
- 2018-05-15
- `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_
- Server Side Profile API
- 2016-11-01
- 2018-05-15
- `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_
- `@erikjohnston`_
- None
-
* - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_
- Set defaults for m.federate
- 2017-04-10
- 2018-05-18
- `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_
- `@psaavedra`_
- None
-
obsolete
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_
- Replies event format
- 2018-02-01
- 2018-05-15
- `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_
- `@t3chguy`_
- None
-
* - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_
- Replies - next steps
- 2018-02-03
- 2018-05-15
- `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_
- `@t3chguy`_
- None
-
* - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_
- Proposal for Calendar Events
- 2018-02-06
- 2018-05-15
- `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_
- `@Half-Shot`_
- None
-
* - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_
- Rich quoting proposal
- 2018-05-10
- 2018-05-15
- `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_
- `@t3chguy`_
- None
-
.. _@rxl881: https://github.com/rxl881
.. _@turt2live: https://github.com/turt2live
.. _@erikjohnston: https://github.com/erikjohnston
.. _@anoadragon453: https://github.com/anoadragon453
.. _@t3chguy: https://github.com/t3chguy
.. _@Kegsay: https://github.com/Kegsay
.. _@KitsuneRal: https://github.com/KitsuneRal
.. _@leonerd: https://github.com/leonerd
.. _@psaavedra: https://github.com/psaavedra
.. _@ara4n: https://github.com/ara4n
.. _@krombel: https://github.com/krombel
.. _@maxidor: https://github.com/maxidor
.. _@uhoreg: https://github.com/uhoreg
.. _@pik: https://github.com/pik
.. _@neilisfragile: https://github.com/neilisfragile
.. _@babolivier: https://github.com/babolivier
.. _@lukebarnard1: https://github.com/lukebarnard1
.. _others: https://github.com/thers
.. _@Half-Shot: https://github.com/Half-Shot
.. _@aviraldg: https://github.com/aviraldg
.. _@oivoodoo: https://github.com/oivoodoo
.. _@richvdh: https://github.com/richvdh
.. _@NegativeMjark: https://github.com/NegativeMjark
.. _@lampholder: https://github.com/lampholder
.. _@dbkr: https://github.com/dbkr
.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189
.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310
.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142
.. _PR#1239: https://github.com/matrix-org/matrix-doc/pull/1239
.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240
.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919
View the current live version `at https://matrix.org/docs/spec/proposals <https://matrix.org/docs/spec/proposals>`_

@ -12,7 +12,6 @@ targets:
- { 1: modules.rst }
- { 2: feature_profiles.rst }
- { 2: "group:modules" } # reference a group of files
- { 1: third_party_lookup.rst }
version_label: "%CLIENT_RELEASE_LABEL%"
application_service:
files:
@ -69,6 +68,7 @@ groups: # reusable blobs of files when prefixed with 'group:'
- modules/ignore_users.rst
- modules/stickers.rst
- modules/report_content.rst
- modules/application_services.rst
title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"]

Loading…
Cancel
Save