Commit Graph

50 Commits (f299f60e1777183270f3bccae2f6e213fe64179f)

Author SHA1 Message Date
Travis Ralston e14cf35c80
Merge pull request #2563 from matrix-org/travis/spec/2240-and-assoc--r-v6
Room Version 6
5 years ago
Travis Ralston e9998c5335 Clarify that server names are at least 1 character
Fixes https://github.com/matrix-org/matrix-doc/issues/2460
5 years ago
Travis Ralston 66ab480967 Incorporate MSC2540 (Canonical JSON validation)
MSC: https://github.com/matrix-org/matrix-doc/pull/2540
5 years ago
Travis Ralston 18eca90022 Exclude DEL from historical user IDs
The range is inclusive, so don't include 7F
6 years ago
Travis Ralston ad2eefdde9 Shuffle and clarify identifier grammar
Specifically, make it clearer that event IDs are the weird exception in this section.
6 years ago
Travis Ralston 29340c6eb8 Clarify that the common identifier format can be broken
We already reference in the Event IDs section that the format depends on the room version, so we just need to link there.

Fixes https://github.com/matrix-org/matrix-doc/issues/2103
6 years ago
Travis Ralston 00fee74636 Update example 6 years ago
Travis Ralston 7f01346bba Provide a more complete example of a "minimally-sized event"
Using all the required fields of a v1 event.
6 years ago
Travis Ralston ae9abe798e Revert signature change for redactable event test
The previous signature was calculated on the unredacted event, which means the signature produced was wrong.
6 years ago
Travis Ralston 6706d772c9 Fix test vectors with invalid JSON and signature
Fixes https://github.com/matrix-org/matrix-doc/issues/2023

The content hashes appear correct, however applying the algorithm defined in the spec never resulted in the signatures previously demonstrated.
6 years ago
Andrew Morgan 40482f7616 Add missing period 6 years ago
Travis Ralston 8ad82ce3c0 Add permalink routing through ?via parameters on matrix.to URIs
Spec for [MSC1704](https://github.com/matrix-org/matrix-doc/pull/1704)

Reference implementations:
* Original: https://github.com/matrix-org/matrix-react-sdk/pull/2250
* Modern recommendations: 2ca281f6b7/src/matrix-to.js (L29-L70)

The only deviation from the original MSC is the recommendation for which servers to pick. The original MSC failed to consider server ACLs and IP addresses correctly, and during implementation it was realized that both of these cases should be handled. The core principles of the original MSC are left unaltered.
6 years ago
Travis Ralston 1c5ec68cd0
Merge pull request #1876 from matrix-org/travis/v3-id-grammar
Clarify v3 event representation in identifier grammar
6 years ago
Travis Ralston 0ec34039e8 URL encode all the things 6 years ago
Travis Ralston 42cf72c60f URL encode matrix.to URIs 6 years ago
Hristo Venev e825224b5b Restrict identifier port numbers to 5 digits. 6 years ago
Travis Ralston 946acbf380 Clarify v3 event representation in identifier grammar
Fixes https://github.com/matrix-org/matrix-doc/issues/1870
Fixes https://github.com/matrix-org/matrix-doc/issues/1869
Fixes https://github.com/matrix-org/matrix-doc/issues/1867
6 years ago
Aaron Raimist fe7f582233
Fix several spelling mistakes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
6 years ago
Travis Ralston 166d4ada86 Fix room versions reference in appendices & s2s spec 6 years ago
Travis Ralston ffe577371d Add a room version specification
The "Room Specification" (or "Room Version Specification") is the specification that defines which room versions do what and are intended to be documents which speak the truth about how rooms operate under the hood.

The approach taken here is a bit different than other specifications. For starters, the specification is versioned in this project instead of relying on the matrix.org repository to track compiled HTML. This is done for a couple reasons, the first being we're still developing the v1 specification while concurrently making a v2 spec and the second being trying to reduce the reliance on matrix.org's repository for specifications.

Because the room spec is built into versions, some changes needed to be made. The `targets.yaml` now has a special syntax for indicating what version something is at, and the changelog generator can handle rendering different versions of the same changelog (as parsed from the RST). Some additional work has been put in to the changelog parsing to allow us to reference the v1 room spec as "v1" without having to sacrifice clarity in the changelog headings.

Finally, this moves the state resolution algorithms into the versioned
spec as a result of MSC1759 (https://github.com/matrix-org/matrix-doc/pull/1759).

Note: this does not introduce the concept of versioned schemas (tabs) that I was previously working with. There's currently no use for them, so they are shelved elsewhere.
6 years ago
Konstantinos Sideris 192a6c2ab9 Use example.org on examples instead of domain.com which is a real domain
Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com>
6 years ago
Richard van der Hoff 6ba50fe2f6
Merge pull request #1588 from matrix-org/rav/fix_server_name
Specify that server names cannot be %-encoded
6 years ago
Richard van der Hoff 120bb8dc8e s/host/hostname/ 6 years ago
Richard van der Hoff 8679a642b4 clarity 6 years ago
Richard van der Hoff 7f9524f801 s/--/—/ 6 years ago
Richard van der Hoff 6f3b42a457 Server names cannot be %-encoded
They aren't URLs; it was a thinko to refer to the URL spec for this.
6 years ago
Travis Ralston 39e674ccb3 Clarify what matrix.to is and mention that room IDs are not routable
Also actually render the warning saying that this scheme is temporary.
6 years ago
Travis Ralston fa3e9a7609 Merge remote-tracking branch 'matrix-org/master' into travis/c2s/pills 6 years ago
Travis Ralston 312799ae78 General clarification for mention and how matrix.to URIs are meant to work 6 years ago
Travis Ralston 9835c98544 Document how mentions (pills) work
Implements the proposal over at https://github.com/matrix-org/matrix-doc/issues/1067

Includes some specification for how matrix.to is structured, and how it is intended to be replaced.
6 years ago
Travis Ralston fde48e7ee8 Specify how room versioning works
This is the spec PR for https://github.com/matrix-org/matrix-doc/issues/1425

Room version upgrades are not part of MSC1425.

Documented aspects:
* room_version on the create event
* creating a room with a specific version (useful for testing)
* make_join behaviour
* error code documentation
* grammar of room versions

Based upon https://docs.google.com/document/d/1urKgReoHqxX8R_XtySB17dPi-DZcKhqTEL2_s895Wz0/edit
6 years ago
Will Hunt bdb881420c
Merge branch 'master' into hs/dns-to-be-hostname 6 years ago
Will Hunt 26505533dd drop dns_name = host in favour of host 6 years ago
Michael Telatynski c3f66e1814
basic spec for group IDs, mostly copied from User IDs as they share grammar 7 years ago
Richard van der Hoff a36f8ba00d Forbid colons in MXIDs
There is a single (AS) user on matrix.org who has a colon in their localpart,
but I suspect that is an artifact of old bridge code and won't work over
federation anyway.

Colons in MXIDs are particularly harmful because they make it impossible to
split mxids into local- and remote-parts
7 years ago
Florian Jacob a0455eb5b1 Threat Model: Wrong word: Banning users is a threat only if you're not authorized
Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
7 years ago
Florian Jacob 306b3f5d62 Threat Model: Align indentation of Spying Threats.
“Disclosure to Servers Within Chatroom” was indented lesser
than the surrounding threats.

Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
7 years ago
David Baker 14df31458b Attempt to clarify example a little 7 years ago
David Baker 9c5972ffe3 More formatting / grammar 7 years ago
David Baker e12c0b54ff Formatting & grammar 7 years ago
David Baker 4526ff2ea6 Double backticks in rst :/ 7 years ago
David Baker 1e4cba6b55 Don't linkify email addresses in examples 7 years ago
David Baker 3487f5d75a Spell out what we mean by a 3pid
(and consequently rejig all the fixed-width formatting)
7 years ago
David Baker 6edb90a08e Document threepids
Adds the /msisdn' 3pid type and generally fleshes out what a 3pid
is and how they work.

This merges most of the work from Max Dor in https://github.com/matrix-org/matrix-doc/pull/1039
with some tweaks and additions.
7 years ago
Maxime Dor 68e12feec7 Add explicit examples for JSON encoding 7 years ago
Richard van der Hoff 628e723483 Move the MXID spec to the appendices
Also link to them from the /register API doc.
7 years ago
Richard van der Hoff 0a6886e73c Fix broken link in spec 8 years ago
Richard van der Hoff da686ba4eb Specification of unpadded Base64 8 years ago
Richard van der Hoff 3ee75af06f Move 'Signing JSON' to appendices
Canonical JSON and JSON signing in general are common to the C-S spec. Move
them to the appendices instead of the S-S spec.
8 years ago
Richard van der Hoff a5e12814ef Split appendices up
Split appendices into multiple files
8 years ago