Minor formatting fixes. Fix state event templating.
This commit is contained in:
parent
bb441427ac
commit
5b59c67510
4 changed files with 26 additions and 30 deletions
|
@ -171,13 +171,14 @@ All data exchanged over Matrix is expressed as an "event". Typically each client
|
||||||
action (e.g. sending a message) correlates with exactly one event. Each event
|
action (e.g. sending a message) correlates with exactly one event. Each event
|
||||||
has a ``type`` which is used to differentiate different kinds of data. ``type``
|
has a ``type`` which is used to differentiate different kinds of data. ``type``
|
||||||
values MUST be uniquely globally namespaced following Java's `package naming
|
values MUST be uniquely globally namespaced following Java's `package naming
|
||||||
conventions
|
conventions`_, e.g.
|
||||||
<http://docs.oracle.com/javase/specs/jls/se5.0/html/packages.html#7.7>`, e.g.
|
|
||||||
``com.example.myapp.event``. The special top-level namespace ``m.`` is reserved
|
``com.example.myapp.event``. The special top-level namespace ``m.`` is reserved
|
||||||
for events defined in the Matrix specification - for instance ``m.room.message``
|
for events defined in the Matrix specification - for instance ``m.room.message``
|
||||||
is the event type for instant messages. Events are usually sent in the context
|
is the event type for instant messages. Events are usually sent in the context
|
||||||
of a "Room".
|
of a "Room".
|
||||||
|
|
||||||
|
.. _package naming conventions: https://en.wikipedia.org/wiki/Java_package#Package_naming_conventions
|
||||||
|
|
||||||
Event Graphs
|
Event Graphs
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -932,11 +932,8 @@ directly by sending the following request to
|
||||||
"membership": "leave"
|
"membership": "leave"
|
||||||
}
|
}
|
||||||
|
|
||||||
See the `Room events`_ section for more information on ``m.room.member``.
|
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 |initialSync|_ API.
|
||||||
Once a user has left a room, that room will no longer appear on the
|
|
||||||
|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
|
||||||
|
|
|
@ -92,11 +92,10 @@ Voice over IP
|
||||||
-------------
|
-------------
|
||||||
Matrix can also be used to set up VoIP calls. This is part of the core
|
Matrix can also be used to set up VoIP calls. This is part of the core
|
||||||
specification, although is at a relatively early stage. Voice (and video) over
|
specification, although is at a relatively early stage. Voice (and video) over
|
||||||
Matrix is built on the WebRTC 1.0 standard.
|
Matrix is built on the WebRTC 1.0 standard. Call events are sent to a room, like
|
||||||
|
any other event. This means that clients must only send call events to rooms
|
||||||
Call events are sent to a room, like any other event. This means that clients
|
with exactly two participants as currently the WebRTC standard is based around
|
||||||
must only send call events to rooms with exactly two participants as currently
|
two-party communication.
|
||||||
the WebRTC standard is based around two-party communication.
|
|
||||||
|
|
||||||
{{voip_events}}
|
{{voip_events}}
|
||||||
|
|
||||||
|
@ -106,25 +105,26 @@ A call is set up with messages exchanged as follows:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
Caller Callee
|
Caller Callee
|
||||||
|
[Place Call]
|
||||||
m.call.invite ----------->
|
m.call.invite ----------->
|
||||||
m.call.candidate -------->
|
m.call.candidate -------->
|
||||||
[more candidates events]
|
[..candidates..] -------->
|
||||||
User answers call
|
[Answers call]
|
||||||
<------ m.call.answer
|
<--------------- m.call.answer
|
||||||
[...]
|
[Call is active and ongoing]
|
||||||
<------ m.call.hangup
|
<--------------- m.call.hangup
|
||||||
|
|
||||||
Or a rejected call:
|
Or a rejected call:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
Caller Callee
|
Caller Callee
|
||||||
m.call.invite ----------->
|
m.call.invite ------------>
|
||||||
m.call.candidate -------->
|
m.call.candidate --------->
|
||||||
[more candidates events]
|
[..candidates..] --------->
|
||||||
User rejects call
|
[Rejects call]
|
||||||
<------- m.call.hangup
|
<-------------- m.call.hangup
|
||||||
|
|
||||||
Calls are negotiated according to the WebRTC specification.
|
Calls are negotiated according to the WebRTC specification.
|
||||||
|
|
||||||
|
@ -137,9 +137,8 @@ better experience for the users if their calls are connected if it is clear
|
||||||
that their intention is to set up a call with one another.
|
that their intention is to set up a call with one another.
|
||||||
|
|
||||||
In Matrix, calls are to rooms rather than users (even if those rooms may only
|
In Matrix, calls are to rooms rather than users (even if those rooms may only
|
||||||
contain one other user) so we consider calls which are to the same room.
|
contain one other user) so we consider calls which are to the same room. The
|
||||||
|
rules for dealing with such a situation are as follows:
|
||||||
The rules for dealing with such a situation are as follows:
|
|
||||||
|
|
||||||
- If an invite to a room is received whilst the client is preparing to send an
|
- If an invite to a room is received whilst the client is preparing to send an
|
||||||
invite to the same room, the client should cancel its outgoing call and
|
invite to the same room, the client should cancel its outgoing call and
|
||||||
|
|
|
@ -361,8 +361,8 @@ class MatrixUnits(Units):
|
||||||
|
|
||||||
# add typeof
|
# add typeof
|
||||||
base_defs = {
|
base_defs = {
|
||||||
"core#/definitions/room_event": "Message Event",
|
"core/room_event.json": "Message Event",
|
||||||
"core#/definitions/state_event": "State Event"
|
"core/state_event.json": "State Event"
|
||||||
}
|
}
|
||||||
if type(json_schema.get("allOf")) == list:
|
if type(json_schema.get("allOf")) == list:
|
||||||
schema["typeof"] = base_defs.get(
|
schema["typeof"] = base_defs.get(
|
||||||
|
@ -399,7 +399,6 @@ class MatrixUnits(Units):
|
||||||
"`m.room.message msgtypes`_."
|
"`m.room.message msgtypes`_."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Assign state key info if it has some
|
# Assign state key info if it has some
|
||||||
if schema["typeof"] == "State Event":
|
if schema["typeof"] == "State Event":
|
||||||
skey_desc = Units.prop(
|
skey_desc = Units.prop(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue