remove trailing whitespace

pull/977/head
Mark Haines 10 years ago
parent 969cc408f1
commit 7e244e8a0d

@ -12,7 +12,7 @@ WARNING
We're publishing it at this point because it's complete enough to be more than We're publishing it at this point because it's complete enough to be more than
useful and provide a canonical reference to how Matrix is evolving. Our end useful and provide a canonical reference to how Matrix is evolving. Our end
goal is to mirror WHATWG's `Living Standard <http://wiki.whatwg.org/wiki/FAQ#What_does_.22Living_Standard.22_mean.3F>`_ goal is to mirror WHATWG's `Living Standard <http://wiki.whatwg.org/wiki/FAQ#What_does_.22Living_Standard.22_mean.3F>`_
approach except right now Matrix is more in the process of being born than actually being approach except right now Matrix is more in the process of being born than actually being
living! living!
@ -153,7 +153,7 @@ domain, it is simply for globally namespacing room IDs. The room does NOT
reside on the domain specified. Room IDs are not meant to be human readable. reside on the domain specified. Room IDs are not meant to be human readable.
They ARE case-sensitive. They ARE case-sensitive.
The following diagram shows an ``m.room.message`` event being sent in the room The following diagram shows an ``m.room.message`` event being sent in the room
``!qporfwt:matrix.org``:: ``!qporfwt:matrix.org``::
{ @alice:matrix.org } { @bob:domain.com } { @alice:matrix.org } { @bob:domain.com }
@ -207,7 +207,7 @@ that are in the room that can be used to join via.
:: ::
GET GET
#matrix:domain.com !aaabaa:matrix.org #matrix:domain.com !aaabaa:matrix.org
| ^ | ^
| | | |
@ -218,7 +218,7 @@ that are in the room that can be used to join via.
| #golf >> !wfeiofh:sport.com | | #golf >> !wfeiofh:sport.com |
| #bike >> !4rguxf:matrix.org | | #bike >> !4rguxf:matrix.org |
|________________________________| |________________________________|
Identity Identity
~~~~~~~~ ~~~~~~~~
@ -456,7 +456,7 @@ State Resolution
++++++++++++++++ ++++++++++++++++
A given state section may have multiple state events associated with it in a A given state section may have multiple state events associated with it in a
given graph. A consistent method of selecting which state event takes given graph. A consistent method of selecting which state event takes
precedence is therefore required. precedence is therefore required.
This is done by taking the latest state events, i.e. the set of events that are This is done by taking the latest state events, i.e. the set of events that are
either incomparable or after every other event in the graph. A state resolution either incomparable or after every other event in the graph. A state resolution
@ -530,7 +530,7 @@ codes should have their namespace first in ALL CAPS, followed by a single _.
For example, if there was a custom namespace ``com.mydomain.here``, and a For example, if there was a custom namespace ``com.mydomain.here``, and a
``FORBIDDEN`` code, the error code should look like ``FORBIDDEN`` code, the error code should look like
``COM.MYDOMAIN.HERE_FORBIDDEN``. There may be additional keys depending on the ``COM.MYDOMAIN.HERE_FORBIDDEN``. There may be additional keys depending on the
error, but the keys ``error`` and ``errcode`` MUST always be present. error, but the keys ``error`` and ``errcode`` MUST always be present.
Some standard error codes are below: Some standard error codes are below:

@ -79,7 +79,7 @@ State events have the additional fields:
Description: Description:
Optional. Contains the previous ``content`` for this event. If there is no previous content, this Optional. Contains the previous ``content`` for this event. If there is no previous content, this
key will be missing. key will be missing.
.. TODO-spec .. TODO-spec
How do "age" and "ts" fit in to all this? Which do we expose? How do "age" and "ts" fit in to all this? Which do we expose?
@ -95,7 +95,7 @@ prefixed with ``m.``
``m.room.name`` ``m.room.name``
Summary: Summary:
Set the human-readable name for the room. Set the human-readable name for the room.
Type: Type:
State event State event
JSON format: JSON format:
``{ "name" : "string" }`` ``{ "name" : "string" }``
@ -112,7 +112,7 @@ prefixed with ``m.``
``m.room.topic`` ``m.room.topic``
Summary: Summary:
Set a topic for the room. Set a topic for the room.
Type: Type:
State event State event
JSON format: JSON format:
``{ "topic" : "string" }`` ``{ "topic" : "string" }``
@ -128,7 +128,7 @@ prefixed with ``m.``
``m.room.member`` ``m.room.member``
Summary: Summary:
The current membership state of a user in the room. The current membership state of a user in the room.
Type: Type:
State event State event
JSON format: JSON format:
``{ "membership" : "enum[ invite|join|leave|ban ]" }`` ``{ "membership" : "enum[ invite|join|leave|ban ]" }``
@ -145,20 +145,20 @@ prefixed with ``m.``
``m.room.create`` ``m.room.create``
Summary: Summary:
The first event in the room. The first event in the room.
Type: Type:
State event State event
JSON format: JSON format:
``{ "creator": "string"}`` ``{ "creator": "string"}``
Example: Example:
``{ "creator": "@user:example.com" }`` ``{ "creator": "@user:example.com" }``
Description: Description:
This is the first event in a room and cannot be changed. It acts as the This is the first event in a room and cannot be changed. It acts as the
root of all other events. root of all other events.
``m.room.join_rules`` ``m.room.join_rules``
Summary: Summary:
Descripes how/if people are allowed to join. Descripes how/if people are allowed to join.
Type: Type:
State event State event
JSON format: JSON format:
``{ "join_rule": "enum [ public|knock|invite|private ]" }`` ``{ "join_rule": "enum [ public|knock|invite|private ]" }``
@ -166,55 +166,55 @@ prefixed with ``m.``
``{ "join_rule": "public" }`` ``{ "join_rule": "public" }``
Description: Description:
TODO-doc : Use docs/models/rooms.rst TODO-doc : Use docs/models/rooms.rst
``m.room.power_levels`` ``m.room.power_levels``
Summary: Summary:
Defines the power levels of users in the room. Defines the power levels of users in the room.
Type: Type:
State event State event
JSON format: JSON format:
``{ "<user_id>": <int>, ..., "default": <int>}`` ``{ "<user_id>": <int>, ..., "default": <int>}``
Example: Example:
``{ "@user:example.com": 5, "@user2:example.com": 10, "default": 0 }`` ``{ "@user:example.com": 5, "@user2:example.com": 10, "default": 0 }``
Description: Description:
If a user is in the list, then they have the associated power level. If a user is in the list, then they have the associated power level.
Otherwise they have the default level. If not ``default`` key is supplied, Otherwise they have the default level. If not ``default`` key is supplied,
it is assumed to be 0. it is assumed to be 0.
``m.room.add_state_level`` ``m.room.add_state_level``
Summary: Summary:
Defines the minimum power level a user needs to add state. Defines the minimum power level a user needs to add state.
Type: Type:
State event State event
JSON format: JSON format:
``{ "level": <int> }`` ``{ "level": <int> }``
Example: Example:
``{ "level": 5 }`` ``{ "level": 5 }``
Description: Description:
To add a new piece of state to the room a user must have the given power To add a new piece of state to the room a user must have the given power
level. This does not apply to updating current state, which is goverened level. This does not apply to updating current state, which is goverened
by the ``required_power_level`` event key. by the ``required_power_level`` event key.
``m.room.send_event_level`` ``m.room.send_event_level``
Summary: Summary:
Defines the minimum power level a user needs to send an event. Defines the minimum power level a user needs to send an event.
Type: Type:
State event State event
JSON format: JSON format:
``{ "level": <int> }`` ``{ "level": <int> }``
Example: Example:
``{ "level": 0 }`` ``{ "level": 0 }``
Description: Description:
To send a new event into the room a user must have at least this power To send a new event into the room a user must have at least this power
level. This allows ops to make the room read only by increasing this level, level. This allows ops to make the room read only by increasing this level,
or muting individual users by lowering their power level below this or muting individual users by lowering their power level below this
threshold. threshold.
``m.room.ops_levels`` ``m.room.ops_levels``
Summary: Summary:
Defines the minimum power levels that a user must have before they can Defines the minimum power levels that a user must have before they can
kick and/or ban other users. kick and/or ban other users.
Type: Type:
State event State event
JSON format: JSON format:
``{ "ban_level": <int>, "kick_level": <int>, "redact_level": <int> }`` ``{ "ban_level": <int>, "kick_level": <int>, "redact_level": <int> }``
@ -222,7 +222,7 @@ prefixed with ``m.``
``{ "ban_level": 5, "kick_level": 5 }`` ``{ "ban_level": 5, "kick_level": 5 }``
Description: Description:
This defines who can ban and/or kick people in the room. Most of the time This defines who can ban and/or kick people in the room. Most of the time
``ban_level`` will be greater than or equal to ``kick_level`` since ``ban_level`` will be greater than or equal to ``kick_level`` since
banning is more severe than kicking. banning is more severe than kicking.
``m.room.aliases`` ``m.room.aliases``
@ -266,7 +266,7 @@ prefixed with ``m.``
``m.room.message`` ``m.room.message``
Summary: Summary:
A message. A message.
Type: Type:
Non-state event Non-state event
JSON format: JSON format:
``{ "msgtype": "string" }`` ``{ "msgtype": "string" }``
@ -283,7 +283,7 @@ prefixed with ``m.``
``m.room.message.feedback`` ``m.room.message.feedback``
Summary: Summary:
A receipt for a message. A receipt for a message.
Type: Type:
Non-state event Non-state event
JSON format: JSON format:
``{ "type": "enum [ delivered|read ]", "target_event_id": "string" }`` ``{ "type": "enum [ delivered|read ]", "target_event_id": "string" }``
@ -294,7 +294,7 @@ prefixed with ``m.``
are two supported acknowledgements: ``delivered`` (sent when the event has are two supported acknowledgements: ``delivered`` (sent when the event has
been received) and ``read`` (sent when the event has been observed by the been received) and ``read`` (sent when the event has been observed by the
end-user). The ``target_event_id`` should reference the ``m.room.message`` end-user). The ``target_event_id`` should reference the ``m.room.message``
event being acknowledged. event being acknowledged.
``m.room.redaction`` ``m.room.redaction``
Summary: Summary:
@ -352,10 +352,10 @@ outlined below:
- ``body`` : "string" - The alt text of the image, or some kind of content - ``body`` : "string" - The alt text of the image, or some kind of content
description for accessibility e.g. "image attachment". description for accessibility e.g. "image attachment".
ImageInfo: ImageInfo:
Information about an image:: Information about an image::
{ {
"size" : integer (size of image in bytes), "size" : integer (size of image in bytes),
"w" : integer (width of image in pixels), "w" : integer (width of image in pixels),
"h" : integer (height of image in pixels), "h" : integer (height of image in pixels),
@ -371,7 +371,7 @@ outlined below:
- ``body`` : "string" - A description of the audio e.g. "Bee Gees - Stayin' - ``body`` : "string" - A description of the audio e.g. "Bee Gees - Stayin'
Alive", or some kind of content description for accessibility e.g. Alive", or some kind of content description for accessibility e.g.
"audio attachment". "audio attachment".
AudioInfo: AudioInfo:
Information about a piece of audio:: Information about a piece of audio::
{ {
@ -390,7 +390,7 @@ outlined below:
some kind of content description for accessibility e.g. "video some kind of content description for accessibility e.g. "video
attachment". attachment".
VideoInfo: VideoInfo:
Information about a video:: Information about a video::
{ {
@ -466,7 +466,7 @@ This event is sent by the caller when they wish to establish a call.
valid for. Once the invite age exceeds this value, clients should discard valid for. Once the invite age exceeds this value, clients should discard
it. They should also no longer show the call as awaiting an answer in the it. They should also no longer show the call as awaiting an answer in the
UI. UI.
Optional keys: Optional keys:
None. None.
Example: Example:
@ -537,7 +537,7 @@ A call is set up with messages exchanged as follows:
<------ m.call.answer <------ m.call.answer
[...] [...]
<------ m.call.hangup <------ m.call.hangup
Or a rejected call: Or a rejected call:
:: ::

@ -89,9 +89,9 @@ This specification defines the following login types:
Password-based Password-based
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
:Type: :Type:
``m.login.password`` ``m.login.password``
:Description: :Description:
Login is supported via a username and password. Login is supported via a username and password.
To respond to this type, reply with:: To respond to this type, reply with::
@ -107,10 +107,10 @@ login process, or a standard error response.
Captcha-based Captcha-based
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
:Type: :Type:
``m.login.recaptcha`` ``m.login.recaptcha``
:Description: :Description:
Login is supported by responding to a captcha (in the case of the Synapse Login is supported by responding to a captcha (in the case of the Synapse
implementation, Google's Recaptcha library is used). implementation, Google's Recaptcha library is used).
To respond to this type, reply with:: To respond to this type, reply with::
@ -131,7 +131,7 @@ login process, or a standard error response.
OAuth2-based OAuth2-based
~~~~~~~~~~~~ ~~~~~~~~~~~~
:Type: :Type:
``m.login.oauth2`` ``m.login.oauth2``
:Description: :Description:
Login is supported via OAuth2 URLs. This login consists of multiple requests. Login is supported via OAuth2 URLs. This login consists of multiple requests.
@ -154,7 +154,7 @@ the uri is a ``sevice selection URI``, it MUST point to a webpage which prompts
the user to choose which service to authorize with. On selection of a service, the user to choose which service to authorize with. On selection of a service,
this MUST link through to an ``Authorization Request URI``. If there is only 1 this MUST link through to an ``Authorization Request URI``. If there is only 1
service which the home server accepts when logging in, this indirection can be service which the home server accepts when logging in, this indirection can be
skipped and the "uri" key can be the ``Authorization Request URI``. skipped and the "uri" key can be the ``Authorization Request URI``.
The client then visits the ``Authorization Request URI``, which then shows the The client then visits the ``Authorization Request URI``, which then shows the
OAuth2 Allow/Deny prompt. Hitting 'Allow' returns the ``redirect URI`` with the OAuth2 Allow/Deny prompt. Hitting 'Allow' returns the ``redirect URI`` with the
@ -165,8 +165,8 @@ When the home server gets this access token, it verifies that the cilent has
authorised with the 3rd party, and can now complete the login. The OAuth2 authorised with the 3rd party, and can now complete the login. The OAuth2
``redirect URI`` (with auth code) MUST respond with either new credentials, the ``redirect URI`` (with auth code) MUST respond with either new credentials, the
next stage of the login process, or a standard error response. next stage of the login process, or a standard error response.
For example, if a home server accepts OAuth2 from Google, it would return the For example, if a home server accepts OAuth2 from Google, it would return the
Authorization Request URI for Google:: Authorization Request URI for Google::
{ {
@ -184,10 +184,10 @@ visits the REDIRECT_URI with the auth code= query parameter which returns::
Email-based (code) Email-based (code)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
:Type: :Type:
``m.login.email.code`` ``m.login.email.code``
:Description: :Description:
Login is supported by typing in a code which is sent in an email. This login Login is supported by typing in a code which is sent in an email. This login
consists of multiple requests. consists of multiple requests.
To respond to this type, reply with:: To respond to this type, reply with::
@ -220,10 +220,10 @@ stage of the login process, or a standard error response.
Email-based (url) Email-based (url)
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
:Type: :Type:
``m.login.email.url`` ``m.login.email.url``
:Description: :Description:
Login is supported by clicking on a URL in an email. This login consists of Login is supported by clicking on a URL in an email. This login consists of
multiple requests. multiple requests.
To respond to this type, reply with:: To respond to this type, reply with::
@ -251,7 +251,7 @@ client should perform another request::
} }
The home server MUST respond to this with either new credentials, the next The home server MUST respond to this with either new credentials, the next
stage of the login process, or a standard error response. stage of the login process, or a standard error response.
A common client implementation will be to periodically poll until the link is A common client implementation will be to periodically poll until the link is
clicked. If the link has not been visited yet, a standard error response with clicked. If the link has not been visited yet, a standard error response with
@ -296,7 +296,7 @@ of a previous login stage::
"next": "<next login type>" "next": "<next login type>"
} }
If a home server implements N-factor authentication, it MUST respond with all If a home server implements N-factor authentication, it MUST respond with all
``stages`` when initially queried for their login requirements:: ``stages`` when initially queried for their login requirements::
{ {
@ -311,7 +311,7 @@ This can be represented conceptually as::
| type: "<login type1>" | | type: "<login type1>" |
| ___________________ | | ___________________ |
| |_Request_1_________| | <-- Returns "session" key which is used throughout. | |_Request_1_________| | <-- Returns "session" key which is used throughout.
| ___________________ | | ___________________ |
| |_Request_2_________| | <-- Returns a "next" value of "login type2" | |_Request_2_________| | <-- Returns a "next" value of "login type2"
|_______________________| |_______________________|
| |
@ -355,9 +355,9 @@ To create a room, a client has to use the |createRoom|_ API. There are various
options which can be set when creating a room: options which can be set when creating a room:
``visibility`` ``visibility``
Type: Type:
String String
Optional: Optional:
Yes Yes
Value: Value:
Either ``public`` or ``private``. Either ``public`` or ``private``.
@ -367,9 +367,9 @@ options which can be set when creating a room:
list. Rooms default to ``private`` visibility if this key is not included. list. Rooms default to ``private`` visibility if this key is not included.
``room_alias_name`` ``room_alias_name``
Type: Type:
String String
Optional: Optional:
Yes Yes
Value: Value:
The room alias localpart. The room alias localpart.
@ -379,9 +379,9 @@ options which can be set when creating a room:
the room, e.g. ``!qadnasoi:domain.com >>> #room_alias_name:domain.com`` the room, e.g. ``!qadnasoi:domain.com >>> #room_alias_name:domain.com``
``name`` ``name``
Type: Type:
String String
Optional: Optional:
Yes Yes
Value: Value:
The ``name`` value for the ``m.room.name`` state event. The ``name`` value for the ``m.room.name`` state event.
@ -391,9 +391,9 @@ options which can be set when creating a room:
``m.room.name``. ``m.room.name``.
``topic`` ``topic``
Type: Type:
String String
Optional: Optional:
Yes Yes
Value: Value:
The ``topic`` value for the ``m.room.topic`` state event. The ``topic`` value for the ``m.room.topic`` state event.
@ -416,7 +416,7 @@ options which can be set when creating a room:
Example:: Example::
{ {
"visibility": "public", "visibility": "public",
"room_alias_name": "thepub", "room_alias_name": "thepub",
"name": "The Grand Duke Pub", "name": "The Grand Duke Pub",
"topic": "All about happy hour" "topic": "All about happy hour"
@ -462,7 +462,7 @@ send update requests to other servers.
Rooms store a *partial* list of room aliases via the ``m.room.aliases`` state Rooms store a *partial* list of room aliases via the ``m.room.aliases`` state
event. This alias list is partial because it cannot guarantee that the alias event. This alias list is partial because it cannot guarantee that the alias
list is in any way accurate or up-to-date, as room aliases can point to list is in any way accurate or up-to-date, as room aliases can point to
different room IDs over time. Crucially, the aliases in this event are different room IDs over time. Crucially, the aliases in this event are
**purely informational** and SHOULD NOT be treated as accurate. They SHOULD **purely informational** and SHOULD NOT be treated as accurate. They SHOULD
be checked before they are used or shared with another user. If a room be checked before they are used or shared with another user. If a room
@ -470,7 +470,7 @@ appears to have a room alias of ``#alias:example.com``, this SHOULD be checked
to make sure that the room's ID matches the ``room_id`` returned from the to make sure that the room's ID matches the ``room_id`` returned from the
request. request.
Room aliases can be checked in the same way they are resolved; by sending a Room aliases can be checked in the same way they are resolved; by sending a
``GET /directory/room/<room alias>``:: ``GET /directory/room/<room alias>``::
{ {
@ -489,7 +489,7 @@ Permissions
Permissions for rooms are done via the concept of power levels - to do any Permissions for rooms are done via the concept of power levels - to do any
action in a room a user must have a suitable power level. Power levels are action in a room a user must have a suitable power level. Power levels are
stored as state events in a given room. stored as state events in a given room.
Power levels for users are defined in ``m.room.power_levels``, where both a Power levels for users are defined in ``m.room.power_levels``, where both a
default and specific users' power levels can be set:: default and specific users' power levels can be set::
@ -503,7 +503,7 @@ default and specific users' power levels can be set::
By default all users have a power level of 0, other than the room creator whose By default all users have a power level of 0, other than the room creator whose
power level defaults to 100. Users can grant other users increased power levels power level defaults to 100. Users can grant other users increased power levels
up to their own power level. For example, user A with a power level of 50 could up to their own power level. For example, user A with a power level of 50 could
increase the power level of user B to a maximum of level 50. Power levels for increase the power level of user B to a maximum of level 50. Power levels for
users are tracked per-room even if the user is not present in the room. users are tracked per-room even if the user is not present in the room.
State events may contain a ``required_power_level`` key, which indicates the State events may contain a ``required_power_level`` key, which indicates the
@ -514,11 +514,11 @@ to update state events in that room.
To perform certain actions there are additional power level requirements To perform certain actions there are additional power level requirements
defined in the following state events: defined in the following state events:
- ``m.room.send_event_level`` defines the minimum ``level`` for sending - ``m.room.send_event_level`` defines the minimum ``level`` for sending
non-state events. Defaults to 50. non-state events. Defaults to 50.
- ``m.room.add_state_level`` defines the minimum ``level`` for adding new - ``m.room.add_state_level`` defines the minimum ``level`` for adding new
state, rather than updating existing state. Defaults to 50. state, rather than updating existing state. Defaults to 50.
- ``m.room.ops_level`` defines the minimum ``ban_level`` and ``kick_level`` to - ``m.room.ops_level`` defines the minimum ``ban_level`` and ``kick_level`` to
ban and kick other users respectively. This defaults to a kick and ban levels ban and kick other users respectively. This defaults to a kick and ban levels
of 50 each. of 50 each.
@ -563,7 +563,7 @@ received an invite.
Inviting users Inviting users
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
.. TODO-doc Invite-join dance .. TODO-doc Invite-join dance
- Outline invite join dance. What is it? Why is it required? How does it work? - Outline invite join dance. What is it? Why is it required? How does it work?
- What does the home server have to do? - What does the home server have to do?
@ -590,8 +590,8 @@ entire invitation process::
"user_id": "<user id to invite>" "user_id": "<user id to invite>"
} }
Alternatively, the membership state for this user in this room can be modified Alternatively, the membership state for this user in this room can be modified
directly by sending the following request to directly by sending the following request to
``/rooms/<room id>/state/m.room.member/<url encoded user id>``:: ``/rooms/<room id>/state/m.room.member/<url encoded user id>``::
{ {
@ -620,8 +620,8 @@ the room. To leave a room, a request should be made to
{} {}
Alternatively, the membership state for this user in this room can be modified Alternatively, the membership state for this user in this room can be modified
directly by sending the following request to directly by sending the following request to
``/rooms/<room id>/state/m.room.member/<url encoded user id>``:: ``/rooms/<room id>/state/m.room.member/<url encoded user id>``::
{ {
@ -633,7 +633,7 @@ See the `Room events`_ section for more information on ``m.room.member``.
Once a user has left a room, that room will no longer appear on the Once a user has left a room, that room will no longer appear on the
|initialSync|_ API. |initialSync|_ API.
If all members in a room leave, that room becomes eligible for deletion. If all members in a room leave, that room becomes eligible for deletion.
Banning users in a room Banning users in a room
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
@ -648,7 +648,7 @@ to |/rooms/<room_id>/ban|_ with::
"user_id": "<user id to ban" "user_id": "<user id to ban"
"reason": "string: <reason for the ban>" "reason": "string: <reason for the ban>"
} }
Banning a user adjusts the banned member's membership state to ``ban`` and Banning a user adjusts the banned member's membership state to ``ban`` and
adjusts the power level of this event to a level higher than the banned person. adjusts the power level of this event to a level higher than the banned person.
Like with other membership changes, a user can directly adjust the target Like with other membership changes, a user can directly adjust the target
@ -842,7 +842,7 @@ There are several APIs provided to ``GET`` events for a room:
``{ "start": "<token>", "end": "<token>" }`` ``{ "start": "<token>", "end": "<token>" }``
Example: Example:
TODO-doc TODO-doc
|/rooms/<room_id>/initialSync|_ |/rooms/<room_id>/initialSync|_
Description: Description:
Get all relevant events for a room. This includes state events, paginated Get all relevant events for a room. This includes state events, paginated

@ -56,26 +56,26 @@ Each transaction has:
- A list of "previous IDs". - A list of "previous IDs".
- A list of PDUs and EDUs - the actual message payload that the Transaction - A list of PDUs and EDUs - the actual message payload that the Transaction
carries. carries.
``origin`` ``origin``
Type: Type:
String String
Description: Description:
DNS name of homeserver making this transaction. DNS name of homeserver making this transaction.
``ts`` ``ts``
Type: Type:
Integer Integer
Description: Description:
Timestamp in milliseconds on originating homeserver when this transaction Timestamp in milliseconds on originating homeserver when this transaction
started. started.
``previous_ids`` ``previous_ids``
Type: Type:
List of strings List of strings
Description: Description:
List of transactions that were sent immediately prior to this transaction. List of transactions that were sent immediately prior to this transaction.
``pdus`` ``pdus``
Type: Type:
List of Objects. List of Objects.
@ -125,13 +125,13 @@ All PDUs have:
String String
Description: Description:
Event context identifier Event context identifier
``origin`` ``origin``
Type: Type:
String String
Description: Description:
DNS name of homeserver that created this PDU. DNS name of homeserver that created this PDU.
``pdu_id`` ``pdu_id``
Type: Type:
String String
@ -176,19 +176,19 @@ For state updates:
Boolean Boolean
Description: Description:
True if this PDU is updating state. True if this PDU is updating state.
``state_key`` ``state_key``
Type: Type:
String String
Description: Description:
Optional key identifying the updated state within the context. Optional key identifying the updated state within the context.
``power_level`` ``power_level``
Type: Type:
Integer Integer
Description: Description:
The asserted power level of the user performing the update. The asserted power level of the user performing the update.
``required_power_level`` ``required_power_level``
Type: Type:
Integer Integer
@ -200,13 +200,13 @@ For state updates:
String String
Description: Description:
PDU event type. PDU event type.
``prev_state_origin`` ``prev_state_origin``
Type: Type:
String String
Description: Description:
The PDU id of the update this replaces. The PDU id of the update this replaces.
``user_id`` ``user_id``
Type: Type:
String String
@ -262,8 +262,8 @@ destination home server names, and the actual nested content.
"origin":"blue", "origin":"blue",
"destination":"orange", "destination":"orange",
"content":...} "content":...}
Protocol URLs Protocol URLs
------------- -------------
.. WARNING:: .. WARNING::
@ -291,7 +291,7 @@ To fetch a particular PDU::
Retrieves a given PDU from the server. The response will contain a single new Retrieves a given PDU from the server. The response will contain a single new
Transaction, inside which will be the requested PDU. Transaction, inside which will be the requested PDU.
To fetch all the state of a given context:: To fetch all the state of a given context::

Loading…
Cancel
Save