summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix to use milliseconds github/rei/rss_inc7 rei/rss_inc7Olivier Wilkinson (reivilibre)2019-08-301-1/+1
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Adapt to use renamed `room_state`Olivier Wilkinson (reivilibre)2019-08-301-1/+1
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Ambiguous `room_id`Olivier Wilkinson (reivilibre)2019-08-301-1/+1
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Whoops, took out a line there...Olivier Wilkinson (reivilibre)2019-08-301-0/+1
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* `users` table's ID field is actually called `name`.Olivier Wilkinson (reivilibre)2019-08-301-5/+6
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Fix that became apparent after unit testingOlivier Wilkinson (reivilibre)2019-08-301-1/+1
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Code formatting and typo pointed out by Erik.Olivier Wilkinson (reivilibre)2019-08-301-10/+15
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Some fixes that have become necessary due to changes in other PRsOlivier Wilkinson (reivilibre)2019-08-301-8/+12
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Code formattingOlivier Wilkinson (reivilibre)2019-08-301-18/+20
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Add stats regeneratorOlivier Wilkinson (reivilibre)2019-08-301-3/+491
|
* Merge branch 'rei/rss_target' into rei/rss_inc5 github/rei/rss_inc5 rei/rss_inc5Olivier Wilkinson (reivilibre)2019-08-2939-370/+1472
|\
| * Merge branch 'develop' into rei/rss_targetOlivier Wilkinson (reivilibre)2019-08-2939-370/+1472
| |\
| | * Add a link to python's logging config schema (#5926)Jorik Schellekens2019-08-281-1/+2
| | |
| | * Merge pull request #5902 from matrix-org/hs/exempt-support-users-from-consentWill Hunt2019-08-283-2/+7
| | |\ | | | | | | | | Exempt support users from consent
| | | * Apply suggestions from code reviewWill Hunt2019-08-231-2/+2
| | | | | | | | | | | | Co-Authored-By: Erik Johnston <erik@matrix.org>
| | | * Exempt bot usersHalf-Shot2019-08-231-1/+1
| | | |
| | | * Merge branch 'hs/bot-user-type' into hs/exempt-support-users-from-consentHalf-Shot2019-08-231-1/+2
| | | |\
| | | | * Add bot typeHalf-Shot2019-08-231-1/+2
| | | | |
| | | * | Ignore consent for support usersHalf-Shot2019-08-231-0/+1
| | | | |
| | | * | Return user_type in get_user_by_idHalf-Shot2019-08-231-1/+4
| | | |/
| | * | Let synctl use a config directory. (#5904)Jorik Schellekens2019-08-281-3/+4
| | | | | | | | | | | | * Let synctl use a config directory.
| | * | Use the v2 lookup API for 3PID invites (#5897)Andrew Morgan2019-08-283-9/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://github.com/matrix-org/synapse/issues/5861 Adds support for the v2 lookup API as defined in [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134). Currently this is only used for 3PID invites. Sytest PR: https://github.com/matrix-org/sytest/pull/679
| | * | Config templating (#5900)Jorik Schellekens2019-08-284-37/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Template config files * Imagine a system composed entirely of x, y, z etc and the basic operations.. Wait George, why XOR? Why not just neq? George: Eh, I didn't think of that.. Co-Authored-By: Erik Johnston <erik@matrix.org>
| | * | Implement a structured logging output system. (#5680)Amber Brown2019-08-2819-77/+763
| | | |
| | * | Fix a cache-invalidation bug for worker-based deployments (#5920)Richard van der Hoff2019-08-281-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the caches on worker processes were not being correctly invalidated when a room's state was changed in a way that did not affect the membership list of the room. We need to make sure we send out cache invalidations even when no memberships are changing.
| | * | Merge pull request #5914 from matrix-org/rei/admin_getadminreivilibre2019-08-283-9/+42
| | |\ \ | | | | | | | | | | Add GET method to admin API /users/@user:dom/admin
| | | * | Add GET method to admin API /users/@user:dom/adminOlivier Wilkinson (reivilibre)2019-08-273-9/+42
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | * | | Merge pull request #5859 from matrix-org/rei/msc2197reivilibre2019-08-283-16/+95
| | |\ \ \ | | | | | | | | | | | | MSC2197 Search Filters over Federation
| | | * | | Use MSC2197 on stable prefix as it has almost finished FCPOlivier Wilkinson (reivilibre)2019-08-202-26/+4
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | | * | | Add support for inbound MSC2197 requests on unstable Federation APIOlivier Wilkinson (reivilibre)2019-08-151-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | | * | | Support MSC2197 outbound with unstable prefixOlivier Wilkinson (reivilibre)2019-08-152-16/+59
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | * | | | Merge pull request #5864 from matrix-org/erikj/reliable_lookupsErik Johnston2019-08-272-208/+217
| | |\ \ \ \ | | | | | | | | | | | | | | Refactor MatrixFederationAgent to retry SRV.
| | | * | | | Fix off by one error in SRV result shufflingErik Johnston2019-08-271-8/+13
| | | | | | |
| | | * | | | Fixup commentsErik Johnston2019-08-231-1/+9
| | | | | | |
| | | * | | | Fix logcontextsErik Johnston2019-08-231-4/+8
| | | | | | |
| | | * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-08-2229-243/+742
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | erikj/reliable_lookups
| | | * | | | | Remove now unused pick_server_from_listErik Johnston2019-08-201-30/+0
| | | | | | | |
| | | * | | | | Fixup _sort_server_list to be slightly more efficientErik Johnston2019-08-201-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also document that we are using the algorithm described in RFC2782 and ensure we handle zero weight correctly.
| | | * | | | | Refactor MatrixFederationAgent to retry SRV.Erik Johnston2019-08-152-189/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactors MatrixFederationAgent to move the SRV lookup into the endpoint code, this has two benefits: 1. Its easier to retry different host/ports in the same way as HostnameEndpoint. 2. We avoid SRV lookups if we have a free connection in the pool
* | | | | | | | Count total_events and total_event_bytes within the loop.Olivier Wilkinson (reivilibre)2019-08-292-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this case, we still update these counts if we get stuck in the loop because the server is busy. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Update total_events and total_event_bytes on new events.Olivier Wilkinson (reivilibre)2019-08-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Add incremental counting for rooms' total events and total event bytes.Olivier Wilkinson (reivilibre)2019-08-281-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Add `total_event_bytes` to room statistics schema.Olivier Wilkinson (reivilibre)2019-08-282-0/+3
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | Address code review comments github/rei/rss_inc3 rei/rss_inc3Olivier Wilkinson (reivilibre)2019-08-281-24/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | Merge branch 'rei/rss_target' into rei/rss_inc3Olivier Wilkinson (reivilibre)2019-08-283-89/+100
|\ \ \ \ \ \ \
| * | | | | | | Code formatting (Black) github/rei/rss_inc2 rei/rss_inc2Olivier Wilkinson (reivilibre)2019-08-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Update synapse/storage/stats.pyreivilibre2019-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Erik Johnston <erik@matrix.org>
| * | | | | | | Clean up code with improved naming and hoist around functions.Olivier Wilkinson (reivilibre)2019-08-271-79/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Fix logic error.Olivier Wilkinson (reivilibre)2019-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `absolute_fields` being None shouldn't preclude completion of a current stats row. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Update `_purge_room_txn` to take account of separated stats tablesOlivier Wilkinson (reivilibre)2019-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Rename `room_state` table to `room_stats_state`Olivier Wilkinson (reivilibre)2019-08-273-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Remove obsolete `OldCollectionRequired` as old collection is obsolete.Olivier Wilkinson (reivilibre)2019-08-271-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Use `DeferredLock` instead of `threading.Lock`Olivier Wilkinson (reivilibre)2019-08-272-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Fix logic error.Olivier Wilkinson (reivilibre)2019-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `absolute_fields` being None shouldn't preclude completion of a current stats row. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Invalidate `get_earliest_token_for_stats` cache as required.Olivier Wilkinson (reivilibre)2019-08-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | For user stats, handle other membership transitions properly.Olivier Wilkinson (reivilibre)2019-08-272-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | For user stats, handle other membership transitions properly.Olivier Wilkinson (reivilibre)2019-08-271-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | No-op if no membership change and thus simplify verbose dict updates.Olivier Wilkinson (reivilibre)2019-08-271-28/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Adapt to stats now working in millisecondsOlivier Wilkinson (reivilibre)2019-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | | Merge branch 'rei/rss_inc2' into rei/rss_inc3Olivier Wilkinson (reivilibre)2019-08-2743-686/+1452
|\| | | | | | |
| * | | | | | | Switch to milliseconds in room/user stats for consistency.Olivier Wilkinson (reivilibre)2019-08-273-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Code formatting (Black)Olivier Wilkinson (reivilibre)2019-08-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Lock tables in upsert fall-backs.Olivier Wilkinson (reivilibre)2019-08-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should not be too much of a performance concern as this code won't be hit on Postgres, which large deployments should be using. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Apply minor suggestions from reviewOlivier Wilkinson (reivilibre)2019-08-271-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Clarify `_update_stats_delta_txn` by adding code comments and kwargs.Olivier Wilkinson (reivilibre)2019-08-271-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | | Apply suggestions from code reviewreivilibre2019-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Erik Johnston <erik@matrix.org>
| * | | | | | | Merge branch 'rei/rss_target' into rei/rss_inc2Olivier Wilkinson (reivilibre)2019-08-2737-462/+1145
| |\ \ \ \ \ \ \
| | * | | | | | | Merge branch 'develop' into rei/rss_targetOlivier Wilkinson (reivilibre)2019-08-2737-464/+1163
| | |\| | | | | |
| | | * | | | | | Allow schema deltas to be engine-specific (#5911)reivilibre2019-08-271-5/+19
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow schema deltas to be engine-specific Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net> * Newsfile Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net> * Code style (Black) Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | | | * | | | | | Code style (Black)Olivier Wilkinson (reivilibre)2019-08-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | | | * | | | | | Allow schema deltas to be engine-specificOlivier Wilkinson (reivilibre)2019-08-271-5/+21
| | | | | |_|_|_|/ | | | | |/| | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| | | * | | | | | Merge pull request #5906 from matrix-org/neilj/increase_display_name_limitRichard van der Hoff2019-08-271-1/+1
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Increase profile display name limit
| | | | * | | | | | Increase max display name limitNeil Johnson2019-08-241-1/+1
| | | | |/ / / / /
| | | * | | | | | Merge pull request #5895 from matrix-org/erikj/notary_keyErik Johnston2019-08-273-26/+47
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add config option to sign remote key query responses with a separate key.
| | | | * | | | | | Don't implicitly include server signing keyErik Johnston2019-08-231-7/+6
| | | | | | | | | |
| | | | * | | | | | Fixup review commentsErik Johnston2019-08-232-4/+4
| | | | | | | | | |
| | | | * | | | | | Only sign when we respond to remote key requestsErik Johnston2019-08-212-23/+16
| | | | | | | | | |
| | | | * | | | | | Add config option for keys to use to sign keysErik Johnston2019-08-212-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows servers to separate keys that are used to sign remote keys when acting as a notary server.
| | | * | | | | | | Merge pull request #5909 from aaronraimist/public_base_urlRichard van der Hoff2019-08-272-2/+2
| | | |\ \ \ \ \ \ \ | | | | |_|_|_|_|_|/ | | | |/| | | | | | public_base_url is actually public_baseurl
| | | | * | | | | | public_base_url is actually public_baseurlAaron Raimist2019-08-262-2/+2
| | | | | |/ / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
| | | * / | | | | Add Admin API capability to set adminship of a user (#5878)reivilibre2019-08-274-0/+111
| | | |/ / / / / | | | | | | | | | | | | | | | | Admin API: Set adminship of a user
| | | * | | | | Propagate opentracing contexts through EDUs (#5852)Jorik Schellekens2019-08-227-92/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Propagate opentracing contexts through EDUs Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
| | | * | | | | Merge pull request #5877 from ↵Richard van der Hoff2019-08-221-53/+4
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Awesome-Technologies/remove_shared_secret_registration Remove shared secret registration
| | | | * | | | | Remove shared secret registration from client/r0/register endpointManuel Stahl2019-08-221-53/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This type of registration was probably never used. It only includes the user name in the HMAC but not the password. Shared secret registration is still available via client/r0/admin/register. Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
| | | * | | | | | Opentracing across workers (#5771)Jorik Schellekens2019-08-224-83/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Propagate opentracing contexts across workers Also includes some Convenience modifications to opentracing for servlets, notably: - Add boolean to skip the whitelisting check on inject extract methods. - useful when injecting into carriers locally. Otherwise we'd always have to include our own servername and whitelist our servername - start_active_span_from_request instead of header - Add boolean to decide whether to extract context from a request to a servlet
| | | * | | | | | Revert "Do not send consent notices if "no-consent-required" is set"Brendan Abolivier2019-08-221-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 27a686e53b8ba3f2e2f102fae73e598c00ec0086.
| | | * | | | | | Revert "Add "require_consent" parameter for registration"Brendan Abolivier2019-08-223-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3320aaab3a9bba3f5872371aba7053b41af9d0a0.
| | | * | | | | | Do not send consent notices if "no-consent-required" is setHalf-Shot2019-08-221-0/+4
| | | | | | | | |
| | | * | | | | | Add "require_consent" parameter for registrationHalf-Shot2019-08-223-3/+18
| | | | |_|_|/ / | | | |/| | | |
| | | * | | | | Merge pull request #5850 from matrix-org/erikj/retry_well_known_on_failErik Johnston2019-08-222-37/+115
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | Retry well known on fail
| | | | * | | | | Change jitter to be a factor rather than absolute valueErik Johnston2019-08-201-11/+12
| | | | | | | | |
| | | | * | | | | Fixup changelog and remove debug loggingErik Johnston2019-08-161-4/+1
| | | | | | | | |
| | | | * | | | | Retry well known on fail.Erik Johnston2019-08-152-34/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have recently seen a valid well-known for a domain we want to retry on (non-final) errors a few times, to handle temporary blips in networking/etc.
| | | * | | | | | Opentrace e2e keys (#5855)Jorik Schellekens2019-08-226-7/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add opentracing tags and logs for e2e keys
| | | * | | | | | Add missing index on users_in_public_rooms. (#5894)Richard van der Hoff2019-08-221-0/+17
| | | | | | | | |
| | | * | | | | | Servlet to purge old rooms (#5845)Richard van der Hoff2019-08-224-0/+213
| | | | | | | | |
| | | * | | | | | Improve error msg when key-fetch fails (#5896)Richard van der Hoff2019-08-221-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no point doing a raise_from here, because the exception is always logged at warn with no stacktrace in the caller. Instead, let's try to give better messages to reduce confusion. In particular, this means that we won't log 'Failed to connect to remote server' when we don't even attempt to connect to the remote server due to blacklisting.
| | | * | | | | | Drop some unused tables. (#5893)Richard van der Hoff2019-08-213-47/+22
| | | | |_|/ / / | | | |/| | | | | | | | | | | | These tables are never used, so we may as well drop them.
| | | * | | | | Refactor the Appservice scheduler code (#5886)Richard van der Hoff2019-08-201-45/+65
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too.
| | | | * | | | | Refactor the Appservice scheduler codeRichard van der Hoff2019-08-201-45/+65
| | | | | |/ / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too.
| | | * | | | | Avoid deep recursion in appservice recovery (#5885)Richard van der Hoff2019-08-201-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully, this will fix a stack overflow when recovering an appservice. The recursion here leads to a huge chain of deferred callbacks, which then overflows the stack when the chain completes. `inlineCallbacks` makes a better job of this if we use iteration instead. Clean up the code a bit too, while we're there.
| | | * | | | | Opentracing doc update (#5776)Jorik Schellekens2019-08-201-27/+40
| | | |/ / / / | | | | | | | | | | | | | | Update opentracing docs to use the unified 'trace' method
| | | * | | | Merge pull request #5860 from matrix-org/erikj/update_5704_commentsErik Johnston2019-08-191-17/+5
| | | |\ \ \ \ | | | | | | | | | | | | | | | | Remove logging for #5407 and update comments
| | | | * | | | Remove logging for #5407 and update commentsErik Johnston2019-08-151-17/+5
| | | | |/ / /
| * | | | | | Use engine-specific delta SQL files rather than delta written in Python.Olivier Wilkinson (reivilibre)2019-08-273-71/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Allow schema deltas to be engine-specificOlivier Wilkinson (reivilibre)2019-08-271-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Fix up historical stats support.Olivier Wilkinson (reivilibre)2019-08-221-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Fix up SQL schema deltaOlivier Wilkinson (reivilibre)2019-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Simplify table structureOlivier Wilkinson (reivilibre)2019-08-223-138/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This obviates the need for old collection, but comes at the minor cost of not being able to track historical stats or per-slice fields until after the statistics regenerator is finished. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Remove needless defaults.Olivier Wilkinson (reivilibre)2019-08-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Unify name of 'stats regenerator' in schema comments.Olivier Wilkinson (reivilibre)2019-08-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Clarify `_update_stats_delta_txn`Olivier Wilkinson (reivilibre)2019-08-201-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Sanitise accepted fields in `_update_stats_delta_txn`Olivier Wilkinson (reivilibre)2019-08-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
| * | | | | | Update synapse/storage/stats.pyreivilibre2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Erik Johnston <erik@matrix.org>
| * | | | | | Update synapse/storage/stats.pyreivilibre2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Erik Johnston <erik@matrix.org>
| * | | | | | Ack, isort!Olivier Wilkinson (reivilibre)2019-08-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | | Handle state deltas and turn them into stats deltasOlivier Wilkinson (reivilibre)2019-08-202-2/+439
|/ / / / / / | | | | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | Add storage function for storing stats deltasOlivier Wilkinson (reivilibre)2019-08-201-2/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old collection is not included in this commit Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | | | Add schema for Separated StatisticsOlivier Wilkinson (reivilibre)2019-08-202-0/+202
|/ / / / / | | | | | | | | | | | | | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* / / / / Tear out current room & user statistics (#5880)reivilibre2019-08-203-688/+37
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Tear out current room & user statistics. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net> * Black is back with more linting complaints Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | Merge branch 'master' into developBrendan Abolivier2019-08-174-13/+39
|\ \ \ \
| * | | | 1.3.1 v1.3.1 github/release-v1.3.1 release-v1.3.1Richard van der Hoff2019-08-171-1/+1
| | | | |
| * | | | Drop dependency on sdnotify (#5871)Richard van der Hoff2019-08-172-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... to save OSes which don't use it from having to maintain a port. Fixes #5865.
| * | | | Fix issue with Synapse not starting up. Fixes #5866.Chris Moos2019-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Chris Moos <chris@chrismoos.com>
* | | | | Merge pull request #5857 from matrix-org/uhoreg/fix_e2e_room_keys_indexHubert Chathi2019-08-162-1/+19
|\ \ \ \ \ | | | | | | | | | | | | add the version field to the index for e2e_room_keys
| * | | | | update set_e2e_room_key to agree with fixed indexHubert Chathi2019-08-141-1/+1
| | | | | |
| * | | | | add the version field to the index for e2e_room_keysHubert Chathi2019-08-141-0/+18
| | | | | |
* | | | | | Opentracing misc (#5856)Jorik Schellekens2019-08-163-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add authenticated_entity and servlet_names tags. Functionally: - Add a tag for authenticated_entity - Add a tag for servlet_names Stylistically: Moved to importing methods directly from opentracing.
* | | | | | Fix up password reset template config names (#5863)Andrew Morgan2019-08-152-10/+10
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | Fixes #5833 The emailconfig code was attempting to pull incorrect config file names. This corrects that, while also marking a difference between a config file variable that's a filepath versus a str containing HTML.
* | | | | Merge branch 'master' into developBrendan Abolivier2019-08-152-3/+9
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | 1.3.0 v1.3.0 github/release-v1.3.0 release-v1.3.0Brendan Abolivier2019-08-151-1/+1
| | | | |
| * | | | Wrap `get_local_public_room_list` call in `maybeDeferred` because itOlivier Wilkinson (reivilibre)2019-08-141-2/+8
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | is cached and so does not always return a `Deferred`. `await` does not silently pass-through non-Deferreds like `yield` used to. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* | | | Don't create broken room when power_level_content_override.users does not ↵Michael Telatynski2019-08-151-1/+13
| |_|/ |/| | | | | | | | contain creator_id. (#5633)
* | | Merge pull request #5844 from matrix-org/erikj/retry_well_known_lookupErik Johnston2019-08-142-25/+65
|\ \ \ | |/ / |/| | Retry well-known lookup before expiry.
| * | Retry well-known lookup before expiry.Erik Johnston2019-08-132-25/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a bit of a grace period where we can attempt to refetch a remote `well-known`, while still using the cached result if that fails. Hopefully this will make the well-known resolution a bit more torelant of failures, rather than it immediately treating failures as "no result" and caching that for an hour.
* | | 1.3.0rc1 v1.3.0rc1Brendan Abolivier2019-08-131-1/+1
| | |
* | | fix config being a dict, actuallyAmber H. Brown2019-08-141-1/+1
| | |
* | | Merge pull request #5809 from matrix-org/erikj/handle_pusher_stopErik Johnston2019-08-133-21/+54
|\ \ \ | |/ / |/| | Handle pusher being deleted during processing.
| * | Remove redundant returnErik Johnston2019-08-131-1/+0
| | |
| * | Clarify docstringErik Johnston2019-08-131-1/+1
| | | | | | | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
| * | Handle pusher being deleted during processing.Erik Johnston2019-08-013-21/+55
| | | | | | | | | | | | | | | Instead of throwing a StoreError lets break out of processing loop and mark the pusher as stopped.
* | | Don't load the media repo when configured to use an external media repo (#5754)Amber Brown2019-08-136-91/+172
| | |
* | | Merge pull request #5836 from matrix-org/erikj/lower_bound_ttl_well_knownErik Johnston2019-08-132-149/+200
|\ \ \ | | | | | | | | Add a lower bound to well-known TTL.
| * | | Make default well known cache global again.Erik Johnston2019-08-131-1/+4
| | | |
| * | | Move well known lookup into a separate clasErik Johnston2019-08-072-153/+197
| | | |
| * | | Add a lower bound for TTL on well known results.Erik Johnston2019-08-061-0/+4
| | |/ | |/| | | | | | | | | | | | | | | | It costs both us and the remote server for us to fetch the well known for every single request we send, so we add a minimum cache period. This is set to 5m so that we still honour the basic premise of "refetch frequently".
* | | Merge pull request #5826 from matrix-org/erikj/reduce_event_pausesErik Johnston2019-08-131-128/+142
|\ \ \ | | | | | | | | Don't unnecessarily block notifying of new events.
| * | | Don't unnecessarily block notifying of new events.Erik Johnston2019-08-061-128/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When persisting events we calculate new stream orderings up front. Before we notify about an event all events with lower stream orderings must have finished being persisted. This PR moves the assignment of stream ordering till *after* calculated the new current state and split the batch of events into separate chunks for persistence. This means that if it takes a long time to calculate new current state then it will not block events in other rooms being notified about. This should help reduce some global pauses in the events stream which can last for tens of seconds (if not longer), caused by some particularly expensive state resolutions.
* | | | Merge pull request #5788 from matrix-org/rav/metaredactionsRichard van der Hoff2019-08-121-101/+112
|\ \ \ \ | |_|/ / |/| | | Fix handling of redactions of redactions
| * | | Handle loops in redaction eventsRichard van der Hoff2019-07-301-60/+36
| | | |
| * | | recursively fetch redactionsRichard van der Hoff2019-07-301-32/+36
| | | |
| * | | split _get_events_from_db out of _enqueue_eventsRichard van der Hoff2019-07-291-32/+51
| | | |
| * | | Return dicts from _fetch_event_listRichard van der Hoff2019-07-291-15/+27
| | | |
* | | | Merge pull request #5825 from matrix-org/erikj/fix_empty_limited_syncErik Johnston2019-08-061-6/+37
|\ \ \ \ | | | | | | | | | | Handle TimelineBatch being limited and empty.
| * | | | Handle TimelineBatch being limited and empty.Erik Johnston2019-08-061-6/+37
| | |/ / | |/| | | | | | | | | | | | | | | | | | This hopefully addresses #5407 by gracefully handling an empty but limited TimelineBatch. We also add some logging to figure out how this is happening.
* / | | Return 404 instead of 403 when retrieving an event without perms (#5798)Andrew Morgan2019-08-061-3/+11
|/ / / | | | | | | | | | | | | Part of fixing matrix-org/sytest#652 Sytest PR: matrix-org/sytest#667
* | | Account validity: allow defining HTML templates to serve the us… (#5807)Brendan Abolivier2019-08-015-11/+71
|\ \ \ | | | | | | | | Account validity: allow defining HTML templates to serve the user on account renewal attempt
| * | | LintBrendan Abolivier2019-08-012-16/+9
| | | |
| * | | Allow defining HTML templates to serve the user on account renewalBrendan Abolivier2019-08-015-9/+76
| | | |
* | | | Merge pull request #5810 from matrix-org/erikj/no_server_reachableErik Johnston2019-08-011-4/+3
|\ \ \ \ | | | | | | | | | | Return 502 not 500 when failing to reach any remote server.
| * | | | Return 502 not 500 when failing to reach any remote server.Erik Johnston2019-08-011-4/+3
| | | | |
* | | | | Have ClientReaderSlavedStore inherit RegistrationStore (#5806)Andrew Morgan2019-08-011-21/+21
| | | | | | | | | | | | | | | Fixes #5803
* | | | | Merge pull request #5808 from matrix-org/erikj/parse_decode_errorErik Johnston2019-08-011-1/+6
|\ \ \ \ \ | |/ / / / |/| | | | Handle incorrectly encoded query params correctly
| * | | | Handle incorrectly encoded query params correctlyErik Johnston2019-08-011-1/+6
| | |_|/ | |/| |
* | | | Merge pull request #5805 from matrix-org/erikj/validate_stateErik Johnston2019-08-011-2/+9
|\ \ \ \ | | | | | | | | | | Validate well known state events are state events.
| * | | | Validate well-known state events are state events.Erik Johnston2019-07-311-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Lets disallow sending things like memberships, topics etc as non-state events.
* | | | | Merge pull request #5801 from matrix-org/erikj/recursive_tombstoneErik Johnston2019-08-011-0/+9
|\ \ \ \ \ | |_|/ / / |/| | | | Don't allow clients to send tombstones that reference the same room
| * | | | Fix spelling.Erik Johnston2019-08-011-1/+3
| |/ / / | | | | | | | | | | | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
| * | | Don't allow clients to send tombstones that reference the same roomErik Johnston2019-07-311-0/+7
| | | |
* | | | Merge pull request #5802 from matrix-org/erikj/deny_redacting_different_roomErik Johnston2019-08-011-1/+3
|\ \ \ \ | | | | | | | | | | Deny redaction of events in a different room.
| * | | | Deny redaction of events in a different room.Erik Johnston2019-07-311-1/+3
| |/ / / | | | | | | | | | | | | | | | | We already correctly filter out such redactions, but we should also deny them over the CS API.
* | | | Merge pull request #5790 from matrix-org/erikj/groups_request_errorsErik Johnston2019-08-012-32/+60
|\ \ \ \ | | | | | | | | | | Handle RequestSendFailed exception correctly in more places.
| * | | | Don't log as exception when failing durig backfillErik Johnston2019-07-301-0/+3
| | | | |
| * | | | Correctly handle errors doing requests to group serversErik Johnston2019-07-291-32/+57
| | | | |
* | | | | Explicitly check that tombstone is a state event before notifying.Erik Johnston2019-07-311-1/+7
| |/ / / |/| | |
* | | | Change user deactivated errcode to USER_DEACTIVATED and use it (#5686)Andrew Morgan2019-07-311-1/+2
| | | | | | | | | | | | | | | | | | | | This is intended as an amendment to #5674 as using M_UNKNOWN as the errcode makes it hard for clients to differentiate between an invalid password and a deactivated user (the problem we were trying to solve in the first place). M_UNKNOWN was originally chosen as it was presumed than an MSC would have to be carried out to add a new code, but as Synapse often is the testing bed for new MSC implementations, it makes sense to try it out first in the wild and then add it into the spec if it is successful. Thus this PR return a new M_USER_DEACTIVATED code when a deactivated user attempts to login.
* | | | Remove duplicate return statementAndrew Morgan2019-07-311-1/+0
| | | |
* | | | Share SSL options for well-known requestsErik Johnston2019-07-312-11/+13
| | | |
* | | | Don't recreate columnErik Johnston2019-07-302-1/+22
| |/ / |/| |
* | | Fix current_state_events membership background update.Erik Johnston2019-07-302-1/+1
| | | | | | | | | | | | | | | | | | Turns out not all rooms are in `rooms`, so lets fetch the room list from `current_state_events`. We move the delta file to force it to be run again.
* | | Unwrap errorErik Johnston2019-07-301-1/+2
| | |
* | | Fix error handling when fetching remote device keysErik Johnston2019-07-301-3/+1
| | |
* | | Remove non-functional 'expire_access_token' setting (#5782)Richard van der Hoff2019-07-303-30/+6
| |/ |/| | | | | | | | | | | | | The `expire_access_token` didn't do what it sounded like it should do. What it actually did was make Synapse enforce the 'time' caveat on macaroons used as access tokens, but since our access token macaroons never contained such a caveat, it was always a no-op. (The code to add 'time' caveats was removed back in v0.18.5, in #1656)
* | Room Complexity Client Implementation (#5783)Amber Brown2019-07-305-11/+206
|/
* Merge pull request #5774 from matrix-org/erikj/fix_rejected_membershipErik Johnston2019-07-291-0/+6
|\ | | | | Fix room summary when rejected events are in state
| * Fix room summary when rejected events are in stateErik Johnston2019-07-261-0/+6
| | | | | | | | | | | | Annoyingly, `current_state_events` table can include rejected events, in which case the membership column will be null. To work around this lets just always filter out null membership for now.
* | Merge pull request #5752 from matrix-org/erikj/forgotten_userErik Johnston2019-07-292-35/+123
|\ \ | | | | | | Remove some more joins on room_memberships
| * | Expand commentErik Johnston2019-07-291-0/+5
| | |
| * | Remove lost commentErik Johnston2019-07-291-7/+0
| |/
| * Remove join when calculating room summaries.Erik Johnston2019-07-241-13/+21
| |
| * Remove join on room_memberships when fetching rooms for user.Erik Johnston2019-07-241-22/+36
| |
| * Add function to get all forgotten rooms for userErik Johnston2019-07-242-0/+68
| | | | | | | | | | | | This will allow us to efficiently filter out rooms that have been forgotten in other queries without having to join against the `room_memberships` table.
* | Merge pull request #5770 from matrix-org/erikj/fix_current_state_event_sqliteErik Johnston2019-07-291-2/+2
|\ \ | | | | | | Fix current_state bg update to work on old SQLite
| * | Fix current_state bg update to work on old SQLiteErik Johnston2019-07-291-2/+2
| | |
* | | Move some timeout checking logs to DEBUG #5785 Amber Brown2019-07-302-2/+2
| | |
* | | Update the device list cache when keys/query is called (#5693)Jorik Schellekens2019-07-292-74/+136
|/ /
* | Add kwargs and docBrendan Abolivier2019-07-291-2/+4
| |
* | Add ability to pass arguments to looping callsBrendan Abolivier2019-07-291-2/+2
| |
* | Merge branch 'master' into developRichard van der Hoff2019-07-262-1/+5
|\ \
| * | 1.2.1Richard van der Hoff2019-07-261-1/+1
| | |
| * | Merge branch 'erikj/log_leave_origin_mismatch' into release-v1.2.1Richard van der Hoff2019-07-262-4/+37
| |\ \
| * | | Log when we receive receipt from a different originErik Johnston2019-07-261-13/+22
| | | |
| * | | Fix DoS when there is a cycle in redaction eventsRichard van der Hoff2019-07-261-0/+4
| | | | | | | | | | | | | | | | | | | | Make sure that synapse doesn't explode when a redaction redacts itself, or there is a larger cycle.
* | | | Merge pull request #5744 from matrix-org/erikj/log_leave_origin_mismatchRichard van der Hoff2019-07-262-4/+37
|\ \ \ \ | | |/ / | |/| | Log when we receive a /make_* request from a different origin
| * | | Log when we receive a /make_* request from a different originRichard van der Hoff2019-07-262-4/+37
| | | |
* | | | Merge pull request #5767 from matrix-org/rav/redactions/cross_room_idRichard van der Hoff2019-07-251-0/+27
|\ \ \ \ | | |/ / | |/| | log when a redaction attempts to redact an event in a different room
| * | | log when a redaction attempts to redact an event in a different roomRichard van der Hoff2019-07-251-0/+27
| | | |
* | | | Fix some error cases in the caching layer. (#5749)Richard van der Hoff2019-07-251-32/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There was some inconsistent behaviour in the caching layer around how exceptions were handled - particularly synchronously-thrown ones. This seems to be most easily handled by pushing the creation of ObservableDeferreds down from CacheDescriptor to the Cache.
* | | | Merge branch 'master' into developAndrew Morgan2019-07-251-1/+1
|\| | |
| * | | 1.2.0 v1.2.0 github/release-v1.2.0 release-v1.2.0Andrew Morgan2019-07-251-1/+1
| |/ /
* | | Merge tag 'v1.2.0rc2' into developAndrew Morgan2019-07-248-26/+75
|\| | | | | | | | | | | | | | | | | | | | Bugfixes -------- - Fix a regression introduced in v1.2.0rc1 which led to incorrect labels on some prometheus metrics. ([\#5734](https://github.com/matrix-org/synapse/issues/5734))
| * | 1.2.0rc2 v1.2.0rc2Andrew Morgan2019-07-241-1/+1
| | |
| * | Fix servlet metric names (#5734)Jorik Schellekens2019-07-247-25/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix servlet metric names Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> * Remove redundant check * Cover all return paths
* | | Merge pull request #5743 from matrix-org/erikj/log_origin_receipts_mismatchErik Johnston2019-07-241-13/+22
|\ \ \ | | | | | | | | Log when we receive receipt from a different origin
| * | | Log when we receive receipt from a different originErik Johnston2019-07-231-13/+22
| | | |
* | | | Stop trying to fetch events with event_id=None. (#5753)Richard van der Hoff2019-07-243-11/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `None` is not a valid event id, so queuing up a database fetch for it seems like a silly thing to do. I considered making `get_event` return `None` if `event_id is None`, but then its interaction with `allow_none` seemed uninituitive, and strong typing ftw.
* | | | Add a prometheus metric for active cache lookups. (#5750)Richard van der Hoff2019-07-242-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | * Add a prometheus metric for active cache lookups. * changelog
* | | | Make Jaeger fully configurable (#5694)Jorik Schellekens2019-07-232-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | * Allow Jaeger to be configured * Update sample config
* | | | Replace returnValue with return (#5736)Amber Brown2019-07-23162-1488/+1333
| |_|/ |/| |
* | | Opentracing Utils (#5722)Jorik Schellekens2019-07-232-101/+356
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add decerators for tracing functions * Use the new clean contexts * Context and edu utils * Move opentracing setters * Move whitelisting * Sectioning comments * Better args wrapper * Docstrings Co-Authored-By: Erik Johnston <erik@matrix.org> * Remove unused methods. * Don't use global * One tracing decorator to rule them all.
* | | Merge pull request #5732 from matrix-org/erikj/sdnotifyErik Johnston2019-07-2313-11/+59
|\ \ \ | |/ / |/| | Add process hooks to tell systemd our state.
| * | Call startup commands as system triggers.Erik Johnston2019-07-2211-11/+29
| | | | | | | | | | | | | | | This helps ensures that we only consider ourselves "up" once all the startup functions have completed.
| * | Add process hooks to tell systemd our state.Erik Johnston2019-07-222-0/+30
| | | | | | | | | | | | Fixes #5676.
* | | Speed up current state background update.Erik Johnston2019-07-231-18/+30
| | | | | | | | | | | | | | | Turns out that storing huge JSON arrays in the progress JSON isn't something that postgres particularly likes.
* | | Fix logging in workers (#5729)Amber Brown2019-07-221-0/+1
| | | | | | | | | This also adds a worker blacklist.
* | | Merge pull request #5730 from matrix-org/erikj/cache_versionsErik Johnston2019-07-221-2/+21
|\ \ \ | | | | | | | | Cache get_version_string.
| * | | Cache get_version_string.Erik Johnston2019-07-221-2/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The version of a module isn't going to change over the lifetime of the process (assuming no funky hot reloading is going on, which it isn't), so let's just cache the result to avoid spawning lots of git subprocesses. Fixes #5672.
* | | Merge pull request #5731 from matrix-org/jaywink/admin-user-list-user-typeJason Robinson2019-07-221-3/+3
|\ \ \ | | | | | | | | Add `user_type` to returned fields in admin API user list endpoints
| * | | Add `user_type` to returned fields in admin API user list endpointsJason Robinson2019-07-221-3/+3
| |/ / | | | | | | | | | | | | | | | | | | Mostly user type will be empty (normal user) but there is also the "support" user type. Signed-off-by: Jason Robinson <jasonr@matrix.org>
* | | Fix stack overflow in Keyring (#5724)Richard van der Hoff2019-07-221-51/+41
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor Keyring._start_key_lookups There's an awful lot of deferreds and dictionaries flying around here. The whole thing can be made much simpler and achieve the same effect. * Add a delay to key lookup lock release to fix stack overflow A tactical call_later here should fix #5723 * changelog
| * | | Add a delay to key lookup lock release to fix stack overflowRichard van der Hoff2019-07-191-2/+8
| | | | | | | | | | | | | | | | A tactical call_later here should fix #5723
| * | | Refactor Keyring._start_key_lookupsRichard van der Hoff2019-07-191-51/+35
| | | | | | | | | | | | | | | | | | | | There's an awful lot of deferreds and dictionaries flying around here. The whole thing can be made much simpler and achieve the same effect.
* | | | Merge tag 'v1.2.0rc1' into developAndrew Morgan2019-07-221-1/+1
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v1.2.0rc1 Features -------- - Add support for opentracing. ([\#5544](https://github.com/matrix-org/synapse/issues/5544), [\#5712](https://github.com/matrix-org/synapse/issues/5712)) - Add ability to pull all locally stored events out of synapse that a particular user can see. ([\#5589](https://github.com/matrix-org/synapse/issues/5589)) - Add a basic admin command app to allow server operators to run Synapse admin commands separately from the main production instance. ([\#5597](https://github.com/matrix-org/synapse/issues/5597)) - Add `sender` and `origin_server_ts` fields to `m.replace`. ([\#5613](https://github.com/matrix-org/synapse/issues/5613)) - Add default push rule to ignore reactions. ([\#5623](https://github.com/matrix-org/synapse/issues/5623)) - Include the original event when asking for its relations. ([\#5626](https://github.com/matrix-org/synapse/issues/5626)) - Implement `session_lifetime` configuration option, after which access tokens will expire. ([\#5660](https://github.com/matrix-org/synapse/issues/5660)) - Return "This account has been deactivated" when a deactivated user tries to login. ([\#5674](https://github.com/matrix-org/synapse/issues/5674)) - Enable aggregations support by default ([\#5714](https://github.com/matrix-org/synapse/issues/5714)) Bugfixes -------- - Fix 'utime went backwards' errors on daemonization. ([\#5609](https://github.com/matrix-org/synapse/issues/5609)) - Various minor fixes to the federation request rate limiter. ([\#5621](https://github.com/matrix-org/synapse/issues/5621)) - Forbid viewing relations on an event once it has been redacted. ([\#5629](https://github.com/matrix-org/synapse/issues/5629)) - Fix requests to the `/store_invite` endpoint of identity servers being sent in the wrong format. ([\#5638](https://github.com/matrix-org/synapse/issues/5638)) - Fix newly-registered users not being able to lookup their own profile without joining a room. ([\#5644](https://github.com/matrix-org/synapse/issues/5644)) - Fix bug in #5626 that prevented the original_event field from actually having the contents of the original event in a call to `/relations`. ([\#5654](https://github.com/matrix-org/synapse/issues/5654)) - Fix 3PID bind requests being sent to identity servers as `application/x-form-www-urlencoded` data, which is deprecated. ([\#5658](https://github.com/matrix-org/synapse/issues/5658)) - Fix some problems with authenticating redactions in recent room versions. ([\#5699](https://github.com/matrix-org/synapse/issues/5699), [\#5700](https://github.com/matrix-org/synapse/issues/5700), [\#5707](https://github.com/matrix-org/synapse/issues/5707)) - Ignore redactions of m.room.create events. ([\#5701](https://github.com/matrix-org/synapse/issues/5701)) Updates to the Docker image --------------------------- - Base Docker image on a newer Alpine Linux version (3.8 -> 3.10). ([\#5619](https://github.com/matrix-org/synapse/issues/5619)) - Add missing space in default logging file format generated by the Docker image. ([\#5620](https://github.com/matrix-org/synapse/issues/5620)) Improved Documentation ---------------------- - Add information about nginx normalisation to reverse_proxy.rst. Contributed by @skalarproduktraum - thanks! ([\#5397](https://github.com/matrix-org/synapse/issues/5397)) - --no-pep517 should be --no-use-pep517 in the documentation to setup the development environment. ([\#5651](https://github.com/matrix-org/synapse/issues/5651)) - Improvements to Postgres setup instructions. Contributed by @Lrizika - thanks! ([\#5661](https://github.com/matrix-org/synapse/issues/5661)) - Minor tweaks to postgres documentation. ([\#5675](https://github.com/matrix-org/synapse/issues/5675)) Deprecations and Removals ------------------------- - Remove support for the `invite_3pid_guest` configuration setting. ([\#5625](https://github.com/matrix-org/synapse/issues/5625)) Internal Changes ---------------- - Move logging code out of `synapse.util` and into `synapse.logging`. ([\#5606](https://github.com/matrix-org/synapse/issues/5606), [\#5617](https://github.com/matrix-org/synapse/issues/5617)) - Add a blacklist file to the repo to blacklist certain sytests from failing CI. ([\#5611](https://github.com/matrix-org/synapse/issues/5611)) - Make runtime errors surrounding password reset emails much clearer. ([\#5616](https://github.com/matrix-org/synapse/issues/5616)) - Remove dead code for persiting outgoing federation transactions. ([\#5622](https://github.com/matrix-org/synapse/issues/5622)) - Add `lint.sh` to the scripts-dev folder which will run all linting steps required by CI. ([\#5627](https://github.com/matrix-org/synapse/issues/5627)) - Move RegistrationHandler.get_or_create_user to test code. ([\#5628](https://github.com/matrix-org/synapse/issues/5628)) - Add some more common python virtual-environment paths to the black exclusion list. ([\#5630](https://github.com/matrix-org/synapse/issues/5630)) - Some counter metrics exposed over Prometheus have been renamed, with the old names preserved for backwards compatibility and deprecated. See `docs/metrics-howto.rst` for details. ([\#5636](https://github.com/matrix-org/synapse/issues/5636)) - Unblacklist some user_directory sytests. ([\#5637](https://github.com/matrix-org/synapse/issues/5637)) - Factor out some redundant code in the login implementation. ([\#5639](https://github.com/matrix-org/synapse/issues/5639)) - Update ModuleApi to avoid register(generate_token=True). ([\#5640](https://github.com/matrix-org/synapse/issues/5640)) - Remove access-token support from `RegistrationHandler.register`, and rename it. ([\#5641](https://github.com/matrix-org/synapse/issues/5641)) - Remove access-token support from `RegistrationStore.register`, and rename it. ([\#5642](https://github.com/matrix-org/synapse/issues/5642)) - Improve logging for auto-join when a new user is created. ([\#5643](https://github.com/matrix-org/synapse/issues/5643)) - Remove unused and unnecessary check for FederationDeniedError in _exception_to_failure. ([\#5645](https://github.com/matrix-org/synapse/issues/5645)) - Fix a small typo in a code comment. ([\#5655](https://github.com/matrix-org/synapse/issues/5655)) - Clean up exception handling around client access tokens. ([\#5656](https://github.com/matrix-org/synapse/issues/5656)) - Add a mechanism for per-test homeserver configuration in the unit tests. ([\#5657](https://github.com/matrix-org/synapse/issues/5657)) - Inline issue_access_token. ([\#5659](https://github.com/matrix-org/synapse/issues/5659)) - Update the sytest BuildKite configuration to checkout Synapse in `/src`. ([\#5664](https://github.com/matrix-org/synapse/issues/5664)) - Add a `docker` type to the towncrier configuration. ([\#5673](https://github.com/matrix-org/synapse/issues/5673)) - Convert `synapse.federation.transport.server` to `async`. Might improve some stack traces. ([\#5689](https://github.com/matrix-org/synapse/issues/5689)) - Documentation for opentracing. ([\#5703](https://github.com/matrix-org/synapse/issues/5703))
| * | 1.2.0rc1Andrew Morgan2019-07-221-1/+1
| | |
* | | Merge branch 'release-v1.2.0' into developJorik Schellekens2019-07-222-12/+127
|\| |
| * | Opentracing Documentation (#5703)Jorik Schellekens2019-07-222-12/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Opentracing survival guide * Update decorator names in doc * Doc cleanup These are all alterations as a result of comments in #5703, it includes mostly typos and clarifications. The most interesting changes are: - Split developer and user docs into two sections - Add a high level description of OpenTracing * newsfile * Move contributer specific info to docstring. * Sample config. * Trailing whitespace. * Update 5703.misc * Apply suggestions from code review Mostly just rewording parts of the docs for clarity. Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* | | Merge pull request #5720 from matrix-org/erikj/transactions_upsertErik Johnston2019-07-191-0/+20
|\ \ \ | | | | | | | | Use upsert when updating destination retry interval
| * | | Use upsert when updating destination retry intervalErik Johnston2019-07-191-0/+20
| | |/ | |/|
* | | Merge pull request #5713 from matrix-org/erikj/use_cache_for_filtered_stateErik Johnston2019-07-191-2/+6
|\ \ \ | | | | | | | | Delegate to cached version when using get_filtered_current_state_ids
| * | | Delegate to cached version when using get_filtered_current_state_idsErik Johnston2019-07-181-2/+6
| | | | | | | | | | | | | | | | In the case where it gets called with `StateFilter.all()`
* | | | Merge pull request #5706 from matrix-org/erikj/add_memberships_to_current_stateErik Johnston2019-07-197-41/+194
|\ \ \ \ | | | | | | | | | | Add membership column to current_state_events table
| * | | | LoggingTransaction accepts None for callback lists.Erik Johnston2019-07-193-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Its a bit disingenuousto give LoggingTransaction lists to append callbacks to if we're not going to run the callbacks.
| * | | | Update comment for new columnErik Johnston2019-07-191-0/+3
| | | | |
| * | | | Use the current_state_events.membership columnErik Johnston2019-07-181-17/+37
| | | | |
| * | | | Track if current_state_events.membership is up to dateErik Johnston2019-07-181-0/+45
| | | | |
| * | | | Add background update for current_state_events.membership columnErik Johnston2019-07-182-0/+54
| | | | |
| * | | | Add membership column to current_state_events table.Erik Johnston2019-07-185-20/+41
| | | | | | | | | | | | | | | | | | | | | | | | | It turns out that doing a join is surprisingly expensive for the DB to do when room_membership table is larger than the disk cache.
* | | | | Don't accept opentracing data from clients. (#5715)Jorik Schellekens2019-07-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't accept opentracing data from clients. * newsfile
* | | | | Add 'rel' attribute to default welcome page. (#5695)Neil Johnson2019-07-191-2/+2
| |_|/ / |/| | | | | | | | | | | add rel attribute as a precaution against reverse tabnabbing in future
* | | | Remove non-dedicated logging options and command line arguments (#5678)Amber Brown2019-07-192-75/+12
| |_|/ |/| |