summary refs log tree commit diff
path: root/synapse/handlers/sync.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #587 from matrix-org/rav/guest_access_after_room_joinRichard van der Hoff2016-02-221-2/+0
|\ | | | | Allow guest users access to messages in rooms they have joined
| * Merge branch 'develop' into rav/guest_access_after_room_joinRichard van der Hoff2016-02-191-5/+34
| |\
| * | Allow guest users access to messages in rooms they have joinedRichard van der Hoff2016-02-191-2/+0
| | | | | | | | | | | | | | | | | | | | | There should be no difference between guest users and non-guest users in terms of access to messages. Define the semantics of the is_peeking argument to filter_events_for_clients (slightly) better; interpret it appropriately, and set it correctly from /sync.
* | | Remove superfluous call to get_state_at when we already have an event for ↵Erik Johnston2016-02-221-4/+12
| |/ |/| | | | | that stream position
* | Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-191-0/+22
|\ \ | | | | | | Rewrite presence for performance.
| * | Initial cutErik Johnston2016-02-171-0/+22
| |/
* / Mitigate against incorrect old state in /sync.Erik Johnston2016-02-121-5/+12
|/ | | | | | | | There have been reports from the field that servers occasionally have incorrect notions of what the old state of a room is. This proves problematic as /sync relies on a correct old state. This patch makes /sync specifically include in the 'state' key any current state events that haven't been correctly included.
* Use _simple_select_many for _get_state_group_for_eventsErik Johnston2016-02-101-1/+1
|
* Only calculate initial sync for 10 rooms at a timeErik Johnston2016-02-101-24/+29
| | | | This helps to ensure we don't completely starve other requests.
* Remove dead codeErik Johnston2016-02-091-12/+0
|
* Don't load all ephemeral state for a room on every syncErik Johnston2016-02-091-14/+6
|
* Fix unit testsErik Johnston2016-02-091-1/+4
|
* Measure some /sync related thingsErik Johnston2016-02-091-140/+149
|
* Fix up logcontextsErik Johnston2016-02-081-19/+21
|
* Merge pull request #555 from matrix-org/erikj/logcontextErik Johnston2016-02-031-0/+10
|\ | | | | Allowing tagging log contexts
| * Allowing tagging log contextsErik Johnston2016-02-031-0/+10
| |
* | Change event_push_actions_rm_tokens schemaErik Johnston2016-02-031-4/+2
|/
* s/get_room_changes_for_user/get_membership_changes_for_user/Erik Johnston2016-02-021-1/+1
|
* CommentsErik Johnston2016-02-011-5/+6
|
* Move state calculations from rest to handlerErik Johnston2016-02-011-66/+98
|
* Don't work out unread_notifs_for_room_id unless neededErik Johnston2016-01-291-11/+12
|
* Change load limit paramsErik Johnston2016-01-281-2/+2
|
* Amalgamate incremental and full sync for userErik Johnston2016-01-281-40/+16
|
* Use the same path for incremental with gap or without gapErik Johnston2016-01-271-208/+144
|
* Add cache to room streamErik Johnston2016-01-271-12/+30
|
* PEP8Erik Johnston2016-01-251-1/+0
|
* Remove weird stuffErik Johnston2016-01-251-6/+0
|
* Move logic from rest/ to handlers/Erik Johnston2016-01-251-41/+148
|
* Allow non-guests to peek on rooms using /eventsDaniel Wagner-Hall2016-01-201-2/+2
|
* Only compute unread notifications for rooms we send down streamErik Johnston2016-01-191-28/+22
|
* Use all_ephemeral_by_room in incremental_sync_with_gap_for_roomErik Johnston2016-01-191-3/+5
|
* Return highlight_count in /syncErik Johnston2016-01-191-6/+36
|
* Re-enable urnead notificationsErik Johnston2016-01-181-3/+0
|
* Use logger not loggingErik Johnston2016-01-141-2/+2
|
* Don't change signature. Return empty listErik Johnston2016-01-131-2/+2
|
* Temporarily disable notification branchErik Johnston2016-01-131-1/+4
|
* Don't include old left roomsErik Johnston2016-01-121-1/+5
|
* Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-081-0/+63
|\ | | | | Send unread notification counts
| * Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-061-107/+47
| |\
| * \ Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-051-3/+2
| |\ \
| * | | commaDavid Baker2016-01-041-1/+1
| | | |
| * | | Add unread_notif_count in incremental_sync_with_gapDavid Baker2016-01-041-0/+8
| | | |
| * | | Rename event-actions to event_push_actions as per PR requestDavid Baker2016-01-041-1/+1
| | | |
| * | | Fix merge fail with anon access stuffDavid Baker2015-12-221-2/+2
| | | |
| * | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-221-45/+107
| |\ \ \
| * | | | Add some comments to areas that could be optimised.David Baker2015-12-221-0/+3
| | | | |
| * | | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-211-4/+12
| |\ \ \ \
| * | | | | pep8David Baker2015-12-211-3/+3
| | | | | |
| * | | | | Make unread notification count sending work: put the correct count in ↵David Baker2015-12-181-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | incremental syncs too, where necessary, and fix silly bugs like only select the event actions for that user...
| * | | | | still very WIP, but now sends unread_notifications_count in the room object ↵David Baker2015-12-161-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs).
* | | | | | Use logger not loggingErik Johnston2016-01-071-2/+2
| |_|_|_|/ |/| | | |
* | | | | Pass whether the user was a guest to some of the event streamsMark Haines2016-01-061-5/+3
| | | | |
* | | | | Guest users must be joined to a room to see it in /syncMark Haines2016-01-061-103/+49
| |_|_|/ |/| | |
* | | | Skip, rather than erroring, invalid guest requestsDaniel Wagner-Hall2016-01-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Erroring causes problems when people make illegal requests, because they don't know what limit parameter they should pass. This is definitely buggy. It leaks message counts for rooms people don't have permission to see, via tokens. But apparently we already consciously decided to allow that as a team, so this preserves that behaviour.
* | | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-1/+1
| | | |
* | | | Return /sync when something under the 'leave' key has changedErik Johnston2016-01-051-1/+1
| |_|/ |/| |
* | | Include the list of bad room ids in the errorMark Haines2015-12-221-2/+8
| | |
* | | Use a list comprehensionMark Haines2015-12-221-3/+4
| | |
* | | Hook up read receipts and typing notifications for guest accessMark Haines2015-12-221-13/+11
| | |
* | | Allow guest access to /syncMark Haines2015-12-221-46/+98
| | |
* | | Allow guest access if the user provides a list of rooms in the filterMark Haines2015-12-221-0/+1
| |/ |/|
* | Do the /sync in parallel accross the rooms like /initialSync doesMark Haines2015-12-111-4/+12
|/
* Only include the archived rooms if a include_leave flag in set in the filterMark Haines2015-12-041-6/+6
|
* Add API for setting account_data globaly or on a per room basisMark Haines2015-12-011-15/+57
|
* s/private_user_data/account_data/Mark Haines2015-11-181-14/+14
|
* 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