Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
synapse
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Timo Ley
synapse
Commits
1f76377a
Commit
1f76377a
authored
10 years ago
by
Paul "LeoNerd" Evans
Browse files
Options
Downloads
Patches
Plain Diff
Re-wrap content after latest additions
parent
dca75a08
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/specification.rst
+30
-25
30 additions, 25 deletions
docs/specification.rst
with
30 additions
and
25 deletions
docs/specification.rst
+
30
−
25
View file @
1f76377a
...
...
@@ -78,9 +78,10 @@ The functionality that Matrix provides includes:
+ Mapping of 3PIDs to Matrix IDs
The end goal of Matrix is to be a ubiquitous messaging layer for synchronising
arbitrary data between sets of people, devices and services - be that for instant
messages, VoIP call setups, or any other objects that need to be reliably and
persistently pushed from A to B in an interoperable and federated manner.
arbitrary data between sets of people, devices and services - be that for
instant messages, VoIP call setups, or any other objects that need to be
reliably and persistently pushed from A to B in an interoperable and federated
manner.
Architecture
...
...
@@ -1120,8 +1121,8 @@ There are several APIs provided to ``GET`` events for a room:
|/rooms/<room_id>/initialSync|_
Description:
Get all relevant events for a room. This includes state events, paginated
non-state
events and presence events.
Get all relevant events for a room. This includes state events, paginated
non-state
events and presence events.
Response format:
`` { TODO } ``
Example:
...
...
@@ -1129,20 +1130,22 @@ There are several APIs provided to ``GET`` events for a room:
Redactions
----------
Since events are extensible it is possible for malicious users and/or servers to add
keys that are, for example offensive or illegal. Since some events cannot be simply
deleted, e.g. membership events, we instead 'redact' events. This involves removing
all keys from an event that are not required by the protocol. This stripped down
event is thereafter returned anytime a client or remote server requests it.
Since events are extensible it is possible for malicious users and/or servers
to add keys that are, for example offensive or illegal. Since some events
cannot be simply deleted, e.g. membership events, we instead 'redact' events.
This involves removing all keys from an event that are not required by the
protocol. This stripped down event is thereafter returned anytime a client or
remote server requests it.
Events that have been redacted include a ``redacted_because`` key whose value
is the
event that caused it to be redacted, which may include a reason.
Events that have been redacted include a ``redacted_because`` key whose value
is the
event that caused it to be redacted, which may include a reason.
Redacting an event cannot be undone, allowing server owners to delete the
offending
content from the databases.
Redacting an event cannot be undone, allowing server owners to delete the
offending
content from the databases.
Currently, only room admins can redact events by sending a ``m.room.redacted`` event,
but server admins also need to be able to redact events by a similar mechanism.
Currently, only room admins can redact events by sending a ``m.room.redacted``
event, but server admins also need to be able to redact events by a similar
mechanism.
Room Events
...
...
@@ -1346,13 +1349,15 @@ prefixed with ``m.``
JSON format:
``{ "reason": "string" }``
Description:
Events can be redacted by either room or server admins. Redacting an event means that
all keys not required by the protocol are stripped off, allowing admins to remove
offensive or illegal content that may have been attached to any event. This cannot be
undone, allowing server owners to physically delete the offending data.
There is also a concept of a moderator hiding a non-state event, which can be undone,
but cannot be applied to state events.
The event that has been redacted is specified in the ``redacts`` event level key.
Events can be redacted by either room or server admins. Redacting an event
means that all keys not required by the protocol are stripped off, allowing
admins to remove offensive or illegal content that may have been attached
to any event. This cannot be undone, allowing server owners to physically
delete the offending data. There is also a concept of a moderator hiding a
non-state event, which can be undone, but cannot be applied to state
events.
The event that has been redacted is specified in the ``redacts`` event
level key.
m.room.message msgtypes
-----------------------
...
...
@@ -1731,8 +1736,8 @@ There are three main kinds of communication that occur between home servers:
These are single request/response interactions between a given pair of
servers, initiated by one side sending an HTTPS GET request to obtain some
information, and responded by the other. They are not persisted and contain
no long-term significant history. They simply request a snapshot state at
the
instant the query is made.
no long-term significant history. They simply request a snapshot state at
the
instant the query is made.
:Ephemeral Data Units (EDUs):
These are notifications of events that are pushed from one home server to
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment