summary refs log tree commit diff
path: root/synapse/handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4666 from matrix-org/erikj/register_login_splitErik Johnston2019-02-181-8/+106
|\ | | | | Split out registration to worker
| * Move register_device into handlerErik Johnston2019-02-181-4/+47
| |
| * Split out registration to workerErik Johnston2019-02-181-4/+59
| | | | | | | | | | | | | | | | This allows registration to be handled by a worker, though the actual write to the database still happens on master. Note: due to the in-memory session map all registration requests must be handled by the same worker.
* | Merge pull request #4668 from matrix-org/erikj/catch_exceptionsErik Johnston2019-02-181-5/+9
|\ \ | | | | | | Correctly handle HttpResponseException when handling device updates
| * | pep8Erik Johnston2019-02-181-1/+5
| | |
| * | Correctly handle HttpResponseExceptionErik Johnston2019-02-181-4/+4
| | |
* | | Merge pull request #4667 from matrix-org/erikj/fix_revoke_guest_access_workersErik Johnston2019-02-181-1/+1
|\ \ \ | |/ / |/| | Fix kicking guest users in worker mode
| * | Fix kicking guest users in worker modeErik Johnston2019-02-181-1/+1
| |/ | | | | | | | | | | | | | | When guest_access changes from allowed to forbidden all local guest users should be kicked from the room. This did not happen when revocation was received from federation on a worker. Presumably broken in #4141
* | Merge pull request #4643 from matrix-org/erikj/catch_exceptionsErik Johnston2019-02-182-5/+11
|\ \ | |/ |/| Correctly handle RequestSendFailed exceptions
| * Correctly handle RequestSendFailed exceptionsErik Johnston2019-02-142-5/+11
| | | | | | | | This mainly reduces the number of exceptions we log.
* | Only fetch aliases when publishing roomsErik Johnston2019-02-141-15/+15
| |
* | Add configurable room list publishing rulesErik Johnston2019-02-141-5/+24
|/ | | | | This allows specifying who and what is allowed to be published onto the public room list
* Run `black` on user directory code (#4635)Amber Brown2019-02-131-44/+50
|
* Merge pull request #4608 from matrix-org/anoa/acls_room_upgradeErik Johnston2019-02-121-0/+1
|\ | | | | Transfer Server ACLs on room upgrade
| * Transfer Server ACLs on room upgradeAndrew Morgan2019-02-111-0/+1
| |
* | make sure version is in body and wrap in linearizer queueHubert Chathi2019-02-081-11/+26
| | | | | | | | also add tests
* | re-try to make isort happyHubert Chathi2019-02-061-1/+1
| |
* | fix import to make isort happyHubert Chathi2019-02-061-2/+7
| |
* | add new endpoint to update backup versionsHubert Chathi2019-02-061-1/+33
| |
* | return proper error codes for some 404sHubert Chathi2019-02-061-4/+16
|/
* Merge pull request #4530 from matrix-org/anoa/room_upgrade_federatableAndrew Morgan2019-01-311-0/+10
|\ | | | | Copy over non-federatable trait on room upgrade
| * New function for getting room's create eventAndrew Morgan2019-01-311-7/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-311-1/+13
| |\ | | | | | | | | | anoa/room_upgrade_federatable
| * | lintAndrew Morgan2019-01-311-2/+4
| | |
| * | Copy over non-federatable trait on room upgradeAndrew Morgan2019-01-301-0/+14
| | |
* | | Add some debug for membership syncing issues (#4538)Richard van der Hoff2019-01-311-2/+11
| |/ |/| | | I can't figure out what's going on with #4422 and #4436; perhaps this will help.
* | Fix remote invite rejections not comming down syncErik Johnston2019-01-301-1/+13
|/ | | | | | | | | | This was broken in PR #4405, commit 886e5ac, where we changed remote rejections to be outliers. The fix is to explicitly add the leave event in when we know its an out of band invite. We can't always add the event as if the server is/was in the room there might be more events to send down the sync than just the leave.
* ACME config cleanups (#4525)Richard van der Hoff2019-01-301-12/+15
| | | | | | | | | | | | | | | | * Handle listening for ACME requests on IPv6 addresses the weird url-but-not-actually-a-url-string doesn't handle IPv6 addresses without extra quoting. Building a string which you are about to parse again seems like a weird choice. Let's just use listenTCP, which is consistent with what we do elsewhere. * Clean up the default ACME config make it look a bit more consistent with everything else, and tweak the defaults to listen on port 80. * newsfile
* Fix flake8 (#4519)Amber Brown2019-01-302-3/+3
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-292-1/+10
|\ | | | | | | erikj/redactions_eiah
| * Use snder and not event ID domain to check if oursErik Johnston2019-01-291-0/+8
| | | | | | | | | | | | The transaction queue only sends out events that we generate. This was done by checking domain of event ID, but that can no longer be used. Instead, we may as well use the sender field.
| * Remove event ID usage when checking if new roomErik Johnston2019-01-291-1/+2
| | | | | | | | | | The event ID is changing, so we can no longer get the domain from it. On the other hand, the check is unnecessary.
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-292-29/+7
|\| | | | | | | erikj/redactions_eiah
| * Merge pull request #4481 from matrix-org/erikj/event_builderErik Johnston2019-01-291-28/+6
| |\ | | | | | | Refactor event building into EventBuilder
| | * Correctly set context.app_serviceErik Johnston2019-01-291-0/+2
| | |
| | * Refactor event building into EventBuilderErik Johnston2019-01-291-29/+5
| | | | | | | | | | | | | | | This is so that everything is done in one place, making it easier to change the event format based on room version
| * | Fixup calls to `comput_event_signature`Erik Johnston2019-01-291-1/+1
| |/ | | | | | | | | | | | | | | We currently pass FrozenEvent instead of `dict` to `compute_event_signature`, which works by accident due to `dict(event)` producing the correct result. This fixes PR #4493 commit 855a151
* / Implement rechecking of redactionsErik Johnston2019-01-291-1/+5
|/
* Merge pull request #4494 from matrix-org/erikj/fixup_event_validatorErik Johnston2019-01-292-3/+8
|\ | | | | Split up event validation between event and builder
| * Split up event validation between event and builderErik Johnston2019-01-282-3/+8
| | | | | | | | | | | | | | | | | | The validator was being run on the EventBuilder objects, and so the validator only checked a subset of fields. With the upcoming EventBuilder refactor even fewer fields will be there to validate. To get around this we split the validation into those that can be run against an EventBuilder and those run against a fully fledged event.
* | Merge pull request #4482 from matrix-org/erikj/event_auth_room_versionErik Johnston2019-01-283-11/+23
|\ \ | |/ |/| Pass through room version to event auth
| * Correctly use default room version if none is setErik Johnston2019-01-281-2/+2
| |
| * Pass through room version to event authErik Johnston2019-01-253-10/+22
| |
* | Change return syntax in doc stringAndrew Morgan2019-01-281-1/+1
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-282-29/+53
|\| | | | | | | anoa/dm_room_upgrade
| * Merge pull request #4470 from matrix-org/erikj/require_format_versionErik Johnston2019-01-252-29/+53
| |\ | | | | | | Require event format version to parse or create events
| | * Require event format version to parse or create eventsErik Johnston2019-01-252-29/+53
| | |
* | | Reuse predecessor methodAndrew Morgan2019-01-281-12/+8
| | |
* | | FixesAndrew Morgan2019-01-251-39/+39
| | |
* | | Clean up direct_rooms accessAndrew Morgan2019-01-251-3/+3
| | |
* | | Use python magicAndrew Morgan2019-01-251-2/+1
| | |
* | | Destructure account data tuple before useAndrew Morgan2019-01-251-3/+3
| | |
* | | Remove unnecessary null checkAndrew Morgan2019-01-251-7/+6
| | |
* | | Move room_tag declaration to be closer to its useAndrew Morgan2019-01-251-4/+5
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-255-34/+231
|\| | | | | | | | | | | anoa/dm_room_upgrade
| * | 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.
* | | Move tag and direct state copying into separate functionAndrew Morgan2019-01-251-43/+63
| | |
* | | lintAndrew Morgan2019-01-221-1/+3
| | |
* | | Prevent duplicate room IDs in m.directAndrew Morgan2019-01-221-10/+9
| | |
* | | Fix commentsAndrew Morgan2019-01-221-2/+2
| | |
* | | Join logic covers both room creator and arbitrary usersAndrew Morgan2019-01-221-33/+0
| | |
* | | tags, m.direct copying over correctlyAndrew Morgan2019-01-222-11/+62
| | |
* | | Fix typosAndrew Morgan2019-01-221-8/+8
| | |
* | | Migrating dm and room tags work for migratorAndrew Morgan2019-01-221-2/+13
| | |
* | | Prevent crash on user who doesn't have any direct roomsAndrew Morgan2019-01-221-1/+1
| | |
* | | Preserve DM status of a room on upgradeAndrew Morgan2019-01-221-0/+19
| | | | | | | | | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
* | | Fix typoAndrew Morgan2019-01-221-2/+2
|/ /
* / 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
|/ / /