Commit Graph

637 Commits (markjh/v2_sync_api)
 

Author SHA1 Message Date
Mark Haines 0ce533d153 Split the room_map into separate sections based on whether they are
"joined/invited/archived".

Rename the room_map to rooms and remove the grouping indirection. When we
want groups then we can add them under a separate key, either at the
top-level or as part of the events themselves.
9 years ago
Mark Haines 0e5b00feaa Fix event type in v2 sync example 9 years ago
Mark Haines bbb5fa9398 Fix the state_key in the example v2 response, include the "sender" key in the list of keys included with invite_state events 9 years ago
Mark Haines a7b808c5cd Add a invite_state key for holding the state that is bundled with an
invite. This is kept separate from the actual state for the room as
it may be derived from an incomplete, unverified copy of the state
that was bundled with an invite event received over federation.
9 years ago
Mark Haines ed0f6d3ff3 Typo 9 years ago
Mark Haines 97cdd8106c s|client/api/v2_alpha|/client/v2_alpha| 9 years ago
Mark Haines 047419f2ad Remove the room_id since it is redundent. Remove text about invite event handling till we've thought about it some more. 9 years ago
Mark Haines bde003fe86 Split the rooms out into a separate top level key.
Divide the rooms into separate groups in preparation for adding tag
support.

Further subdivide the rooms into "joined/invited/archived" based the
membership of the user in the room because that membership affects what
events the user can view from the room. E.g only users that are joined
to a room may see the ephemeral events for the room.
9 years ago
Mark Haines a73cc50aa9 s|client/api/v2_alpha|client/v2_alpha| 9 years ago
Mark Haines 931057accf Add a top level presence key for the presence events and remove the public_user_data/private_user_data for now 9 years ago
Mark Haines 4cb3f78d2b Wrap the "rooms" list inside an object so that we can add keys for pagination later 9 years ago
Mark Haines 218cf94ead Replace the events array with events_map inside the room objects.
Only use indirection for the state and timeline events.
Use event_ids to reference the state and timeline events.
9 years ago
Mark Haines 6ad6c40147 List the allowed values for the 'event_format' as an enum 9 years ago
Mark Haines 9dd3b07394 Allow '.' characters in event field names to be escaped with '\' so that
fields including a '.' can be included in a filter.

I considered replacing '.' with '/'. Since '/' was less likely to appear
in event field names. However if we used '\' to escape a literal '/' we
risk confusing it with the JSON escape '\/'.
9 years ago
Mark Haines 14b42a41d6 Document wildcard's in filters 9 years ago
Mark Haines c115b4c2f4 Document the valid values for the "set_presence" parameter 9 years ago
Mark Haines 940e22940d Document how the "not_foo" keys interact with the "foo" keys 9 years ago
Mark Haines 41bc09ea22 Split the event_filter into a event_filter and a room_event_filter that
extends it.

So that we don't include "rooms" and "not_rooms" keys for the public_user_data
and private_user_data filters.
9 years ago
Mark Haines 00fd4aac26 s/publically/publicly/ 9 years ago
Mark Haines 3204c2f2b6 Fix spelling 9 years ago
Mark Haines f50e6d4c0a Add x-example fields for v2 /sync 9 years ago
Mark Haines 1aa916d690 s/indicies/indices/ 9 years ago
Mark Haines 393d283139 Add a "limit" to the timeline key in the example filter 9 years ago
Mark Haines c3b3b2df63 Add "set_presence" in the sync parameters 9 years ago
Mark Haines de07586ab7 Rename 'events' to 'timeline' in the sync filter 9 years ago
Mark Haines a0068e1ada Draft documention for the v2 sync api 9 years ago
Mark Haines e1f73f5233 Add a limit to filters 9 years ago
Mark Haines a31a446661 Fix the POST example for the v2 filter API 9 years ago
Mark Haines 69298b9612 Check "v2_alpha" in jenkins 9 years ago
Mark Haines 883105eae6 Document the v2 filter GET API 9 years ago
Mark Haines 2f039a1142 Add swagger docs for the v2 filter POST API 9 years ago
Kegsay ca9f30a7fd Merge pull request #61 from matrix-org/markjh/node_swagger_validator
Only validate a file if it ends with ".yaml".
9 years ago
Mark Haines 385b6c4759 Only validate a file if it ends with ".yaml".
Otherwise we try to validate vim .swp files.
9 years ago
Kegsay 0346568519 Merge pull request #60 from matrix-org/gendoc-logging
Gendoc logging
9 years ago
Kegan Dougal 6afdfc0771 Add more logging and make logging context clearer
This is now actually useful if you want to debug why your swagger YAML
isn't producing a table you think it should be.
9 years ago
Kegan Dougal f1adad5fb3 Add more logging with file prefixes
This makes the handoff between gendoc and batesian clearer in the logs.
9 years ago
Kegan Dougal 064a2c9172 Use argparse and log functions for gendoc.py
gendoc.py has become more complex such that we actually want to pass things
to it like `--verbose`, `--nodelete`, `--target`, so use `argparse` to do this
like we have `build.py`. Pass through `-v` flags to `build.py`.
9 years ago
Kegsay 14e77b09ab Merge pull request #59 from matrix-org/spec-restructure-modules
Add spec build targets; restructure spec
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 b21859836d Print stdout of build.py in verbose mode 9 years ago
Kegan Dougal 388aeefac0 Remove obsolete key 9 years ago
Kegan Dougal b0eb985523 Merge branch 'master' into spec-restructure-modules 9 years ago
Kegsay 895ffcfcde Merge pull request #56 from matrix-org/markjh/document_v1_rooms_api
Document the getters for the /rooms/{roomId} APIs
9 years ago
Kegan Dougal 056b5eba22 Partially handle representing top-level array responses
If an HTTP API returned a top-level array response, the templating system
would fail to create a table for it. This is now partially fixed by pulling
out the type of the elements (no recursion is done to populate nested tables)
9 years ago
Kegan Dougal 0c0ac3e814 Fix common event fields template to use subtitle char 9 years ago