Commit Graph

590 Commits (14d05464eef232c751f14737946915db40238320)

Author SHA1 Message Date
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
Daniel Wagner-Hall 04b2b2588f Fix up formatting and typos 9 years ago
Daniel Wagner-Hall d53943c8c2 Spec /room/{roomId}/join
This is just replacing the existing spec with a swagger version.

Subsequent pull requests will add 3pid join to this, as well as specing
the invite, leave, ban, and kick endpoints.
9 years ago
Erik Johnston 80bb51d9bb Make it clearer 9 years ago
Erik Johnston 4b24b887c7 Document m.room.history_visibility 9 years ago
Erik Johnston 83dfc2bf61 Fix some mistakes/typos 9 years ago
Erik Johnston 0dc22e7217 Document receipts 9 years ago
Paul "LeoNerd" Evans 49c52a96a7 Rename 'perspective server' to 'notary server' as that's what the Perspectives Project calls them too 9 years ago
Kegsay 880bf20403 Merge pull request #21 from matrix-org/paul/fixes
Three small fixes
9 years ago
Mark Haines 7d805f105e Mention that Olm uses AES in CBC mode 9 years ago
Mark Haines 88176ef148 Add notes on algorithm naming. Fix some typos 9 years ago
Paul "LeoNerd" Evans c6f2f711de Mention AAAA as well as A records; remark on default port 8448 for no-SRV fallback 9 years ago
Mark Haines d06580a481 Spelling 9 years ago
Mark Haines e1f201f9e6 Add description of the olm type and body JSON keys 9 years ago
Mark Haines c83e8480e8 Fix JSON syntax 9 years ago
Mark Haines 6597aaa448 Start describing the plaintext payload format for encrypted messages, add the exact URLs used for key queries from clients and for key queries for federation 9 years ago
Mark Haines 41d204e72c Name the key 'ciphertext' rather than 'ciphertexts' 9 years ago
Mark Haines 6f69707c71 Update e2e spec: Group ciphertext by device key rather than device id, add return to docs for /keys/upload, Use "m.room.encrypted" for now, rather than trying to add an encrypted content to arbitrary event types 9 years ago
Mark Haines 42ad1f8612 Add a link to signing JSON section of the spec. Fixup the markup a bit 9 years ago
Mark Haines 01927cee9b Rename "take" to "claim". Hyphenate "one-time". 9 years ago
Mark Haines 36e035c79e Add some specification for end-to-end 9 years ago
Matthew Hodgson f08588bf7e typo 9 years ago
Paul "LeoNerd" Evans 5f391b5617 Also document the directory server federation API 9 years ago
Paul "LeoNerd" Evans fc1e01f373 Add a small note about the meaning of the 'target' field 9 years ago
Paul "LeoNerd" Evans af1616ba9a Merge branch 'master' into paul/fixes 9 years ago
Paul "LeoNerd" Evans 28894ac1b7 Bugfix to embedded sign_json() python code 10 years ago
Paul "LeoNerd" Evans 9b046cbc04 Tiny fix to embedded YAML fragment 10 years ago
Kegan Dougal e572cc662a Restructure the first few sections.
Remove unecessary sections; put presnece/profile sections on the right level.
Move Living Standard warning to the top of the Introduction section.
10 years ago
Kegan Dougal 71e200a063 Remove version section. 10 years ago
Kegan Dougal e10859a887 Replace presence API with new template. 10 years ago
Kegan Dougal ec631c60d4 Add link to github commit for the spec as per request. 10 years ago
Kegan Dougal bb9537b824 Add a CHANGELOG. Modify table CSS.
Hook up templating system to read the CHANGELOG for version and changelog info.
Modified nature.css to make it clearer on table headings/sub-headings. Use the
full _matrix/client path on title links to make it clear it is for v1.
10 years ago
Kegan Dougal f134728268 Link to msgtypes from the description of m.room.message. 10 years ago
Kegan Dougal 51df65bb49 Remove old power level references. Link to m.room.power_levels. 10 years ago
Kegan Dougal ac7ccfa622 Add {{presence_events}}. Factor out common code in MatrixSections. 10 years ago
Kegan Dougal 6f330bd879 Gut the old msgtypes section and replace with {{msgtype_events}} 10 years ago
Kegan Dougal f5059057b3 Update AS API docs (wording/layout tweaks, rationale). 10 years ago
Kegan Dougal 9d532f30e8 Add {{voip_events}}. Add more info on sections when asked via build.py -s 10 years ago
Kegan Dougal 89083b3a86 Add {{spec_version}}. Update build.py module docs. 10 years ago
Kegan Dougal 96671ce833 Use the templating system to set {{git_version}}. Restructure sections code.
Restructured the sections code to be slightly more encapsulated than before.
This will be expanded to more clearly separate the templating system from
the specific implementation of the spec templates.
10 years ago
Kegan Dougal ed4ce6950c Template up common event fields from the 'core' json schema file. 10 years ago
Kegan Dougal 02c44a889e Remove stuff from 20_events.rst and replace with {{room_events}}. Update gendoc to call build.py for template vars. 10 years ago
Matthew Hodgson e729a9e425 Merge pull request #16 from matrix-org/key_v2_fixes
Add minimum_valid_until_ts to key/v2 API
10 years ago
Matthew Hodgson fa1ec93c78 typo 10 years ago
Matthew Hodgson 39b3de1df3 remove AS register/unregister APIs from the spec for now, but keep the useful info intact 10 years ago
Erik Johnston 580b4a1787 Merge pull request #15 from matrix-org/csauth
Document CS API V2 auth changes and new APIs.
10 years ago
Mark Haines 9752dc399e Update 30_server_server_api.rst
Missing '$'
10 years ago
Mark Haines 9bfbbce0f4 Update 30_server_server_api.rst
Use a query parameter for minimum_valid_until_ts for the GET version of the query api.
10 years ago
Mark Haines cdcaf69fb5 Update 30_server_server_api.rst 10 years ago
David Baker deb17914ca Link syntax 10 years ago
David Baker 199bb87ffa Add link to v1 docs. 10 years ago
David Baker 3343b7f84d Clarify n-factor auth and add the diagram back in as an example 10 years ago
David Baker e7d334c5cd Kill all camels 10 years ago
David Baker 233522b612 Fix typo 10 years ago
David Baker a52819ba69 Clarify dummy auth 10 years ago
David Baker fa8d8a9f95 Remove spurious array in error example 10 years ago
David Baker cfbc58c4fb Forgot bind_email param on register. 10 years ago
Matthew Hodgson 52692931d7 fix typos 10 years ago
David Baker e52146e47f V2PREFIX 10 years ago
David Baker dd12d901af Oops: missed recaptcha. Also make list in the same order as the details. 10 years ago
David Baker b71aaddad0 Try & fix RST errors 10 years ago
David Baker c583bf9570 wrong title level 10 years ago
David Baker 8495d9451e Document CS API V2 auth changes and new APIs. 10 years ago
Matthew Hodgson 04086975bd fix header depth 10 years ago
Matthew Hodgson 4255058680 typo 10 years ago
Matthew Hodgson dacf93b405 oooooops, apparently I forgot to 'git add' these when I refactored the spec last month :-/ 10 years ago
Mark Haines 6f269890be Add a brief reference to the perspectives project and mention what should happen if a server goes offline 10 years ago
Mark Haines 0db3182159 Describe what the expired_ts is 10 years ago
Mark Haines 4422e9ca2b Add a short summary of how the v2 key api is supposed to be used 10 years ago
Mark Haines ed21f50cc3 Add version 2 of the server key distribution API 10 years ago
David Baker 3f5a94484f Update spec where I changed it to allow omiting value for highlight 10 years ago
Matthew Hodgson 0f1514febb standardise on <foo> rather than :foo 10 years ago
Matthew Hodgson c0e55bb99e make intro match order of sections as per max g-j feedback 10 years ago
David Baker 07c4d6cd21 Add append flag to pushers to support multiple accounts. 10 years ago
Matthew Hodgson c1d7e82d29 rst fail 10 years ago
Matthew Hodgson 9ff5456b5e fix sections a bit more 10 years ago
Matthew Hodgson 0c6bd900a3 fix sections a bit 10 years ago
Matthew Hodgson c3f29ea720 Merge branch 'master' into ua925_reshuffle 10 years ago
Matthew Hodgson 58c28598af lots of fixes based on kegan's review of https://github.com/matrix-org/matrix-doc/pull/13 10 years ago
Matthew Hodgson 598e9b3113 big reshuffle:
* try to make 00_basis slightly more accessible and less terse
 * move CS API before Events, as it's meaningless to dive into specific events if you haven't been introduced to how the CS API works
 * Try to improve the beginning of the CS API by merging back in some of kegan's original v1 content (which has subsequently been deleted somewhere along the line?)
 * document m.presence event consistently
 * move typing from drafts to spec
 * move push stuff from drafts to spec
...and lots of other stuff

move push & typing from drafts into main spec.
10 years ago
Matthew Hodgson d552a043f8 remove LI section entirely until we decide how best to discourage it, otherwise it looks like we're endorsing it 10 years ago
Kegan Dougal 006932c70f Be clearer when specifying the version of the spec. 10 years ago
Kegan Dougal 5a0e40b984 Mark CS API as v1 in the spec. 10 years ago
Kegan Dougal 4b0e858529 Add $GIT_VERSION to the spec which is replaced by the gendoc script. 10 years ago
Kegan Dougal 42857df26f Syntax fixes 10 years ago
Kegsay 8e75c5ed67 Add in passive application services 10 years ago
Kegan Dougal f60c0ac96b Fix indentation levels on specification. 10 years ago
Paul "LeoNerd" Evans a9a4c46a57 Add spec for m.notice (SPEC-18) 10 years ago
Kegan Dougal 62471348ca This is a comment, not a directive. Remove :: 10 years ago
Kegan Dougal 109c8a97a8 Use title heading sizings of =,-,~,+ since that is what most of our docs use. Inconsistent use breaks when you try to merge them. 10 years ago
Matthew Hodgson 5d177b0e18 mention event deduplication 10 years ago
Matthew Hodgson cef1e784f9 general editing throughout the overview section; merge in bits of erik's model to overview section and split the original back out into drats 10 years ago
Matthew Hodgson e2b49cc20f remove spurious sender_ts info and spec out m.file 10 years ago
Matthew Hodgson b3f99f9bf7 typo 10 years ago
Mark Haines 3fd1833bc5 Add more reasonable example for unsigned data in json signing example 10 years ago
Matthew Hodgson 2d5bb01a63 add in version, improve AS API a bit, move eventstream to the right place 10 years ago
Mark Haines b2295b9bc7 Add docs on server discovery 10 years ago
Mark Haines b7708a9b88 Move the request signing docs to the right bit of the spec 10 years ago
Mark Haines 3873a219f9 SPEC-33: Add server to server request authorization to the specification 10 years ago
Matthew Hodgson f4df22f7ef shuffle the server-server chapters a bit, and split out security model and other miscellanei into a new appendices chapter. Add a vestigial application services section 10 years ago
Matthew Hodgson 2c9707633e tone down warning 10 years ago
Matthew Hodgson 2f1f37cc4c formatting, whitespace, and some rephrasing for clarity 10 years ago
Matthew Hodgson 64f56a15d7 fix english and whitespace 10 years ago
Mark Haines e5cb7aae07 Add some documentation for event signing 10 years ago
Mark Haines b73645ad8f Try turning on syntax high-lighting for JSON examples 10 years ago
Mark Haines 19e326d305 Reword introduction to federation API to mention event signing 10 years ago
Mark Haines 36fa322c5d Improve formatting and update PDU and transaction key names 10 years ago
Mark Haines 5e4b8798a4 Nicer formatting for the PDU field documentation 10 years ago
Mark Haines ae27cbe1a4 Put client-server links into the correct file 10 years ago
Mark Haines 7e244e8a0d remove trailing whitespace 10 years ago
Oddvar Lovaas 969cc408f1 Spelling and removing WIP warnings (as everything is equally WIP) 10 years ago
Matthew Hodgson eeb596b20b merge core_model into spec 10 years ago
Matthew Hodgson 8b4a35e341 as per the big spec meeting, split specification.rst into 4 chapters. merge in specification-NOTHAVE and spec-additions.rst whilst at it. 10 years ago
Matthew Hodgson 556e3f8a71 move matrix-generic documentation from synapse/docs into new matrix-doc project 10 years ago