|
|
@ -44,10 +44,10 @@ Version 2 API
|
|
|
|
|
|
|
|
|
|
|
|
Legend:
|
|
|
|
Legend:
|
|
|
|
- ``[TODO]``: API is not in this document yet.
|
|
|
|
- ``[TODO]``: API is not in this document yet.
|
|
|
|
- ``[ONGOING]``: API is proposed but needs more work. There are known issues to be
|
|
|
|
- ``[ONGOING]``: API is proposed but needs more work. There are known issues
|
|
|
|
addressed.
|
|
|
|
to be addressed.
|
|
|
|
- ``[Draft]``: API is proposed and has no outstanding issues to be addressed, but
|
|
|
|
- ``[Draft]``: API is proposed and has no outstanding issues to be addressed,
|
|
|
|
needs more feedback.
|
|
|
|
but needs more feedback.
|
|
|
|
- ``[Final]``: The API has no outstanding issues.
|
|
|
|
- ``[Final]``: The API has no outstanding issues.
|
|
|
|
|
|
|
|
|
|
|
|
This contains the formal proposal for Matrix Client-Server API v2. This API
|
|
|
|
This contains the formal proposal for Matrix Client-Server API v2. This API
|
|
|
@ -113,12 +113,13 @@ Global initial sync API ``[Draft]``
|
|
|
|
.. NOTE::
|
|
|
|
.. NOTE::
|
|
|
|
|
|
|
|
|
|
|
|
v2.1:
|
|
|
|
v2.1:
|
|
|
|
- Will need some form of state event pagination like we have for message events
|
|
|
|
- Will need some form of state event pagination like we have for message
|
|
|
|
to handle large amounts of state events for a room. Need to think of the
|
|
|
|
events to handle large amounts of state events for a room. Need to think of
|
|
|
|
consequences of this: you may not get a ``m.room.member`` for someone's
|
|
|
|
the consequences of this: you may not get a ``m.room.member`` for someone's
|
|
|
|
message and so cannot display their display name / avatar. Do we want to
|
|
|
|
message and so cannot display their display name / avatar. Do we want to
|
|
|
|
provide pagination on an event type basis?
|
|
|
|
provide pagination on an event type basis?
|
|
|
|
- Handle paginating initial sync results themselves (e.g. 10 most recent rooms)
|
|
|
|
- Handle paginating initial sync results themselves (e.g. 10 most recent
|
|
|
|
|
|
|
|
rooms)
|
|
|
|
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
Inputs:
|
|
|
|
- A way of identifying the user (e.g. access token, user ID, etc)
|
|
|
|
- A way of identifying the user (e.g. access token, user ID, etc)
|
|
|
@ -143,10 +144,11 @@ Compacting notes:
|
|
|
|
state: [ event_id, event_id, ...],
|
|
|
|
state: [ event_id, event_id, ...],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Duplicate content notes:
|
|
|
|
Duplicate content notes:
|
|
|
|
- For non-compacted state events, duplicate state events in the ``messages`` key need to
|
|
|
|
- For non-compacted state events, duplicate state events in the ``messages``
|
|
|
|
have a ``prev_content`` to correctly display the state change text. This is not required
|
|
|
|
key need to have a ``prev_content`` to correctly display the state change
|
|
|
|
for ``state`` key events, which just represent the *current* state and as such do not
|
|
|
|
text. This is not required for ``state`` key events, which just represent
|
|
|
|
need a ``prev_content``. Compacted state events will need to specify the ``prev_content``.
|
|
|
|
the *current* state and as such do not need a ``prev_content``. Compacted
|
|
|
|
|
|
|
|
state events will need to specify the ``prev_content``.
|
|
|
|
What data flows does it address:
|
|
|
|
What data flows does it address:
|
|
|
|
- Home screen: data required on load.
|
|
|
|
- Home screen: data required on load.
|
|
|
|
|
|
|
|
|
|
|
@ -645,7 +647,8 @@ Inputs:
|
|
|
|
- Room ID
|
|
|
|
- Room ID
|
|
|
|
- Message contents
|
|
|
|
- Message contents
|
|
|
|
- Action ID (optional)
|
|
|
|
- Action ID (optional)
|
|
|
|
- Whether the full event should be returned, or a compact version (default=full)
|
|
|
|
- Whether the full event should be returned, or a compact version
|
|
|
|
|
|
|
|
(default=full)
|
|
|
|
Outputs:
|
|
|
|
Outputs:
|
|
|
|
- The actual event sent incl content OR:
|
|
|
|
- The actual event sent incl content OR:
|
|
|
|
- The extra keys added or keys modified e.g. 'content' from a policy server
|
|
|
|
- The extra keys added or keys modified e.g. 'content' from a policy server
|
|
|
|