summary refs log tree commit diff
path: root/synapse/handlers/sync.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-251-54/+43
| | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit.
* Add description to counter metricErik Johnston2018-10-101-1/+5
|
* Track number of non-empty sync responses insteadErik Johnston2018-10-101-9/+15
|
* Append _total to metric and fix up spellingErik Johnston2018-10-101-2/+2
|
* Add metric to count lazy member sync requestsErik Johnston2018-10-091-6/+20
|
* Fix lazy loaded sync with rejected state eventsErik Johnston2018-10-011-2/+2
| | | | | | | | In particular, we assume that the name and canonical alias events in the state have not been rejected. In practice this may not be the case (though we should probably think about fixing that) so lets ensure that we gracefully handle that case, rather than 404'ing the sync request like we do now.
* Only lazy load self-members on initial syncMatthew Hodgson2018-09-251-5/+8
| | | Given we have disabled lazy loading for incr syncs in #3840, we can make self-LL more efficient by only doing it on initial sync. Also adds a bounds check for if/when we change our mind, so that we don't try to include LL members on sync responses with no timeline.
* Always LL ourselves if we're in a room to simplify clients (#3916)Matthew Hodgson2018-09-201-0/+4
| | | | Should fix https://github.com/vector-im/riot-web/issues/7209
* show heroes if a room has a 'deleted' name/canonical_alias (#3851)Matthew Hodgson2018-09-121-2/+15
|
* argh pep8Matthew Hodgson2018-09-121-1/+1
|
* correctly log gappy sync metricsMatthew Hodgson2018-09-121-1/+1
|
* fix loglineMatthew Hodgson2018-09-121-1/+1
|
* Speed up lazy loading (#3827)Matthew Hodgson2018-09-121-30/+88
| | | | | * speed up room summaries by pulling their data from room_memberships rather than room state * disable LL for incr syncs, and log incr sync stats (#3840)
* Don't send empty tags list down syncErik Johnston2018-09-061-0/+5
|
* Send existing room tags down sync on joinErik Johnston2018-09-061-0/+8
| | | | | | | | When a user joined a room any existing tags were not sent down the sync stream. Ordinarily this isn't a problem because the user needs to be in the room to have set tags in it, however synapse will sometimes add tags for a user to a room, e.g. for server notices, which need to come down sync.
* Merge pull request #3795 from matrix-org/erikj/faster_sync_stateAmber Brown2018-09-071-8/+8
|\ | | | | User iter* during sync state calculations
| * User iter* during sync state calculationsErik Johnston2018-09-051-8/+8
| |
* | Port handlers/ to Python 3 (#3803)Amber Brown2018-09-071-3/+3
|/
* don't return non-LL-member state in incremental sync state blocks (#3760)Matthew Hodgson2018-08-281-1/+8
| | | don't return non-LL-member state in incremental sync state blocks
* Integrate presence from hotfixes (#3694)Amber Brown2018-08-181-1/+2
|
* initial cut at a room summary API (#3574)Matthew Hodgson2018-08-161-10/+149
|
* Merge pull request #3670 from matrix-org/neilj/mau_sync_blockNeil Johnson2018-08-141-2/+11
|\ | | | | Block ability to read via sync if mau limit exceeded
| * only block on sync where user is not part of the mau cohortNeil Johnson2018-08-091-1/+6
| |
| * block sync if auth checks failNeil Johnson2018-08-091-7/+5
| |
| * sync auth blockingNeil Johnson2018-08-081-5/+11
| |
* | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-101-1/+1
|/
* Deduplicate redundant lazy-loaded members (#3331)Matthew Hodgson2018-07-261-25/+62
| | | | | | | | | | | | | | | | | | | | * attempt at deduplicating lazy-loaded members as per the proposal; we can deduplicate redundant lazy-loaded members which are sent in the same sync sequence. we do this heuristically rather than requiring the client to somehow tell us which members it has chosen to cache, by instead caching the last N members sent to a client, and not sending them again. For now we hardcode N to 100. Each cache for a given (user,device) tuple is in turn cached for up to X minutes (to avoid the caches building up). For now we hardcode X to 30. * add include_redundant_members filter option & make it work * remove stale todo * add tests for _get_some_state_from_cache * incorporate review
* clarify comment on p_idsMatthew Hodgson2018-07-241-1/+2
|
* rather than adding ll_ids, remove them from p_idsMatthew Hodgson2018-07-241-5/+6
|
* incorporate more reviewMatthew Hodgson2018-07-241-3/+9
|
* incorporate reviewMatthew Hodgson2018-07-231-40/+27
|
* incorporate reviewMatthew Hodgson2018-07-191-17/+27
|
* add a filtered_types param to limit filtering to specific typesMatthew Hodgson2018-07-191-29/+36
|
* merge develop pydoc for _get_state_for_groupsMatthew Hodgson2018-07-191-13/+13
|\
| * run isortAmber Brown2018-07-091-12/+12
| |
| * typoMatthew Hodgson2018-06-251-1/+1
| |
* | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-06-041-4/+14
|\|
| * Consistently use six's iteritems and wrap lazy keys/values in list() if ↵Amber Brown2018-05-311-3/+3
| | | | | | | | they're not meant to be lazy (#3307)
| * Update some comments and docstrings in SyncHandlerRichard van der Hoff2018-05-291-1/+11
| |
* | more commentsMatthew Hodgson2018-06-041-0/+7
| |
* | add pydocMatthew Hodgson2018-05-291-5/+13
| |
* | merge developMatthew Hodgson2018-05-291-24/+41
|\|
| * replace some iteritems with sixAdrian Tschira2018-05-191-6/+8
| | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * Add comment to sync as to why code path is splitErik Johnston2018-05-091-0/+5
| |
| * Refactor sync APIs to reuse pagination APIErik Johnston2018-05-091-6/+13
| | | | | | | | | | | | The sync API often returns events in a topological rather than stream ordering, e.g. when the user joined the room or on initial sync. When this happens we can reuse existing pagination storage functions.
| * Refactor get_recent_events_for_room return typeErik Johnston2018-05-091-1/+1
| | | | | | | | | | | | There is no reason to return a tuple of tokens when the last token is always the token passed as an argument. Changing it makes it consistent with other storage APIs
| * Merge pull request #3107 from NotAFile/py3-bool-nonzeroRichard van der Hoff2018-04-201-0/+7
| |\ | | | | | | add __bool__ alias to __nonzero__ methods
| | * add __bool__ alias to __nonzero__ methodsAdrian Tschira2018-04-151-0/+7
| | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | Refactor ResponseCache usageRichard van der Hoff2018-04-121-10/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a `.wrap` method to ResponseCache which wraps up the boilerplate of a (get, set) pair, and then use it throughout the codebase. This will be largely non-functional, but does include the following functional changes: * federation_server.on_context_state_request: drops use of _server_linearizer which looked redundant and could cause incorrect cache misses by yielding between the get and the set. * RoomListHandler.get_remote_public_room_list(): fixes logcontext leaks * the wrap function includes some logging. I'm hoping this won't be too noisy on production.
| * Add metrics for ResponseCacheRichard van der Hoff2018-04-101-1/+1
| |
* | make lazy_load_members configurable in filtersMatthew Hodgson2018-03-191-9/+9
| |
* | reshuffle todo & commentsMatthew Hodgson2018-03-191-2/+10
| |
* | only get member state IDs for incremental syncs if we're filteringMatthew Hodgson2018-03-181-5/+5
| |
* | remove debugMatthew Hodgson2018-03-161-4/+0
| |
* | fix tsm search againMatthew Hodgson2018-03-161-5/+4
| |
* | add state_ids for timeline entriesMatthew Hodgson2018-03-161-4/+14
| |
* | simplify timeline_start_membersMatthew Hodgson2018-03-161-14/+13
| |
* | make incr syncs workMatthew Hodgson2018-03-161-3/+4
| |
* | add copyright to nudge CIMatthew Hodgson2018-03-141-1/+2
| |
* | oopsMatthew Hodgson2018-03-131-1/+1
| |
* | make it workMatthew Hodgson2018-03-131-3/+3
| |
* | ensure we always include the members for a given timeline blockMatthew Hodgson2018-03-131-4/+32
| |
* | typosMatthew Hodgson2018-03-111-2/+2
| |
* | WIP experiment in lazyloading room membersMatthew Hodgson2018-03-111-12/+31
|/
* Fix up log messageErik Johnston2018-03-071-1/+1
|
* Fix typoErik Johnston2018-03-071-2/+2
|
* Fix race in sync when joining roomErik Johnston2018-03-071-28/+75
| | | | | | | | | | | The race happens when the user joins a room at the same time as doing a sync. We fetch the current token and then get the rooms the user is in. If the join happens after the current token, but before we get the rooms we end up sending down a partial room entry in the sync. This is fixed by looking at the stream ordering of the membership returned by get_rooms_for_user, and handling the case when that stream ordering is after the current token.
* Remove ability for AS users to call /events and /syncErik Johnston2018-03-051-4/+6
| | | | | | | This functionality has been deprecated for a while as well as being broken for a while. Instead of fixing it lets just remove it entirely. See: https://github.com/matrix-org/matrix-doc/issues/1144
* Do logcontexts outside ResponseCacheErik Johnston2017-10-251-3/+3
|
* Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-021-7/+32
|\
| * Refactor to speed up incremental syncsErik Johnston2017-09-251-5/+18
| |
| * Fix device list when rejoining room (#2461)Erik Johnston2017-09-221-2/+14
| |
* | Ensure that creator of group sees group down /syncErik Johnston2017-09-191-0/+1
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_mergedErik Johnston2017-09-191-21/+105
|\|
| * Don't filter out current state events from timelineErik Johnston2017-09-181-0/+7
| |
| * Actually hook leave notifs upErik Johnston2017-09-141-2/+3
| |
| * 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
| |
* | Correctly add joins to correct segmentErik Johnston2017-07-241-1/+1
| |
* | Remember to cast to boolErik Johnston2017-07-201-1/+1
| |
* | Add groups to sync streamErik Johnston2017-07-201-1/+63
|/
* 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.