summary refs log tree commit diff
path: root/synapse/handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4415 from matrix-org/anoa/full_search_upgraded_roomsAndrew Morgan2019-01-251-0/+47
|\ | | | | Ability to search entire room history after upgrading room
| * Apply suggestions from code reviewRichard van der Hoff2019-01-241-1/+1
| | | | | | Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com>
| * Fix a bug with single-room search searching all roomsAndrew Morgan2019-01-221-32/+10
| | | | | | | | | | * Create a new method for getting predecessor rooms * Remove formatting change
| * Search for messages across predecessor roomsAndrew Morgan2019-01-181-0/+69
| | | | | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/msc_1813Erik Johnston2019-01-254-33/+183
|\ \
| * \ Merge pull request #4448 from matrix-org/erikj/get_pdu_versionsErik Johnston2019-01-241-2/+15
| |\ \ | | | | | | | | Add room_version param to get_pdu
| | * | Review commentsErik Johnston2019-01-241-0/+5
| | | |
| | * | Add room_version param to get_pduErik Johnston2019-01-231-2/+10
| | | | | | | | | | | | | | | | | | | | When we add new event format we'll need to know the event format or room version when parsing events.
| * | | Merge pull request #4405 from matrix-org/erikj/fixup_rejecting_invitesErik Johnston2019-01-241-29/+3
| |\ \ \ | | | | | | | | | | Store rejected remote invite events as outliers
| | * | | Remove unecessary setting of outlier bitErik Johnston2019-01-241-2/+0
| | | | |
| | * | | Use term 'out of band membership' insteadErik Johnston2019-01-241-2/+2
| | | | |
| | * | | Clarify the invite flowsErik Johnston2019-01-231-1/+11
| | | | |
| | * | | Remove unnecessary '_sign_event'Erik Johnston2019-01-231-14/+0
| | | | |
| | * | | Store rejected remote invite events as outliersErik Johnston2019-01-231-32/+12
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently they're stored as non-outliers even though the server isn't in the room, which can be problematic in places where the code assumes it has the state for all non outlier events. In particular, there is an edge case where persisting the leave event triggers a state resolution, which requires looking up the room version from state. Since the server doesn't have the state, this causes an exception to be thrown.
| * | | Change default timeout value from 0 to NoneAndrew Morgan2019-01-241-1/+1
| | | |
| * | | Use self.clock instead of datetimeAndrew Morgan2019-01-241-4/+3
| | | |
| * | | isortAndrew Morgan2019-01-241-1/+1
| | | |
| * | | lintAndrew Morgan2019-01-241-1/+2
| | | |
| * | | Time out filtered room dir queries after 60sAndrew Morgan2019-01-241-2/+12
| |/ /
| * | Add metric for user dir current event stream positionAndrew Morgan2019-01-231-0/+6
| | |
| * | Support ACME for certificate provisioning (#4384)Amber Brown2019-01-231-0/+147
| | |
* | | Implement MSC 1813 - Add room version to make APIsErik Johnston2019-01-231-1/+1
|/ / | | | | | | | | We also implement `make_membership_event` converting the returned room version to an event format version.
* / Migrate encryption state on room upgrade (#4411)Andrew Morgan2019-01-211-0/+1
|/ | | | | | | | * Migrate encryption state on room upgrade Signed-off-by: Andrew Morgan <andrew@amorgan.xyz> * Add changelog file
* sign_request -> build_auth_headers (#4408)Richard van der Hoff2019-01-171-3/+6
| | | | | Just got very confused about the fact that the headers are only an output, not an input.
* don't store more remote device lists if they have more than 1K devices (#4397)Richard van der Hoff2019-01-161-0/+19
|
* fix NPE in /messages by checking if all events were filtered out (#4330)Matthew Hodgson2019-01-021-10/+11
|
* Fixed line lengthNathan Pennie2018-12-191-1/+5
|
* Fix the variable names used for account_dataNathan Pennie2018-12-191-3/+3
|
* create support user (#4141)Neil Johnson2018-12-143-23/+39
| | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits.
* Initialise user displayname from SAML2 data (#4272)Richard van der Hoff2018-12-071-7/+16
| | | | | When we register a new user from SAML2 data, initialise their displayname correctly.
* Factor SSO success handling out of CAS login (#4264)Richard van der Hoff2018-12-071-2/+11
| | | | This is mostly factoring out the post-CAS-login code to somewhere we can reuse it for other SSO flows, but it also fixes the userid mapping while we're at it.
* Rip out half-implemented m.login.saml2 support (#4265)Richard van der Hoff2018-12-061-29/+0
| | | | | | | | | | | | | * Rip out half-implemented m.login.saml2 support This was implemented in an odd way that left most of the work to the client, in a way that I really didn't understand. It's going to be a pain to maintain, so let's start by ripping it out. * drop undocumented dependency on dateutil It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat.
* Add an option to disable search for homeservers which may not be interested ↵Travis Ralston2018-12-041-0/+3
| | | | | | in it (#4230) This is useful for homeservers not intended for users, such as bot-only homeservers or ones that only process IoT data.
* Neilj/fix autojoin (#4223)Neil Johnson2018-11-281-2/+21
| | | | | | * Fix auto join failures for servers that require user consent * Fix auto join failures for servers that require user consent
* Remove duplicate slashes in generated consent URLsTravis Ralston2018-11-151-1/+1
|
* Remove hack to support rejoining roomsErik Johnston2018-11-091-74/+42
|
* Simplify to always drop events if server isn't in the roomErik Johnston2018-11-091-14/+9
|
* Add config variables for enabling terms auth and the policy name (#4142)Travis Ralston2018-11-061-1/+1
| | | | So people can still collect consent the old way if they want to.
* handle empty backups according to latest spec proposal (#4123)Hubert Chathi2018-11-051-7/+15
| | | fixes #4056
* Add helpers for getting prev and auth events (#4139)Erik Johnston2018-11-061-24/+24
| | | | | | | * Add helpers for getting prev and auth events This is in preparation for allowing the event format to change between room versions.
* Fix typing being reset causing infinite syncs (#4127)Amber Brown2018-11-031-4/+10
|
* Include a version query string arg for the consent routeTravis Ralston2018-10-311-1/+4
|
* Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-318-133/+515
|\
| * Merge pull request #4101 from matrix-org/rav/aliases_for_upgradesRichard van der Hoff2018-10-312-14/+140
| |\ | | | | | | Attempt to move room aliases on room upgrades
| | * Avoid else clause on exception for clarityRichard van der Hoff2018-10-311-2/+1
| | |
| | * Attempt to move room aliases on room upgradesRichard van der Hoff2018-10-312-14/+141
| | |
| * | Log some bits about event creation (#4121)Richard van der Hoff2018-10-312-0/+7
| | | | | | | | | | | | I found these helpful in debugging my room upgrade tests.
| * | Fix search 500ing (#4122)Amber Brown2018-10-311-2/+6
| | |
| * | Delete the disused & unspecced identicon functionality (#4106)Amber Brown2018-10-291-3/+0
| |/
| * Merge pull request #4100 from matrix-org/rav/room_upgrade_avatarRichard van der Hoff2018-10-291-1/+2
| |\ | | | | | | Remember to copy the avatar on room upgrades
| | * Remember to copy the avatar on room upgradesRichard van der Hoff2018-10-261-1/+2
| | |
| * | Better handling of odd PLs during room upgradesRichard van der Hoff2018-10-271-44/+81
| |/ | | | | | | | | | | | | Fixes handling of rooms where we have permission to send the tombstone, but not other state. We need to (a) fail more gracefully when we can't send the PLs in the old room, and (b) not set the PLs in the new room until we are done with the other stuff.
| * optimise state copyingRichard van der Hoff2018-10-261-7/+5
| |
| * Address review commentsRichard van der Hoff2018-10-261-7/+9
| | | | | | | | Improve comments, get old room state from the context we already have
| * restrict PLs in old roomRichard van der Hoff2018-10-251-1/+43
| |
| * copy stateRichard van der Hoff2018-10-251-11/+26
| |
| * preserve PLsRichard van der Hoff2018-10-251-1/+7
| |
| * preserve room visibilityRichard van der Hoff2018-10-251-3/+5
| |
| * Basic initial support for room upgradesRichard van der Hoff2018-10-251-0/+121
| | | | | | | | | | Currently just creates a new, empty, room, and sends a tombstone in the old room.
| * Allow power_level_content_override=None for _send_events_for_new_roomRichard van der Hoff2018-10-251-5/+6
| |
| * Make room_member_handler a member of RoomCreationHandlerRichard van der Hoff2018-10-252-8/+7
| | | | | | | | ... to save passing it into `_send_events_for_new_room`
| * Factor _generate_room_id out of create_roomRichard van der Hoff2018-10-251-22/+23
| | | | | | | | we're going to need this for room upgrades.
| * Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-255-86/+72
| | | | | | | | | | | | | | | | 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.
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-10-258-43/+79
| |\ | | | | | | | | | erikj/alias_disallow_list
| | * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-10-2513-103/+440
| | |\ | | | | | | | | | | | | matthew/autocreate_autojoin
| | * | remove trailing whiter spaceNeil Johnson2018-10-241-1/+1
| | | |
| | * | fix tupleRichard van der Hoff2018-10-241-1/+2
| | | | | | | | | | | | Co-Authored-By: neilisfragile <neil@matrix.org>
| | * | remove errant exception and styleNeil Johnson2018-10-231-5/+5
| | | |
| | * | clean up config error logic and importsNeil Johnson2018-10-171-14/+16
| | | |
| | * | no need to join room if creatorNeil Johnson2018-10-131-1/+2
| | | |
| | * | improve auto room join logic, comments and testsNeil Johnson2018-10-121-3/+8
| | | |
| | * | Merge branch 'develop' into matthew/autocreate_autojoinNeil Johnson2018-10-045-42/+74
| | |\ \
| | * | | move logic into register, fix room alias localpart bug, testsNeil Johnson2018-10-041-27/+18
| | | | |
| | * | | emit room aliases eventMatthew Hodgson2018-09-291-3/+8
| | | | |
| | * | | fix thinkosMatthew Hodgson2018-09-291-6/+6
| | | | |
| | * | | fix UTsMatthew Hodgson2018-09-281-4/+9
| | | | |
| | * | | untested stab at autocreating autojoin roomsMatthew Hodgson2018-09-281-0/+18
| | | | |
| * | | | Add config option to control alias creationErik Johnston2018-10-191-0/+9
| | | | |
* | | | | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-249-74/+100
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Merge pull request #4040 from matrix-org/erikj/states_res_v2_rebaseErik Johnston2018-10-241-15/+15
| |\ \ \ \ | | | | | | | | | | | | Add v2 state resolution algorithm
| | * | | | CommentErik Johnston2018-10-241-2/+5
| | | | | |
| | * | | | Rename resolve_events_with_factoryErik Johnston2018-10-241-2/+2
| | | | | |
| | * | | | Fix up use of resolve_events_with_factoryErik Johnston2018-10-161-13/+10
| | | | | |
| * | | | | Merge pull request #4075 from matrix-org/rav/fix_pusher_logcontextsRichard van der Hoff2018-10-243-4/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | Clean up the way logcontexts and threads work in the pushers
| | * | | | | Remove redundant run_as_background_process() from pusherpoolRichard van der Hoff2018-10-223-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `on_new_notifications` and `on_new_receipts` in `HttpPusher` and `EmailPusher` now always return synchronously, so we can remove the `defer.gatherResults` on their results, and the `run_as_background_process` wrappers can be removed too because the PusherPool methods will now complete quickly enough.
| * | | | | | Merge pull request #4063 from matrix-org/erikj/cleaup_alias_creationErik Johnston2018-10-242-32/+50
| |\ \ \ \ \ \ | | | |_|/ / / | | |/| | | | Clean up room alias creation
| | * | | | | Clean up room alias creationErik Johnston2018-10-192-32/+50
| | |/ / / /
| * | | | | Merge pull request #3969 from turt2live/travis/fix-federated-group-requestsTravis Ralston2018-10-231-2/+16
| |\ \ \ \ \ | | | | | | | | | | | | | | Handle HttpResponseException more safely for federated groups
| | * | | | | Comments helpTravis Ralston2018-10-231-0/+5
| | | | | | |
| | * | | | | isortTravis Ralston2018-10-121-1/+1
| | | | | | |
| | * | | | | More sane handling of group errors and pep8Travis Ralston2018-10-121-4/+5
| | | | | | |
| | * | | | | Merge branch 'develop' into travis/fix-federated-group-requestsTravis Ralston2018-10-127-91/+181
| | |\ \ \ \ \
| | * | | | | | Remove debugging statementTravis Ralston2018-09-261-1/+0
| | | | | | | |
| | * | | | | | Handle HttpResponseException more safely for federated groupsTravis Ralston2018-09-261-2/+11
| | | | | | | |
| * | | | | | | Give some more things logcontexts (#4077)Richard van der Hoff2018-10-232-7/+11
| | | | | | | |
| * | | | | | | Correctly account for cpu usage by background threads (#4074)Richard van der Hoff2018-10-231-14/+4
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap calls to deferToThread() in a thing which uses a child logcontext to attribute CPU usage to the right request. While we're in the area, remove the logcontext_tracer stuff, which is never used, and afaik doesn't work. Fixes #4064
* | | | | | | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-182-9/+14
|\| | | | | |
| * | | | | | Fix roomlist since tokens on Python 3 (#4046)Will Hunt2018-10-171-2/+9
| | | | | | | | | | | | | | | | | | | | | Thanks @Half-Shot !!!
| * | | | | | Fix incorrect truncation in get_missing_eventsRichard van der Hoff2018-10-161-7/+5
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's quite important that get_missing_events returns the *latest* events in the room; however we were pulling event ids out of the database until we got *at least* 10, and then taking the *earliest* of the results. We also shouldn't really be relying on depth, and should be checking the room_id.
* | | | | | pep8Travis Ralston2018-10-151-1/+1
| | | | | |
* | | | | | Ensure the terms params are actually providedTravis Ralston2018-10-151-0/+1
| | | | | |
* | | | | | Python is hardTravis Ralston2018-10-151-5/+6
| | | | | |
* | | | | | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-151-0/+289
|\| | | | |
| * | | | | Merge pull request #4019 from matrix-org/dbkr/e2e_backupsDavid Baker2018-10-151-0/+289
| |\ \ \ \ \ | | |_|/ / / | |/| | | | E2E backups
| | * | | | Linting soothes the savage PEP8 monsterDavid Baker2018-10-121-4/+9
| | | | | |
| | * | | | PR feedback pt. 1David Baker2018-10-121-20/+21
| | | | | |
| | * | | | Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backupsDavid Baker2018-10-0913-205/+498
| | |\ \ \ \ | | | | |_|/ | | | |/| |
| | * | | | Apparently this blank line is Very ImportantDavid Baker2018-10-091-0/+1
| | | | | |
| | * | | | be python3 compatibleDavid Baker2018-10-091-2/+3
| | | | | |
| | * | | | try to make flake8 and isort happyHubert Chathi2018-09-061-1/+1
| | | | | |
| | * | | | update to newer Synapse APIsHubert Chathi2018-08-241-1/+1
| | | | | |
| | * | | | Merge branch 'develop' into e2e_backupsHubert Chathi2018-08-2420-168/+546
| | |\ \ \ \
| | * | | | | support DELETE /version with no argsMatthew Hodgson2018-08-121-1/+1
| | | | | | |
| | * | | | | implement remaining tests and make them workMatthew Hodgson2018-08-121-7/+28
| | | | | | |
| | * | | | | switch get_current_version_info back to being get_version_infoMatthew Hodgson2018-08-121-4/+7
| | | | | | |
| | * | | | | fix flakesMatthew Hodgson2018-08-121-2/+2
| | | | | | |
| | * | | | | fix typosMatthew Hodgson2018-08-121-1/+2
| | | | | | |
| | * | | | | add a tonne of docstring; make upload_room_keys properly assert versionMatthew Hodgson2018-08-121-8/+103
| | | | | | |
| | * | | | | more docstring for the e2e_room_keys restMatthew Hodgson2018-08-121-2/+0
| | | | | | |
| | * | | | | fix factoring out of _should_replace_room_keyMatthew Hodgson2018-08-121-3/+4
| | | | | | |
| | * | | | | rename room_key_version table correctly, and fix opt argsMatthew Hodgson2018-08-121-3/+3
| | | | | | |
| | * | | | | blindly incorporate PR review - needs testing & fixingMatthew Hodgson2018-08-121-30/+58
| | | | | | |
| | * | | | | make /room_keys/version workMatthew Hodgson2018-08-121-7/+11
| | | | | | |
| | * | | | | implement /room_keys/version too (untested)Matthew Hodgson2018-08-121-5/+42
| | | | | | |
| | * | | | | make it work and fix pep8Matthew Hodgson2018-08-121-26/+43
| | | | | | |
| | * | | | | interim WIP checkin; doesn't build yetMatthew Hodgson2018-08-121-15/+31
| | | | | | |
| | * | | | | total WIP skeleton for /room_keys APIMatthew Hodgson2018-08-121-0/+60
| | | | | | |
* | | | | | | Update login terms structure for the proposed language supportTravis Ralston2018-10-121-4/+7
| | | | | | |
* | | | | | | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-122-20/+37
|\| | | | | |
| * | | | | | 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
| | | | | | |
| * | | | | | Remove unnecessary extra function call layerErik Johnston2018-10-081-15/+3
| | | | | | |
| * | | | | | Use errback pattern and catch async failuresErik Johnston2018-10-081-1/+6
| | |_|/ / / | |/| | | |
* | | | | | Use a flag rather than a new route for the public policyTravis Ralston2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | This also means that the template now has optional parameters, which will need to be documented somehow.
* | | | | | Supply params for terms auth stageTravis Ralston2018-10-031-0/+9
| | | | | | | | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/pull/1692
* | | | | | Incorporate Dave's work for GDPR login flowsTravis Ralston2018-10-031-0/+4
|/ / / / / | | | | | | | | | | As per https://github.com/vector-im/riot-web/issues/7168#issuecomment-419996117
* | | | | Fix exception handling in fetching remote profilesErik Johnston2018-10-031-6/+2
| | | | |
* | | | | Merge pull request #3989 from matrix-org/rav/better_stacktracesRichard van der Hoff2018-10-022-22/+23
|\ \ \ \ \ | | | | | | | | | | | | Avoid reraise, to improve stacktraces
| * | | | | Avoid reraise, to improve stacktracesRichard van der Hoff2018-10-012-22/+23
| | | | | |
* | | | | | Merge pull request #3986 from matrix-org/erikj/fix_sync_with_redacted_stateErik Johnston2018-10-021-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Fix lazy loaded sync with rejected state events
| * | | | | 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.
* | | | | | Merge pull request #3968 from matrix-org/rav/fix_federation_errorsRichard van der Hoff2018-10-011-12/+46
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Fix exceptions when handling incoming transactions
| * | | | | Merge remote-tracking branch 'origin/develop' into rav/fix_federation_errorsRichard van der Hoff2018-09-273-5/+21
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| * | | | | Include event when resolving state for missing prevsRichard van der Hoff2018-09-271-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a forward extremity for a room as `E`, and you receive `A`, `B`, s.t. `A -> B -> E`, and `B` also points to an unknown event `X`, then we need to do state res between `X` and `E`. When that happens, we need to make sure we include `X` in the state that goes into the state res alg. Fixes #3934.
| * | | | | Include state from remote servers in pdu handlingRichard van der Hoff2018-09-271-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we've fetched state events from remote servers in order to resolve the state for a new event, we need to actually pass those events into resolve_events_with_factory (so that it can do the state res) and then persist the ones we need - otherwise other bits of the codebase get confused about why we have state groups pointing to non-existent events.
| * | | | | Fix "unhashable type: 'list'" exception in federation handlingRichard van der Hoff2018-09-271-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_state_groups returns a map from state_group_id to a list of FrozenEvents, so was very much the wrong thing to be putting as one of the entries in the list passed to resolve_events_with_factory (which expects maps from (event_type, state_key) to event id). We actually want get_state_groups_ids().values() rather than get_state_groups(). This fixes the main problem in #3923, but there are other problems with this bit of code which get discovered once you do so.
* | | | | | Merge pull request #3964 from matrix-org/rav/remove_localhost_checksRichard van der Hoff2018-09-281-0/+1
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | remove spurious federation checks on localhost
| * | | | | Fix complete fail to do the right thingRichard van der Hoff2018-09-281-0/+1
| | |_|_|/ | |/| | |
* | | | | Merge pull request #3794 from matrix-org/erikj/faster_typingRichard van der Hoff2018-09-271-3/+19
|\ \ \ \ \ | | | | | | | | | | | | Improve performance of getting typing updates for replication
| * \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/faster_typingErik Johnston2018-09-1910-70/+198
| |\ \ \ \ \
| * | | | | | Improve performance of getting typing updates for replicationErik Johnston2018-09-051-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetching the list of all new typing notifications involved iterating over all rooms and comparing their serial. Lets move to using a stream change cache, like we do for other streams.
* | | | | | | Merge pull request #3967 from matrix-org/rav/federation_handler_cleanupsRichard van der Hoff2018-09-271-2/+10
|\ \ \ \ \ \ \ | | |_|_|/ / / | |/| | | | | Clarifications in FederationHandler
| * | | | | | more commentsRichard van der Hoff2018-09-271-4/+3
| | | | | | |
| * | | | | | Clarifications in FederationHandlerRichard van der Hoff2018-09-271-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some comments on things that look a bit bogus * rename this `state` variable to avoid confusion with the `state` used elsewhere in this function. (There was no actual conflict, but it was a confusing bit of spaghetti.)
* | | | | | | Merge pull request #3970 from schnuffle/develop-py3Amber Brown2018-09-272-2/+2
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Replaced all occurences of e.message with str(e)
| * | | | | | Replaced all occurences of e.message with str(e)Schnuffle2018-09-272-2/+2
| | |_|/ / / | |/| | | | | | | | | | | | | | | | Signed-off-by: Schnuffle <schnuffle@github.com>
* | | | | | Merge pull request #3966 from matrix-org/rav/rx_txn_logging_2Richard van der Hoff2018-09-271-0/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | Logging improvements
| * | | | | | Logging improvementsRichard van der Hoff2018-09-261-0/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | Some logging tweaks to help with debugging incoming federation transactions
* / / / / / Include eventid in log lines when processing incoming federation ↵Richard van der Hoff2018-09-271-26/+39
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transactions (#3959) when processing incoming transactions, it can be hard to see what's going on, because we process a bunch of stuff in parallel, and because we may end up recursively working our way through a chain of three or four events. This commit creates a way to use logcontexts to add the relevant event ids to the log lines.
* | | | | Merge pull request #3924 from matrix-org/rav/clean_up_on_receive_pduAmber Brown2018-09-261-23/+46
|\ \ \ \ \ | | | | | | | | | | | | Comments and interface cleanup for on_receive_pdu
| * | | | | Comments and interface cleanup for on_receive_pduRichard van der Hoff2018-09-201-23/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some informative comments about what's going on here. Also, `sent_to_us_directly` and `get_missing` were doing the same thing (apart from in `_handle_queued_pdus`, which looks like a bug), so let's get rid of `get_missing` and use `sent_to_us_directly` consistently.
* | | | | | 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
* | / / / Improve the logging when handling a federation transaction (#3904)Richard van der Hoff2018-09-191-55/+109
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's try to rationalise the logging that happens when we are processing an incoming transaction, to make it easier to figure out what is going wrong when they take ages. In particular: - make everything start with a [room_id event_id] prefix - make sure we log a warning when catching exceptions rather than just turning them into other, more cryptic, exceptions.
* | | | Merge pull request #3903 from matrix-org/rav/increase_get_missing_events_timeoutAmber Brown2018-09-191-1/+30
|\ \ \ \ | | | | | | | | | | Bump timeout on get_missing_events request
| * | | | Bump timeout on get_missing_events requestRichard van der Hoff2018-09-181-1/+30
| | | | |
* | | | | Use directory server for room joins (#3899)Richard van der Hoff2018-09-181-0/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | When we do a join, always try the server we used for the alias lookup first. Fixes #2418
* | | | Merge pull request #3879 from matrix-org/matthew/fix-autojoinRichard van der Hoff2018-09-181-0/+1
|\ \ \ \ | | | | | | | | | | don't ratelimit autojoins
| * | | | don't ratelimit autojoinsMatthew Hodgson2018-09-151-0/+1
| | | | |
* | | | | Reinstate missing null checkRichard van der Hoff2018-09-171-1/+1
| | | | |
* | | | | Return a 404 when deleting unknown room aliasRichard van der Hoff2018-09-171-3/+16
|/ / / / | | | | | | | | | | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/issues/1675 Fixes https://github.com/matrix-org/synapse/issues/2782
* | | | don't filter membership events based on history visibility (#3874)Matthew Hodgson2018-09-141-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't filter membership events based on history visibility as we will already have filtered the messages in the timeline, and state events are always visible. and because @erikjohnston said so.
* | | | 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-076-19/+22
|/ / /
* | | Merge pull request #3737 from matrix-org/erikj/remove_redundant_state_funcErik Johnston2018-09-031-1/+1
|\ \ \ | | | | | | | | Remove unnecessary resolve_events_with_state_map
| * | | Remove unnecessary resolve_events_with_state_mapErik Johnston2018-08-221-1/+1
| | |/ | |/| | | | | | | | | | We only ever used the synchronous resolve_events_with_state_map in one place, which is trivial to replace with the async version.
* | | fix bug where preserved threepid user comes to sign up and server is mau blockedNeil Johnson2018-08-311-1/+2
| | |
* | | 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
* | Merge pull request #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-222-9/+26
|\ \ | | | | | | Allow profile updates to happen on workers
| * | Rename WorkerProfileHandler to BaseProfileHandlerErik Johnston2018-08-221-3/+10
| | |
| * | Add assert to ensure handler is only run on masterErik Johnston2018-08-221-0/+2
| | |
| * | Remove redundant varsErik Johnston2018-08-221-3/+0
| | |
| * | Add some fixmesErik Johnston2018-08-171-0/+4
| | |
| * | Call UserDirectoryHandler methods directlyErik Johnston2018-08-171-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | Turns out that the user directory handling is fairly racey as a bunch of stuff assumes that the processing happens on master, which it doesn't when there is a synapse.app.user_dir worker. So lets just call the function directly until we actually get round to fixing it, since it doesn't make the situation any worse.
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-1715-84/+409
| |\ \ | | | | | | | | | | | | erikj/split_profiles
| * | | Split ProfileHandler into master and workerErik Johnston2018-08-171-7/+14
| | | |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-096-55/+112
| |\ \ \ | | | | | | | | | | | | | | | erikj/split_profiles
| * | | | Allow profile changes to happen on workersErik Johnston2018-08-071-5/+21
| | | | |
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2016-109/+445
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | erikj/refactor_state_handler
| * \ \ \ \ Merge pull request #3710 from matrix-org/rav/logcontext_for_pusher_updatesRichard van der Hoff2018-08-173-17/+11
| |\ \ \ \ \ | | | | | | | | | | | | | | Fix logcontexts for running pushers
| | * | | | | Fix logcontexts for running pushersRichard van der Hoff2018-08-173-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First of all, avoid resetting the logcontext before running the pushers, to fix the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning. Instead, give them their own "background process" logcontexts.
| * | | | | | Integrate presence from hotfixes (#3694)Amber Brown2018-08-183-8/+25
| | |_|_|/ / | |/| | | |
| * | | | | block event creation and room creation on hitting resource limitsNeil Johnson2018-08-162-1/+9
| |/ / / /
| * | | | lazyload aware /messages (#3589)Matthew Hodgson2018-08-161-1/+34
| | | | |
| * | | | initial cut at a room summary API (#3574)Matthew Hodgson2018-08-161-10/+149
| | | | |
| * | | | Merge pull request #3689 from matrix-org/neilj/fix_off_by_1+mausNeil Johnson2018-08-151-2/+2
| |\ \ \ \ | | | | | | | | | | | | Fix Mau off by one errors
| | * \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-154-31/+108
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * | | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | AuthError in all cases
| | * | | | | fix off by 1s on mauNeil Johnson2018-08-141-2/+2
| | | | | | |
| | * | | | | Merge branch 'neilj/admin_email' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-141-10/+0
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * \ \ \ \ \ Merge branch 'neilj/admin_email' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-141-13/+14
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * \ \ \ \ \ \ Merge branch 'neilj/mau_sync_block' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-141-2/+11
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| * | | | | | | | | speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-151-12/+76
| | |_|_|_|/ / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #3653 from matrix-org/erikj/split_federationErik Johnston2018-08-151-17/+57
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Move more federation APIs to workers
| | * \ \ \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-1514-27/+78
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/split_federation
| | * | | | | | | | | Use federation handler function rather than duplicateErik Johnston2018-08-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves renaming _persist_events to be a public function.
| | * | | | | | | | | Move clean_room_for_join to masterErik Johnston2018-08-091-2/+14
| | | | | | | | | | |
| | * | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-096-55/+112
| | |\ \ \ \ \ \ \ \ \ | | | | |_|_|_|_|_|/ / | | | |/| | | | | | | | | | | | | | | | | | erikj/split_federation
| | * | | | | | | | | Add EDU/query handling over replicationErik Johnston2018-08-061-11/+13
| | | | | | | | | | |
| | * | | | | | | | | Add replication APIs for persisting federation eventsErik Johnston2018-08-061-9/+35
| | | |_|_|_|_|_|/ / | | |/| | | | | | |
| * | | | | | | | | Merge pull request #3687 from matrix-org/neilj/admin_emailNeil Johnson2018-08-151-14/+4
| |\ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / | |/| | | | | | | | support admin_email config and pass through into blocking errors,
| | * | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/admin_emailNeil Johnson2018-08-141-2/+11
| | |\ \ \ \ \ \ \ \
| | * | | | | | | | | remove blank lineNeil Johnson2018-08-141-1/+0
| | | |_|_|_|_|_|/ / | | |/| | | | | | |
| | * | | | | | | | Update register.pyNeil Johnson2018-08-141-10/+0
| | | |_|_|_|_|/ / | | |/| | | | | | | | | | | | | | | remove comments
| | * | | | | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-131-13/+14
| | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | AuthError in all cases
| * | | | | | | Merge pull request #3667 from matrix-org/erikj/fixup_unbindErik Johnston2018-08-153-14/+51
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | Don't fail requests to unbind 3pids for non supporting ID servers
| | * | | | | | Log when we 3pid/unbind request failsErik Johnston2018-08-091-0/+2
| | | | | | | |
| | * | | | | | Don't fail requests to unbind 3pids for non supporting ID serversErik Johnston2018-08-083-14/+49
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661
| * | | | | | 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
| | | | | |
| | * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-095-34/+69
| | |\ \ \ \ | | | | |_|/ | | | |/| | | | | | | | neilj/mau_sync_block
| | * | | | sync auth blockingNeil Johnson2018-08-081-5/+11
| | | | | |
| * | | | | Revert "support admin_email config and pass through into blocking errors, ↵Neil Johnson2018-08-131-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | return AuthError in all cases" This reverts commit 0d43f991a19840a224d3dac78d79f13d78212ee6.
| * | | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-131-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | AuthError in all cases
| * | | | | Run tests under PostgreSQL (#3423)Amber Brown2018-08-131-0/+5
| | | | | |
| * | | | | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-1011-11/+11
| | |/ / / | |/| | |
* | | | | Remove redundant room_version checksErik Johnston2018-08-201-1/+1
| | | | |
* | | | | Revert spurious changeErik Johnston2018-08-201-2/+2
| | | | |
* | | | | Choose state algorithm based on room versionErik Johnston2018-08-092-4/+9
|/ / / /
* | | | Merge pull request #3632 from matrix-org/erikj/refactor_repl_servletErik Johnston2018-08-092-31/+21
|\ \ \ \ | | |_|/ | |/| | Add helper base class for generating new replication endpoints
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-035-141/+210
| |\ \ \ | | | | | | | | | | | | | | | erikj/refactor_repl_servlet
| * | | | Use new helper base class for membership requestsErik Johnston2018-07-311-24/+17
| | | | |
| * | | | Use new helper base class for ReplicationSendEventRestServletErik Johnston2018-07-311-7/+4
| | | | |
* | | | | Merge pull request #3664 from matrix-org/rav/federation_metricsRichard van der Hoff2018-08-081-0/+10
|\ \ \ \ \ | | | | | | | | | | | | more metrics for the federation and appservice senders
| * | | | | more metrics for the federation and appservice sendersRichard van der Hoff2018-08-071-0/+10
| | |_|_|/ | |/| | |
* | | | | Merge pull request #3654 from matrix-org/rav/room_versionsRichard van der Hoff2018-08-082-3/+38
|\ \ \ \ \ | |_|_|_|/ |/| | | | Support for room versioning
| * | | | Don't expose default_room_version as config optRichard van der Hoff2018-08-071-1/+2
| | | | |
| * | | | include known room versions in outgoing make_joinsRichard van der Hoff2018-08-061-2/+11
| | | | |
| * | | | Basic support for room versioningRichard van der Hoff2018-08-031-1/+26
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | This is the first tranche of support for room versioning. It includes: * setting the default room version in the config file * new room_version param on the createRoom API * storing the version of newly-created rooms in the m.room.create event * fishing the version of existing rooms out of the m.room.create event