summary refs log tree commit diff
path: root/synapse/handlers/sync.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few race conditions in the state calculationRichard van der Hoff2015-11-131-60/+63
| | | | | | | | | | | | | | | | | | | Be a bit more careful about how we calculate the state to be returned by /sync. In a few places, it was possible for /sync to return slightly later state than that represented by the next_batch token and the timeline. In particular, the following cases were susceptible: * On a full state sync, for an active room * During a per-room incremental sync with a timeline gap * When the user has just joined a room. (Refactor check_joined_room to make it less magical) Also, use store.get_state_for_events() (and thus the existing stategroups) to calculate the state corresponding to a particular sync position, rather than state_handler.compute_event_context(), which recalculates from first principles (and tends to miss some state). Merged from PR https://github.com/matrix-org/synapse/pull/372
* Make handlers.sync return a state dictionary, instead of an event list.Richard van der Hoff2015-11-131-31/+39
| | | | | | | | | Basically this moves the process of flattening the existing dictionary into a list up to rest.client.*, instead of doing it in handlers.sync. This simplifies a bit of the code in handlers.sync, but it is also going to be somewhat beneficial in the next stage of my hacking on SPEC-254. Merged from PR #371
* Update some commentsRichard van der Hoff2015-11-131-10/+24
| | | | | | | Add a couple of type annotations, docstrings, and other comments, in the interest of keeping track of what types I have. Merged from pull request #370.
* Don't fiddle with results returned by event sourcesRichard van der Hoff2015-11-091-4/+12
| | | | | | Overwriting hashes returned by other methods is poor form. Fixes: SYN-516
* SYN-513: Include updates for rooms that have had all their tags deletedMark Haines2015-11-091-1/+1
|
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-051-3/+17
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Merge branch 'develop' into daniel/removesomeliesMark Haines2015-11-041-20/+82
|\ | | | | | | | | Conflicts: synapse/notifier.py
| * Merge branch 'develop' into markjh/v2_sync_receiptsMark Haines2015-11-031-10/+57
| |\ | | | | | | | | | | | | Conflicts: synapse/handlers/sync.py
| | * Include room tags in v2 /syncMark Haines2015-11-021-11/+58
| | |
| * | Include read receipts in v2 syncMark Haines2015-11-021-15/+30
| |/
* | Remove more unused parametersDaniel Wagner-Hall2015-11-021-1/+0
| |
* | Remove unused arguments and codeDaniel Wagner-Hall2015-11-021-14/+1
|/
* Update the other place check_joined_room is calledMark Haines2015-10-301-1/+1
|
* Don't mark newly joined room timelines as limited in an incremental syncMark Haines2015-10-291-3/+5
|
* Implement full_state incremental syncRichard van der Hoff2015-10-261-17/+34
| | | | | | | | A hopefully-complete implementation of the full_state incremental sync, as specced at https://github.com/matrix-org/matrix-doc/pull/133. This actually turns out to be a relatively simple modification to the initial sync implementation.
* Merge branch 'develop' into markjh/v2_sync_typingMark Haines2015-10-211-3/+127
|\ | | | | | | | | Conflicts: synapse/handlers/sync.py
| * Include banned rooms in the archived section of v2 syncMark Haines2015-10-211-6/+9
| |
| * Fix pep8Mark Haines2015-10-191-1/+0
| |
| * Add rooms that the user has left under archived in v2 sync.Mark Haines2015-10-191-3/+125
| |
* | Doc string for the SyncHandler.typing_by_room methodMark Haines2015-10-211-0/+12
| |
* | Include typing events in initial v2 syncMark Haines2015-10-201-14/+29
|/
* Amalgamate _filter_events_for_clientErik Johnston2015-10-161-47/+1
|
* Merge pull request #305 from matrix-org/markjh/v2_sync_apiMark Haines2015-10-141-92/+105
|\ | | | | Update the v2 sync API to work as specified in the current spec.
| * Fix v2 sync pollingMark Haines2015-10-141-3/+3
| |
| * Add a get_invites_for_user method to the storage to find out the rooms a ↵Mark Haines2015-10-131-6/+2
| | | | | | | | user is invited to
| * Include invites in incremental syncMark Haines2015-10-131-6/+25
| |
| * Include invited rooms in the initial syncMark Haines2015-10-131-10/+6
| |
| * Start spliting out the rooms into joined and invited in v2 syncMark Haines2015-10-131-18/+40
| |
| * Update the filters to match the latest spec.Mark Haines2015-10-121-3/+3
| | | | | | | | | | Apply the filter the 'timeline' and 'ephemeral' keys of rooms. Apply the filter to the 'presence' key of a sync response.
| * Update the v2 room sync format to match the current v2 specMark Haines2015-10-081-14/+11
| |
| * Move the rooms out into a room_map mapping from room_id to room.Mark Haines2015-10-051-18/+9
| |
| * Start updating the sync API to match the specificationMark Haines2015-10-011-36/+28
| |
* | Remove unused room_id argErik Johnston2015-10-141-1/+1
|/
* Fix up one more referenceDaniel Wagner-Hall2015-08-251-1/+0
|
* Don't get apservice interested rooms in RoomHandler.get_joined_rooms_for_usersErik Johnston2015-08-191-3/+21
|
* Fix _filter_events_for_clientErik Johnston2015-08-121-3/+1
|
* Use list comprehension instead of filterErik Johnston2015-08-121-10/+3
|
* Remove debug loggersErik Johnston2015-08-111-3/+0
|
* Fix application of ACLsErik Johnston2015-08-111-4/+13
|
* Speed up event filtering (for ACL) logicErik Johnston2015-08-041-1/+5
|
* Rename key and values for m.room.history_visibility. Support 'invited' valueErik Johnston2015-07-061-5/+20
|
* Respect m.room.history_visibility in v2_alpha sync APIErik Johnston2015-07-031-0/+33
|
* Fix v2 sync, update the last_notified_ms only if there was an active listenerMark Haines2015-05-141-1/+1
|
* Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This ↵Erik Johnston2015-03-091-2/+4
| | | | uses the a storage api that is cached.
* Fix code-styleMark Haines2015-02-101-1/+1
|
* During room intial sync, only calculate current state once.Erik Johnston2015-02-091-3/+6
|
* SYN-258: get_recent_events_for_room only accepts stream tokens, convert the ↵Mark Haines2015-02-061-1/+3
| | | | topological token to a stream token before passing it to get_recent_events_for_room
* Return empty list rather than None when there are no emphemeral events for a ↵Mark Haines2015-01-301-1/+1
| | | | room
* Add doc string for __nonzero__ overrides for sync results, raise not ↵Mark Haines2015-01-301-1/+8
| | | | implemented if the client attempts to do a gapless sync
* Check if the user has joined the room between incremental syncsMark Haines2015-01-301-4/+27
|
* Pass client info to the sync_configMark Haines2015-01-301-2/+3
|
* Fix token formattingMark Haines2015-01-301-3/+3
|
* Filter the recent events before applying the limit when doing an initial syncMark Haines2015-01-301-11/+10
|
* Filter the recent events before applying the limit when doing an incremental ↵Mark Haines2015-01-301-15/+38
| | | | sync with a gap
* Update todo for the filtering on syncMark Haines2015-01-291-1/+2
|
* Fix indentMark Haines2015-01-291-1/+1
|
* Move typing notifs to an "emphermal" event list on the room objectMark Haines2015-01-291-5/+7
|
* Fix check for empty room updateMark Haines2015-01-291-1/+1
|
* Fix v2 initial syncMark Haines2015-01-291-1/+2
|
* Use get_room_events_stream to get changes to the rooms if the number of ↵Mark Haines2015-01-291-11/+45
| | | | changes is small
* Remove typing TODOMark Haines2015-01-291-1/+0
|
* Add typing notifications to syncMark Haines2015-01-291-9/+21
|
* Fix FormattingMark Haines2015-01-271-8/+5
|
* Wait for events if the incremental sync is empty and a timeout is givenMark Haines2015-01-271-7/+12
|
* Start implementing incremental initial syncMark Haines2015-01-271-25/+208
|
* Start implementing the non-incremental sync portion of the v2 /sync APIMark Haines2015-01-261-25/+62
|
* Add handler for /sync APIMark Haines2015-01-261-0/+110