summary refs log tree commit diff
path: root/synapse/handlers/sync.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Get left roomsErik Johnston2017-09-131-3/+32
|
* In sync handle device lists for newly joined/left roomsErik Johnston2017-09-121-2/+10
|
* Add left section to /keys/changesErik Johnston2017-09-081-1/+1
|
* Send down device list change notif when member leaves/rejoins roomErik Johnston2017-09-071-12/+52
|
* Use less DB for device list handling in syncErik Johnston2017-07-121-8/+7
|
* Add count of one time keys to sync streamErik Johnston2017-05-191-0/+11
|
* CommentsErik Johnston2017-03-161-2/+2
|
* CommentErik Johnston2017-03-161-3/+8
|
* Don't recreate so many setsErik Johnston2017-03-161-11/+7
|
* Implement no op for room stream in syncErik Johnston2017-03-161-4/+47
|
* Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-151-7/+7
|
* Noop repated delete device inbox calls from /syncErik Johnston2017-03-101-3/+3
|
* Measure new device list stuffErik Johnston2017-02-021-1/+2
|
* Wake sync up for device changesErik Johnston2017-02-011-1/+2
|
* Hook device list updates to replicationErik Johnston2017-01-271-10/+25
|
* Add basic implementation of local device list changesErik Johnston2017-01-251-0/+13
|
* Add some logging for syncing to_device eventsRichard van der Hoff2016-12-151-4/+8
| | | | | Attempt to track down the loss of to_device events (https://github.com/vector-im/riot-web/issues/2711 etc).
* Fix rare notifier bug where listeners dont timeoutErik Johnston2016-12-091-0/+1
| | | | | | There was a race condition that caused the notifier to 'miss' the timeout notification, since there were no other checks for the timeout this caused listeners to get stuck in a loop until something happened.
* Return early on /sync code paths if a '*' filter is usedKegan Dougal2016-11-221-9/+22
| | | | | | | | This is currently very conservative in that it only does this if there is no `since` token. This limits the risk to clients likely to be doing one-off syncs (like bridges), but does mean that normal human clients won't benefit from the time savings here. If the savings are large enough, I would consider generalising this to just check the filter.
* storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-061-1/+1
| | | | synchronous
* Only return new device messages in /syncMark Haines2016-09-021-1/+1
|
* Comment about message deletionErik Johnston2016-08-301-0/+3
|
* Fix checkErik Johnston2016-08-301-2/+1
|
* Noop get_new_messages_for_device if token hasn't changedErik Johnston2016-08-301-9/+12
|
* Merge pull request #1049 from matrix-org/erikj/presence_users_in_roomErik Johnston2016-08-301-1/+2
|\ | | | | Use state handler instead of get_users_in_room/get_joined_hosts
| * Use state handler instead of get_users_in_room/get_joined_hostsErik Johnston2016-08-261-1/+2
| |
* | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-261-34/+41
|\|
| * Make sync not pull out full stateErik Johnston2016-08-251-34/+41
| |
* | Add store-and-forward direct-to-device messagingMark Haines2016-08-251-1/+42
|/
* defer.returnValue must not be called within MeasureErik Johnston2016-08-191-7/+7
|
* Cache federation state responsesErik Johnston2016-07-211-1/+1
|
* Load push rules in storage layer, so that they get cachedErik Johnston2016-06-031-3/+2
|
* Deduplicate presence entries in sync (#818)Mark Haines2016-06-021-0/+3
|
* Change short circuit pathErik Johnston2016-05-241-16/+26
|
* Don't send down all ephemeral eventsErik Johnston2016-05-241-1/+3
|
* Only work out newly_joined_users for incremental syncErik Johnston2016-05-241-6/+9
|
* Only include non-offline presence in initial syncErik Johnston2016-05-241-0/+3
|
* Spell builder correctlyErik Johnston2016-05-241-63/+63
|
* Inline function. Make load_filtered_recents privateErik Johnston2016-05-241-17/+7
|
* Add commentsErik Johnston2016-05-241-7/+105
|
* Shuffle things roomErik Johnston2016-05-241-37/+33
|
* Add back concurrently_executeErik Johnston2016-05-231-25/+9
|
* Refactor SyncHandlerErik Johnston2016-05-231-497/+481
|
* Move SyncHandler out of the Handlers objectMark Haines2016-05-161-5/+5
|
* Merge branch 'markjh/liberate_presence_handler' into ↵Mark Haines2016-05-161-1/+1
|\ | | | | | | markjh/liberate_sync_handler
| * Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
| |
* | Remove get_joined_rooms_for_user from RoomMemberHandlerMark Haines2016-05-161-3/+3
|/
* move filter_events_for_client out of base handlerMark Haines2016-05-111-2/+5
|
* Merge pull request #759 from matrix-org/dbkr/email_notifsMatthew Hodgson2016-05-101-2/+2
|\ | | | | Send email notifications for missed messages
| * Run filter_events_for_clientDavid Baker2016-04-271-2/+2
| | | | | | | | so we don't accidentally mail out events people shouldn't see
* | Add bulk fetch storage APIErik Johnston2016-05-051-1/+1
| |
* | Implement basic ignore userErik Johnston2016-05-041-3/+19
|/
* Merge pull request #686 from matrix-org/markjh/doc_stringsMark Haines2016-04-011-18/+31
|\ | | | | Use google style doc strings.
| * Use google style doc strings.Mark Haines2016-04-011-18/+31
| | | | | | | | | | | | | | pycharm supports them so there is no need to use the other format. Might as well convert the existing strings to reduce the risk of people accidentally cargo culting the wrong doc string format.
* | Add concurrently_execute functionErik Johnston2016-04-011-56/+42
| |
* | Filter rooms list before chunkingErik Johnston2016-04-011-6/+12
|/
* Deduplicate identical /sync requestsMark Haines2016-03-241-1/+15
|
* Merge pull request #618 from matrix-org/markjh/pushrule_streamMark Haines2016-03-041-0/+22
|\ | | | | Add a stream for push rule updates
| * Hook up the push rules stream to account_data in /syncMark Haines2016-03-041-0/+22
| |
* | Always include kicks and bans in full /syncErik Johnston2016-03-041-3/+9
|/
* handlers/sync: style fix, line too longPatrik Oldsberg2016-02-231-1/+5
| | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* handlers/sync: fix SyncResult not counting account_data change when ↵Patrik Oldsberg2016-02-231-1/+1
| | | | | | | | converting to bool This fixes account_data events not triggering an immediate /sync response Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* 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