Commit Graph

463 Commits (6b4af54f4239a90224ddfd04c9dde4a7d1d1fb48)

Author SHA1 Message Date
Kegsay a22f1cd230 Merge pull request #119 from matrix-org/paul/test-vectors
Capture cryptographic test vectors for JSON or event signing from source
9 years ago
Erik Johnston 9a5bd6d21f Use static 9 years ago
Erik Johnston 98dbf4d60b Better flow 9 years ago
Erik Johnston 0529b4a9a2 Reword 9 years ago
Erik Johnston 88c459d549 Add back in login v1 fallback API 9 years ago
Daniel Wagner-Hall 7c250f91ff Merge pull request #127 from matrix-org/daniel/exposedrooms
Allow history to be noted as world-readable
9 years ago
Kegsay 4823a133cd Merge pull request #124 from matrix-org/clarify_scale_crop
Clarify 'scale' & 'crop' resize methods
9 years ago
Richard van der Hoff f47a49de43 Merge pull request #126 from matrix-org/rav/send_events_api
Add the room send and state APIs to the spec
9 years ago
Richard van der Hoff 1945697456 Further tweaks to the room send and state APIs
- fix confusion re empty/absent state_keys
- move 'types of room events' section earlier in the 'Events' section
- remove some redundant anchors
9 years ago
Mark Haines 1d7cb6937f Merge pull request #123 from matrix-org/markjh/list_formatting
Fix list formatting
9 years ago
Richard van der Hoff 28ab643a4e Remove duplicated registration/login APIs
Currently the spec duplicates all of the account-management APIs. There's still
work to be done here, but the complete duplication is confusing.
9 years ago
Daniel Wagner-Hall 67880686d5 Allow history to be noted as world-readable
SPEC-237
9 years ago
Richard van der Hoff 587a8ba7ce Merge branch 'master' into rav/send_events_api 9 years ago
Richard van der Hoff d18d406c41 Add the room send and state APIs to the spec 9 years ago
David Baker 01064369a4 Add some clarification on the difference between 'scale' and 'crop' resize methods 9 years ago
Mark Haines e3e8026025 Fix list formatting so that we aren't including everything in blockquotes 9 years ago
Erik Johnston f0c74a9c83 Merge pull request #96 from matrix-org/erikj/search_actual
Add search API
9 years ago
Erik Johnston 4a558ad63b Typo 9 years ago
Kegan Dougal f95d19cecd Merge branch 'master' into appservice-swagger
Conflicts:
	specification/application_service_api.rst
9 years ago
Daniel Wagner-Hall 74d42f0142 Allow rejecting invitations 9 years ago
Paul "LeoNerd" Evans e38e4788f2 Spell 'cryptographic' correctly 9 years ago
Paul "LeoNerd" Evans 228acc59aa Capture cryptographic test vectors for JSON or event signing from source code 9 years ago
Paul Evans 84a8663019 Merge pull request #115 from matrix-org/paul/event-redaction
Initial attempt at describing the event redaction algorithm
9 years ago
Paul "LeoNerd" Evans 9252b3e1a2 Fix typo s/he/the/ 9 years ago
Paul "LeoNerd" Evans bfa9937bdc Minor wording updates 9 years ago
Daniel Wagner-Hall a9a9067d7e Merge pull request #114 from matrix-org/daniel/3pidtosigned
Update 3pid invite section to reflect signed property
9 years ago
Erik Johnston 1d01f69c3c Merge remote-tracking branch 'origin/master' into erikj/search_actual 9 years ago
Erik Johnston 111ca99519 Clarify that this doesn't include events that occurred after you left the room. 9 years ago
Kegsay 6546068c63 Merge pull request #101 from matrix-org/spec-182-asapi-user-creation
SPEC-182: Make it clearer how ASes are supposed to create users
9 years ago
Kegan Dougal f3088a0674 Merge branch 'master' into spec-182-asapi-user-creation 9 years ago
Kegan Dougal 26f27d95fb Merge branch 'master' into registration-swagger
Conflicts:
	specification/client_server_api.rst
9 years ago
Kegan Dougal ae90d15b3c Add m.room.avatar 9 years ago
Daniel Wagner-Hall c70067dd1e Simplify language 9 years ago
Daniel Wagner-Hall 22fdb8f911 Merge branch 'master' into daniel/as 9 years ago
Paul "LeoNerd" Evans 29720cd152 Initial attempt at describing the event redaction algorithm 9 years ago
Daniel Wagner-Hall 6161a920b6 Update 3pid invite section to reflect signed property 9 years ago
Kegan Dougal 62d53b4f33 Review comments round III 9 years ago
Kegan Dougal 85a6a5a530 Merge branch 'master' into proofing 9 years ago
Kegan Dougal 4bb042daeb Review comments round II 9 years ago
Kegan Dougal e0fe3c42c8 Review comments 9 years ago
Kegan Dougal 6770d6b2d6 Review comments 9 years ago
Daniel Wagner-Hall 20b11281ea Remove lies about OAuth which doesn't exist 9 years ago
Erik Johnston eb59b8e9d1 Mention count 9 years ago
Erik Johnston a6cb2e4339 Mention rank 9 years ago
Kegan Dougal eca98af896 Swaggerify /register endpoint
Need to move registration/login/auth sections around once #94 lands.
9 years ago
Erik Johnston 24e36adbe3 Mention e2e encryption 9 years ago
Erik Johnston 770cfbc5de Be explicit about the events the search is performed over 9 years ago
Erik Johnston 906c59385f s/had/has/ 9 years ago
Kegan Dougal 55cc5c5bb5 Swaggerify application services 9 years ago
Kegan Dougal 3d087df538 Kill number prefixes for good 9 years ago
Kegan Dougal 6b72ddfb8c Spelling and typos 9 years ago
Kegan Dougal 08ccacae17 Merge branch 'master' into proofing
Conflicts:
	specification/0-intro.rst
9 years ago
Erik Johnston c47a94658a Mention supported keys 9 years ago
Kegsay 3146b52f83 Merge pull request #102 from matrix-org/spec-207-asapi-unique-tokens
SPEC-207: Add a warning about needing AS tokens to be unique and why
9 years ago
Kegsay 604e268add Merge pull request #105 from matrix-org/spec-177-events-max-len
Add in size limits as per SPEC-222
9 years ago
Kegan Dougal 5de63b4f45 Merge branch 'master' into proofing
Conflicts:
	specification/0-intro.rst
9 years ago
Erik Johnston af347baa68 Better phrasing 9 years ago
Erik Johnston 96a4996c76 Mention search categories 9 years ago
Kegsay 3a2c8cd4b3 Merge pull request #91 from matrix-org/module-history-vis
History visibility module
9 years ago
Kegan Dougal 5aad67f74d Review comments round III 9 years ago
Kegsay c5dc383668 Merge pull request #85 from matrix-org/module-im
Instant messaging module
9 years ago
Kegan Dougal 507cb29e39 Review comments round deux 9 years ago
Kegan Dougal f51ee70633 Review comments round 2 9 years ago
Kegan Dougal c82c07ddd2 Review comments 9 years ago
Kegan Dougal c4d1b56843 Add a comment about enforcement. 9 years ago
Kegsay 1229ad24dd Merge pull request #103 from matrix-org/spec-165-mxc-security
SPEC-165: Outline directory traversal attacks on MXC URIs
9 years ago
Kegsay bc0ab32cfd Merge pull request #99 from matrix-org/spec-144-https-examples
SPEC-144 : Use https examples not http
9 years ago
Kegan Dougal e6eb19c461 Review comments 9 years ago
Erik Johnston 728b5a7951 Add very short summary 9 years ago
Erik Johnston 007bb1a69a Add extra new line 9 years ago
Erik Johnston 5e48b0b79a Add search to targets 9 years ago
Erik Johnston 38fcc563da Spell out full title 9 years ago
Erik Johnston 0efa3fd981 Add module 9 years ago
Kegan Dougal 6a0595bc46 Add in size limits as per SPEC-222 9 years ago
Erik Johnston d8bc0c9315 Add search module 9 years ago
Kegan Dougal f0d8052951 SPEC-205: Warn about password strengths in m.login.password section 9 years ago
Kegan Dougal 44b19a8b0e SPEC-165: Outline directory traversal attacks on MXC URIs 9 years ago
Kegan Dougal 45b1d08c7e SPEC-207: Add a warning about needing AS tokens to be unique and why 9 years ago
Kegan Dougal cd34d4e19b SPEC-182: Make it clearer how ASes are supposed to create users by linkifying the right text. 9 years ago
Kegan Dougal 3608f3a282 SPEC-144 : Use https examples not http. 9 years ago
Kegan Dougal 34bd8edec5 Move related auth sections together 9 years ago
Kegan Dougal 6f6861a11d Swaggerify the createRoom API 9 years ago
Kegan Dougal 07d7a3fa3a Shuffle pagination section around 9 years ago
Kegan Dougal 7bdb71b1c9 Tweak the syncing section
Bring together disparate sections to make it more cohesive.
9 years ago
Kegan Dougal e716e81963 Add `dir` parameter to pagination. Remove path references
This section needs a lot of work to not lie.
9 years ago
Kegan Dougal e561a663d3 Tweaks to intro, start using swagger APIs in the CS API section. 9 years ago
Kegan Dougal 4170dbd5cf Review comments 9 years ago
Kegan Dougal 173d00cea0 Review comments 9 years ago
Daniel Wagner-Hall 2502ca7ac6 Merge branch 'master' into daniel/threepidinvites-2
Conflicts:
	specification/targets.yaml
9 years ago
Daniel Wagner-Hall 4a1fb74897 Review comments 9 years ago
Kegan Dougal 8f5c796884 Linkify 'pushers' 9 years ago
Kegan Dougal e378de8379 Shuffle history visibility module to be in the module format 9 years ago
Kegan Dougal f2a6950cc3 Minor tweaks; allow objects without props/parents if a title is set
This allows us to do things like {Tweaks} where Tweaks is defined somewhere
else.
9 years ago
Daniel Wagner-Hall dc3c02aff5 Review comments 9 years ago
Daniel Wagner-Hall 21a40b317d Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Kegan Dougal 9c95ee5c1f Modify wording and formatting 9 years ago
Kegan Dougal 31ae4b3859 Swaggerify push notification API
Edit units.py to support nested JSON request keys
9 years ago
Kegan Dougal a9618a981b Swaggerify the /enabled endpoint 9 years ago
Kegan Dougal 56ce432399 Get profile tag keys displaying correctly. 9 years ago
Kegan Dougal db25276856 Start adding in push definitions
This is going to be painful to represent due to how the push API allows
mixed types (strings or objects) and mixed top-level keys ("content" rule kind
allowing "pattern" as a top-level key). We may wish to re-visit the design
of this API for v2.
9 years ago
Kegan Dougal c5edc60c4c Add push YAML for pushers endpoint.
Also display "required" text on required JSON body request params. Also
increase the size of the request param column to support longer param names
present in the pushers API.
9 years ago
Kegan Dougal d3ed517ebf Finish laying out rough sections 9 years ago
Kegan Dougal a7400508c6 Define module titles from the template 9 years ago
Kegan Dougal 319ba8f404 Combine push files into one
We can fork it out again if it makes sense, but certainly 2/3 of the files
were very small and it just adds more complexity when refactoring.
9 years ago
Kegan Dougal 91ca36509b Flesh out IM module 9 years ago
Kegan Dougal 656bee78c4 Merge branch 'master' into module-im 9 years ago
Matthew Hodgson 7ae2573113 fix barefaced lie regarding the passivity of ASes 9 years ago
Matthew Hodgson 39faccb00d CS API is not just v1 surely 9 years ago
Kegan Dougal 8e5c832ff9 Flesh out more of the IM module 9 years ago
Kegan Dougal 47cf958b54 Merge branch 'master' into module-im 9 years ago
Erik Johnston 3b4c3522e6 Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/disable_federation 9 years ago
Kegsay 8c092e3d11 Merge pull request #74 from matrix-org/module-presence
Presence module
9 years ago
Kegan Dougal 417c5b53c4 Remove duplicate sentences from merge conflicts 9 years ago
Daniel Wagner-Hall b29fdebec2 Give example of verification dance 9 years ago
Kegan Dougal 458383585f Stub sections 9 years ago
Kegsay ead79614ff Merge pull request #78 from matrix-org/module-typing2
Typing module
9 years ago
Daniel Wagner-Hall 9d8dc7971d Review comments 9 years ago
Kegsay 68df99409a Merge pull request #83 from matrix-org/module-content-repo
Content Repo Module
9 years ago
Erik Johnston ccdd376f30 Merge pull request #63 from matrix-org/erikj/room_create_preset
Update the room creation API spec to include new keys: 'preset' and 'initial_state'
9 years ago
Kegan Dougal 09ac367847 Merge branch 'master' into module-content-repo
Conflicts:
	templating/matrix_templates/units.py
9 years ago
Kegan Dougal 4dabcd112e Remove redundant info now we have the http api template. Minor tweaks to display of schema with no names but a type 9 years ago
Erik Johnston 912a8ca760 Be more explicit about keys that are clobbered 9 years ago
Erik Johnston dbc72c43ac s/private_chat_shared_power/trusted_private_chat/ 9 years ago
Daniel Wagner-Hall af7d2ca9fc Update 3pid invite spec
This takes into account:
 1) That finding the existing servers of a room is hard
 2) Federation
9 years ago
Kegan Dougal 87b6dd845e Flesh out content repo; modify templating to support headers
Edit content-repo.yaml to include examples and headers.
Restructure content module to conform to the module template.
Adjust the HTTP API template to give 1 more char to the response
param to fit "Content-Disposition" correctly.
Edit the templating system to support displaying enums for
swagger APIs (before it was just JSON schema). Also add support
for introspecting headers from swagger. Finally, replace - with
_ when forming the {{ template_var }} else things whine.
9 years ago
Kegsay 8aad238cda Merge pull request #80 from matrix-org/module-receipts
Receipts module
9 years ago
Kegan Dougal da2be7eae4 Merge branch 'master' into module-voip
Conflicts:
	specification/modules/voip_events.rst
9 years ago
Kegan Dougal 1520f3647f Merge branch 'master' into module-typing2
Conflicts:
	specification/modules/typing_notifications.rst
9 years ago
Kegan Dougal cc6f256b24 Merge branch 'master' into module-presence
Conflicts:
	specification/modules/presence.rst
9 years ago
Kegan Dougal 6000887201 Merge branch 'master' into module-receipts
Conflicts:
	specification/modules/receipts.rst
9 years ago
Kegan Dougal c972dad8b3 Flesh out receipts module. Add receipts swagger
Add templating support for v2 apis.
9 years ago
Kegsay 4a7a682c0f Merge pull request #65 from matrix-org/spec-feature-profiles
Spec feature profiles
9 years ago
Kegan Dougal 365a9076b9 Add nested dict template support; Add x-pattern
For cases where event schema specify `patternProperties` it would be nice
to give that pattern a "human-readable" form rather than a raw regex. This
is now supported by specifying `x-pattern` in the value part of the specified
pattern e.g. `patternProperties:{ "^.*":{ x-pattern: "$THING", ... } }`

Templating had limited record type descriptions limited to value primitives
e.g. `{string: integer}`. It now supports inspecting the values recursively
if the value is `object`.

Updated `m.receipt` to take both these points into account to make it read
better. Tweak receipt module text.
9 years ago
Kegan Dougal 3b73b07bab Clarifications that room invites are m.call.invites not actual invites 9 years ago
Kegan Dougal e82661413e Add /turnServer endpoint 9 years ago
Kegan Dougal d092b22848 Rename to 'Managing history visibility' 9 years ago
Kegan Dougal 6c3e70d272 Start fleshing out voip module 9 years ago
Kegan Dougal 91b6347f74 Explain what 'embedded' clients are 9 years ago
Kegan Dougal be9402b66f Move feature profiles section to modules as a sub-section 9 years ago
Kegan Dougal 0320e8cef3 Table tweaks from PR 9 years ago
Kegan Dougal 097dc50180 Minor tweaks 9 years ago
Kegan Dougal a82f2ad4ac Flesh out typing module 9 years ago
Kegan Dougal 2b7e02c080 Add sections for typing. Add swagger, JSON schema and example m.typing event 9 years ago
Kegan Dougal 52f6496cf0 Merge branch 'master' into module-presence 9 years ago
Kegan Dougal 4e1e82f995 Fix paragraph CSS and adjust where paragraphs are in the RST
The CSS for `nature.css` was such that it was preventing `p` tags from
having sufficient vertical whitespace. This meant that you couldn't insert
any kind of spacing between lengthy sections (they just appeared as new lines).

This PR fixes this so you can actually have some whitespace between paragraphs.
As a result of this change, some parts of the spec appeared to have too much
whitespace. These were often sections which shouldn't have begun a new
paragraph anyway (e.g. a single sentence being an entire paragraph, `TODO`
blocks resulting in new paragraphs). This PR fixes the most offending areas
where we shouldn't have been inserting new paragraphs.
9 years ago
Kegan Dougal 069e4e39f4 Move presence specific sections from intro to presence module 9 years ago
Erik Johnston 73b4090f52 Add private_chat_shared_power 9 years ago
Kegan Dougal 0a04672d76 Start converting the presence module. Add Rationale admonition. 9 years ago
Kegan Dougal cdf9f011e9 Add room history visibility as a module. 9 years ago
Kegan Dougal 82c27884ba Make E2E optional 9 years ago
Erik Johnston 83b9497664 Add context and example 9 years ago
Kegsay c96f02c2b0 Merge pull request #69 from matrix-org/erikj/login_token
m.login.token
9 years ago
Erik Johnston 6e6bc8a5a9 Mandate macaroon 9 years ago
Erik Johnston ce53a17180 Add txn_id rationale 9 years ago
Erik Johnston 4776e0c04c Add creation_content key 9 years ago
Kegan Dougal 5abea1f2bc Minor tweaks 9 years ago
Kegan Dougal 70518ae655 Clarify template suffixes 9 years ago
Kegan Dougal 643468e914 Mention swagger. Clarify how event type template vars are formed. 9 years ago
Kegan Dougal c2fc1a2fb1 Add basic module template.
This has the core sections for events/server/client/security.
9 years ago
Kegan Dougal db8f3c0d59 Desktop clients should have a GUI 9 years ago
Erik Johnston 97154cc6b2 s/nonce/txn_id/ 9 years ago
Erik Johnston 4c9f524cab Neaten things up 9 years ago
Erik Johnston 317c2f20d3 Draft login token spec 9 years ago
Kegan Dougal 510553ee00 Remove smurf suffixes. Add anchor for feature profiles. 9 years ago
Kegan Dougal 9fac152d32 Explain what the clients are and the column reference 9 years ago
Kegan Dougal c6375ed3d1 Flesh out feature profiles section
Add table detailing the profiles. Add anchors to link through to each module
following a well-defined format (rather than the name of the module section).
Allow UTF-8 in the spec.
9 years ago
Erik Johnston 18dc7784df Mention precedence 9 years ago
Erik Johnston 078dd0165f Update the room creation API spec to include new keys: 'preset' and 'initial_state' 9 years ago
Kegan Dougal 1da64db302 Use relative depths for groups instead of absolute ones
This means the group can be agnostic to how deeply nested it is,
improving reusability of groups.
9 years ago
Kegan Dougal 29bae15790 Fix typo 9 years ago
Kegan Dougal 5115346297 Add instant_messaging module; modify batesian section rules
Previously, all `m.room.*` events were wodged into `{{room_events}}` which
isn't great when you want to pull specific ones out. Batesian had a 1:1
mapping of `render_foo()` to a section `{{foo}}`, and having to constantly
add functions for new types is a PITA. Batesian now supports returning a
`dict` instead of a section `string` where the keys are the `{{foo}}` and
the value is what will be inserted. Also add conflicting section key checks
to avoid multiple definitions of the same `{{foo}}`. Define dicts for
event schemata and swagger HTTP APIs.

Using this new feature, split out the instant messaging stuff from the events
section, and replace `{{room_events}}` with a list of specific events e.g.
`{{m_room_member_event}}`.
9 years ago
Kegan Dougal 5b134119bd Add presence module; fix relative title bug
If a relative title appeared after an HTTP API table, it
would insert the wrong level because it thought that part
of the table was a title.
9 years ago
Kegan Dougal b49cb57fe5 Move events sections to CS API 9 years ago
Kegan Dougal 16693a644a Various review fixes 9 years ago
Kegan Dougal b0eb985523 Merge branch 'master' into spec-restructure-modules 9 years ago
Kegan Dougal 0c0ac3e814 Fix common event fields template to use subtitle char 9 years ago
Kegan Dougal e8cdfcbba2 Rename spec files to not have numbers everywhere; update targets.yaml 9 years ago
Kegan Dougal f71763b0d3 Implement relative title styles
Templates don't know at what level they will be inserted. Previously, we
hard-coded the title style which is not compatible with the build target
system. Define a set of styles which will be replaced by the gendoc script
when it encounters them:
 '<' : Make this title a sub-heading
 '/' : Make this title a heading at the same level
 '>' : Make this title a super-heading

The build target system is now basically complete and functioning.
9 years ago
Kegan Dougal 067363c629 Get the desired title levels right; print out the actual level used to stdout 9 years ago
Kegan Dougal 8590cc84b5 Process and extract targets in gendoc.py 9 years ago
Kegan Dougal 568982ee2e Represent nested deps in targets.yaml along with title styles
This will allow us to programatically position .rst snippets *anywhere*
which will for once and for all remove the horrid title level mismatch bugs.

We require this in order to allow people to re-shuffle the spec without
having to adjust the spec itself (e.g. 2 targets with different levels of
nesting).
9 years ago
Kegan Dougal 703f913a47 Add a 'targets.yaml' files in /specification
We're well beyond the point now where a simple `cat` of .rst files to "build"
the spec is practical. We may want to slice and dice the spec in different
ways to address various cross-cutting concerns. To this end, there is now a
'targets' file which contains the "build targets" for the spec, which contains
the sorting order for the .rst files. For now, we just have a single
target: 'main'.
9 years ago
Kegan Dougal f520ac9d82 Create a modules folder to group together similar parts of the spec 9 years ago
Kegan Dougal c77ef1a2cc Add stub files feature_profiles and modules 9 years ago
Kegan Dougal f2c952ec58 Reshuffle spec into sections roughly right as per PR #52 9 years ago
Mark Haines f33c0846c3 Merge remote-tracking branch 'origin/master' into markjh/document_v1_rooms_api 9 years ago
Kegan Dougal 1f6b12b3e8 Modify and enforce the file format/structure used
Convert the file format to be of the form ##_##_something.rst where the
first ## is the top-level section number and the second ## is the
second-level section number, e.g. 07_01_push_cs_api.rst means
Section 7.1 - This is now enforced in gendoc.py along with the title line
style that should be used (= for top-level, - for 2nd level) which will
give helpful suggestions if you trip up. This feels much more intuitive
now looking in /specification
9 years ago
Kegan Dougal 9ed39665c8 PR feedback 9 years ago
Kegan Dougal 8e7b33ac99 Fix more typos/spelling errors 9 years ago
Kegan Dougal 3f9d183c2a More typo/layout fixes
Split out identity servers to a separate file
9 years ago
Kegan Dougal 620d3dcb26 Test commit 9 years ago
Kegan Dougal faa95e172f More formatting fixes; typos; etc 9 years ago
Kegan Dougal af32ec194a Move VoIP events to 22_voip_events
20_events is a huge as it is, this makes it easier to find what section
you actually want when editing.
9 years ago
Kegan Dougal 5b59c67510 Minor formatting fixes. Fix state event templating. 9 years ago
Mark Haines 7eb8b4fde2 Add new-style docs for the APIs for getting events for a room 9 years ago
Daniel Wagner-Hall 59a4e84361 s/registration/login/ 9 years ago
Daniel Wagner-Hall b8e2ac5c1b Swaggerify /login 9 years ago
Kegsay e788f565f8 Merge pull request #36 from matrix-org/daniel/threepidinvites
Swagger /room/{roomId}/invite
9 years ago
Kegsay 3011823c51 Merge pull request #27 from matrix-org/receipts
Document receipts
9 years ago
Daniel Wagner-Hall 2797fac3aa Swagger /room/{roomId}/invite
This is a transcription of the current spec, with nothing new or
controversial in it.
9 years ago