summary refs log tree commit diff
path: root/synapse/handlers/initial_sync.py (unfollow)
Commit message (Collapse)AuthorFilesLines
0 min.lintAndrew Morgan3-24/+8
0 min.Port "Allow providing credentials to HTTPS_PROXY (#9657)" from mainline (#95)Andrew Morgan4-34/+183
* Allow providing credentials to HTTPS_PROXY (#9657) Addresses https://github.com/matrix-org/synapse-dinsic/issues/70 This PR causes `ProxyAgent` to attempt to extract credentials from an `HTTPS_PROXY` env var. If credentials are found, a `Proxy-Authorization` header ([details](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization)) is sent to the proxy server to authenticate against it. The headers are *not* passed to the remote server. Also added some type hints. * lint
0 min.Stabilise all knock-related unstable identifiers that would be in state (#96)Andrew Morgan2-5/+10
0 min.Port "Add support for no_proxy and case insensitive env variables" from ↵Andrew Morgan48-154/+398
mainline to dinsic (#93) This PR is simply porting https://github.com/matrix-org/synapse/pull/9372 to dinsic. I also had to bring in https://github.com/matrix-org/synapse/pull/8821 and https://github.com/matrix-org/synapse/pull/9084 for this code to work properly - a sign that we should merge mainline into dinsic again soon.
0 min.Remove extraneous print (#94)Andrew Morgan1-1/+0
0 min.Fix the pipeline to use knock v7 Complement branch (#92)Andrew Morgan1-3/+3
0 min.Cap mypy tests at twisted==20.3.0 (#90)Andrew Morgan1-0/+3
0 min.Change knock room version to v7 (#88)Andrew Morgan5-18/+18
0 min.Allow knock->knock transitions (#86)Andrew Morgan1-2/+0
Small change to the event auth rules that allows transitioning from knock->knock (in case you want to update your knock reason, or change profile information etc). Coincides with the same commit in [the mainline PR](https://github.com/matrix-org/synapse/pull/6739) and [this update on MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403/commits/49a72862a93d814219968cff814ff63926181645).
0 min.change check_threepid_can_be_invited to async (#85)Mathieu Velten1-5/+2
0 min.Add a config option to prioritise local users in user directory search ↵Andrew Morgan4-9/+158
results (#84) * Add a config option to prioritise local users in user directory search results (#9383) This PR adds a homeserver config option, `user_directory.prefer_local_users`, that when enabled will show local users higher in user directory search results than remote users. This option is off by default. Note that turning this on doesn't necessarily mean that remote users will always be put below local users, but they should be assuming all other ranking factors (search query match, profile information present etc) are identical. This is useful for, say, University networks that are openly federating, but want to prioritise local students and staff in the user directory over other random users. * Don't mix simple and english psql query types
0 min.Send a ver query parameter for make_knock (#83)Andrew Morgan4-7/+33
This informs the remote server of the room versions we support. If the room we're trying to knock on has a version that is not one of our supported room versions, the remote server will return an unsupported room version error. Noticed in https://github.com/matrix-org/matrix-doc/pull/2403#discussion_r577042144 Ported from https://github.com/matrix-org/synapse/pull/6739
0 min.Show knock rooms in the public room directory and inform clients they can be ↵Andrew Morgan2-6/+10
knocked on (#82) This PR implements the ["Changes regarding the Public Rooms Directory"](https://github.com/Sorunome/matrix-doc/blob/soru/knock/proposals/2403-knock.md#changes-regarding-the-public-rooms-directory) section of knocking MSC2403. Specifically, it: * Allows rooms with `join_rule` "knock" to be returned by the query behind the public rooms directory * Adds the field `join_rule` to each room entry returned by a public rooms directory query, so clients can know whether to attempt a join or knock on a room This PR is a clone of [the mainline PR](https://github.com/matrix-org/synapse/pull/9359). Complement tests for this change: https://github.com/matrix-org/complement/pull/72.
0 min.Add knocking support (#81)Andrew Morgan34-117/+1567
Implement knocking as defined by https://github.com/matrix-org/matrix-doc/pull/2403 This is the base knocking stuff, taken from https://github.com/matrix-org/synapse/pull/6739 and does not include any public room directory changes. While knocking hasn't merged yet on mainline due to waiting on getting Complement into Synapse's CI, the code has been well-tested.
0 min.Add complement running monolith synapse to buildkite pipeline (#80)Andrew Morgan1-0/+36
0 min.Fix Python Old-Deps CI step (#79)Andrew Morgan4-5/+12
* Fix the Python 3.5 old-deps build. (#9146) setuptools 51.0.0 dropped support for Python 3.5. * Fix Python 3.5 old deps build by using a compatible pip version. (#9217) Co-authored-by: Dan Callahan <danc@element.io> pip 21.0 stopped supporting Python 3.5. Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
0 min.Remove riot email registration backwards compatibility hackAndrew Morgan1-10/+0
This was causing a LoginError to be propagated up to the registration servlet, which was expecting a InteractiveAuthIncompleteError in order to store a password_hash from the client for the session. DINUM relies on this happening. More info here: https://github.com/matrix-org/synapse/issues/9263
0 min.Add a parameter to enable/disable freeze feature (#78)Mathieu Velten2-1/+10
0 min.Ensure we read account validity templates from custom template dir if ↵Andrew Morgan2-1/+55
provided (#77)
0 min.Change check_3pid_allowed to async (#76)Mathieu Velten1-13/+10
0 min.Some cleanups to device inbox store. (#9041)Erik Johnston3-57/+59
0 min.Fix typo in docs/systemd-with-workers/README.md (#9035)Emelie2-1/+2
Signed-off-by: Emelie em@nao.sh
0 min.Improve the performance of calculating ignored users in large rooms (#9024)Patrick Cloke6-34/+304
This allows for efficiently finding which users ignore a particular user. Co-authored-by: Erik Johnston <erik@matrix.org>
0 min.tox: Add a -noextras factor (#9030)Richard van der Hoff2-2/+7
... for running the tests with no optional deps.
0 min.Skip unit tests which require optional dependencies (#9031)Richard van der Hoff7-13/+90
If we are lacking an optional dependency, skip the tests that rely on it.
0 min.Handle updating schema version without any deltas. (#9033)Erik Johnston2-7/+11
This can happen when using a split out state database and we've upgraded the schema version without there being any changes in the state schema.
0 min.Empty iterables should count towards cache usage. (#9028)Patrick Cloke3-24/+52
0 min.More updates to changes for consistency. v1.25.0rc1Patrick Cloke1-1/+1
0 min.A few more tweaks to changes.Patrick Cloke1-2/+2
0 min.Handle a display name / avatar URL not included in a federation request. (#9023)Patrick Cloke2-2/+3
These may be omitted if not set, but Synapse assumed they would be in the response.
0 min.Some manual tweaks to the changes file.Patrick Cloke1-23/+18
0 min.1.25.0rc1Patrick Cloke80-79/+92
0 min.Fix-up assertions about last stream token in push (#9020)Patrick Cloke5-14/+8
The last stream token is always known and we do not need to handle none.
0 min.Ignore date-rotated logs (#9018)Eric Eastwood2-0/+2
Ex. - homeserver.log.2020-12-29 - homeserver.log.2020-12-31
0 min.Add type hints to the logging context code. (#8939)Patrick Cloke4-22/+47
0 min.Implement MSC2176: Updated redaction rules (#8984)Patrick Cloke5-30/+206
An experimental room version ("org.matrix.msc2176") contains the new redaction rules for testing.
0 min.Add initial support for a "pick your IdP" page (#9017)Richard van der Hoff11-3/+194
During login, if there are multiple IdPs enabled, offer the user a choice of IdPs.
0 min.Combine the SSO Redirect Servlets (#9015)Richard van der Hoff8-113/+174
* Implement CasHandler.handle_redirect_request ... to make it match OidcHandler and SamlHandler * Clean up interface for OidcHandler.handle_redirect_request Make it accept `client_redirect_url=None`. * Clean up interface for `SamlHandler.handle_redirect_request` ... bring it into line with CAS and OIDC by making it take a Request parameter, move the magic for `client_redirect_url` for UIA into the handler, and fix the return type to be a `str` rather than a `bytes`. * Define a common protocol for SSO auth provider impls * Give SsoIdentityProvider an ID and register them * Combine the SSO Redirect servlets Now that the SsoHandler knows about the identity providers, we can combine the various *RedirectServlets into a single implementation which delegates to the right IdP. * changelog
0 min.Add type hints to the receipts and user directory handlers. (#8976)Patrick Cloke4-32/+64
0 min.Add type hints to the crypto module. (#8999)Patrick Cloke9-113/+158
0 min.Add link to Synapse dev room to the relevant README section (#9002)Eric Eastwood2-0/+3
0 min.Better align mainline and dinsic buildkite pipelinesAndrew Morgan2-27/+59
0 min.Use the SSO handler helpers for CAS registration/login. (#8856)Patrick Cloke4-39/+199
0 min.Merged commit 'deff8f628' into anoa/dinsic_release_1_23_1Andrew Morgan40-241/+639
0 min.Fix RoomDirectoryFederationTests and make them actually run (#8998)Andrew Morgan3-21/+19
The `RoomDirectoryFederationTests` tests were not being run unless explicitly called as an `__init__.py` file was not present in `tests/federation/transport/`. Thus the folder was not a python module, and `trial` did not look inside for any test cases to run. This was found while working on #6739. This PR adds a `__init__.py` and also fixes the test in a couple ways: - Switch to subclassing `unittest.FederatingHomeserverTestCase` instead, which sets up federation endpoints for us. - Supply a `federation_auth_origin` to `make_request` in order to more act like the request is coming from another server, instead of just an unauthenicated client requesting a federation endpoint. I found that the second point makes no difference to the test passing, but felt like the right thing to do if we're testing over federation.
0 min.Allow users to click account renewal links multiple times without hitting an ↵Andrew Morgan16-258/+408
'Invalid Token' page (#74)
0 min.Check if group IDs are valid before using them. (#8977)Patrick Cloke3-4/+47
0 min.Add additional type hints to the storage module. (#8980)Patrick Cloke12-148/+224
0 min.Doc/move database setup instructions in install md (#8987)Shashank Sabniveesu2-121/+141
0 min.Add type hints to admin and room list handlers. (#8973)Patrick Cloke5-70/+100
0 min.Support PyJWT v2.0.0. (#8986)Patrick Cloke2-4/+13
Tests were broken due to an API changing. The code used in Synapse proper should be compatible with both versions already.
0 min.Validate input parameters for the sendToDevice API. (#8975)Patrick Cloke2-1/+3
This makes the "messages" key in the content required. This is currently optional in the spec, but that seems to be an error.
0 min.Update the value of group_creation_prefix in sample config. (#8992)Jerin J Titus3-2/+3
Removes the trailing slash with causes issues with matrix.to/Element.
0 min.Allow redacting events on workers (#8994)Patrick Cloke4-34/+16
Adds the redacts endpoint to workers that have the client listener.
0 min.Drop the unused local_invites table. (#8979)Patrick Cloke3-1/+19
This table has been unused since Synapse v1.17.0.
0 min.Support PyJWT v2.0.0. (#8986)Patrick Cloke2-4/+13
Tests were broken due to an API changing. The code used in Synapse proper should be compatible with both versions already.
0 min.Refactor the CAS handler in prep for using the abstracted SSO code. (#8958)Patrick Cloke4-69/+162
This makes the CAS handler look more like the SAML/OIDC handlers: * Render errors to users instead of throwing JSON errors. * Internal reorganization.
0 min.Send the location of the web client to the IS when inviting via 3PIDs. (#8930)Patrick Cloke4-0/+34
Adds a new setting `email.invite_client_location` which, if defined, is passed to the identity server during invites.
0 min.Allow server admin to get admin bit in rooms where local user is an admin ↵Erik Johnston5-3/+294
(#8756) This adds an admin API that allows a server admin to get power in a room if a local user has power in a room. Will also invite the user if they're not in the room and its a private room. Can specify another user (rather than the admin user) to be granted power. Co-authored-by: Matthew Hodgson <matthew@matrix.org>
0 min.Fix mainline ordering in state res v2 (#8971)Erik Johnston3-2/+58
This had two effects 1) it'd give the wrong answer and b) would iterate *all* power levels in the auth chain of each event. The latter of which can be *very* expensive for certain types of IRC bridge rooms that have large numbers of power level changes.
0 min.Implement a username picker for synapse (#8942)Richard van der Hoff14-59/+683
The final part (for now) of my work to implement a username picker in synapse itself. The idea is that we allow `UsernameMappingProvider`s to return `localpart=None`, in which case, rather than redirecting the browser back to the client, we redirect to a username-picker resource, which allows the user to enter a username. We *then* complete the SSO flow (including doing the client permission checks). The static resources for the username picker itself (in https://github.com/matrix-org/synapse/tree/rav/username_picker/synapse/res/username_picker) are essentially lifted wholesale from https://github.com/matrix-org/matrix-synapse-saml-mozilla/tree/master/matrix_synapse_saml_mozilla/res. As the comment says, we might want to think about making them customisable, but that can be a follow-up. Fixes #8876.
0 min.Allow re-using a UI auth validation for a period of time (#8970)Patrick Cloke10-49/+193
0 min.Ensure that a URL exists in the content during push. (#8965)Patrick Cloke3-2/+7
This fixes an KeyError exception, after this PR the content is just considered unknown.
0 min.Try and drop stale extremities. (#8929)Erik Johnston6-18/+523
If we see stale extremities while persisting events, and notice that they don't change the result of state resolution, we drop them.
0 min.Clean up tox.ini (#8963)Richard van der Hoff3-19/+34
... and disable coverage tracking for mypy and friends.
0 min.Update tests/test_mau.pyErik Johnston1-1/+2
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
0 min.Fix `UsersListTestCase` (#8964)Richard van der Hoff2-6/+5
0 min.Use the simple dictionary in full text search for the user directory (#8959)Brendan Abolivier3-12/+36
* Use the simple dictionary in fts for the user directory * Clarify naming
0 min.