- May 13, 2022
-
-
Brendan Abolivier authored
-
Jess Porter authored
* add Measure blocks all over SpamChecker Signed-off-by:
jesopo <github@lolnerd.net> * fix test_spam_checker_may_join_room and test_threepid_invite_spamcheck * better changelog entry
-
- May 12, 2022
-
-
Andy Balaam authored
Co-authored-by:
Matthew Hodgson <matthew@matrix.org>
-
- May 11, 2022
-
-
David Robertson authored
-
Sean Quah authored
`BaseFederationServlet` wraps its endpoints in a bunch of async code that has not been vetted for compatibility with cancellation. Fail CI if a `@cancellable` flag is applied to a federation endpoint. Signed-off-by:
Sean Quah <seanq@element.io>
-
David Robertson authored
-
Sean Quah authored
While `ReplicationEndpoint`s register themselves via `JsonResource`, they pass a method that calls the handler, instead of the handler itself, to `register_paths`. As a result, `JsonResource` will not correctly pick up the `@cancellable` flag and we have to apply it ourselves. Signed-off-by:
Sean Quah <seanq@element.io>
-
Sean Quah authored
Both `RestServlet`s and `BaseFederationServlet`s register their handlers with `HttpServer.register_paths` / `JsonResource.register_paths`. Update `JsonResource` to respect the `@cancellable` flag on handlers registered in this way. Although `ReplicationEndpoint` also registers itself using `register_paths`, it does not pass the handler method that would have the `@cancellable` flag directly, and so needs separate handling. Signed-off-by:
Sean Quah <seanq@element.io>
-
Sean Quah authored
`DirectServeHtmlResource` and `DirectServeJsonResource` both inherit from `_AsyncResource`. These classes expect to be subclassed with `_async_render_*` methods. This commit has no effect on `JsonResource`, despite inheriting from `_AsyncResource`. `JsonResource` has its own `_async_render` override which will need to be updated separately. Signed-off-by:
Sean Quah <seanq@element.io>
-
- May 10, 2022
-
-
Erik Johnston authored
Refactor how the `EventContext` class works, with the intention of reducing the amount of state we fetch from the DB during event processing. The idea here is to get rid of the cached `current_state_ids` and `prev_state_ids` that live in the `EventContext`, and instead defer straight to the database (and its caching). One change that may have a noticeable effect is that we now no longer prefill the `get_current_state_ids` cache on a state change. However, that query is relatively light, since its just a case of reading a table from the DB (unlike fetching state at an event which is more heavyweight). For deployments with workers this cache isn't even used. Part of #12684
-
Richard van der Hoff authored
This table is never read, since #11794. We stop writing to it; in future we can drop it altogether.
-
Sean Quah authored
Also expose the `SynapseRequest` from `FakeChannel` in tests, so that we can call `Request.connectionLost` to simulate a client disconnecting. Signed-off-by:
Sean Quah <seanq@element.io>
-
reivilibre authored
Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. (#12654) Co-authored-by:
Shay <hillerys@element.io>
-
Erik Johnston authored
Otherwise it can take up to a minute for any in-flight `/send` requests to be retried.
-
- May 07, 2022
-
-
David Robertson authored
-
- May 06, 2022
-
-
David Robertson authored
-
reivilibre authored
Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. (#12452)
-
- May 05, 2022
-
-
DeepBlueV7.X authored
Signed-off-by:
Nicolas Werner <nicolas.werner@hotmail.de>
-
Šimon Brandner authored
-
Patrick Cloke authored
Fixes a regression from 8b309adb (#11660) and b65acead (#11752) where events which themselves were an edit or an annotation could have bundled aggregations calculated, which is not allowed.
-
- May 04, 2022
-
-
Will Hunt authored
* Add mau_appservice_trial_days * Add a test * Tweaks * changelog * Ensure we sync after the delay * Fix types * Add config statement * Fix test * Reinstate logging that got removed * Fix feature name
-
Patrick Cloke authored
getClientIP was deprecated in Twisted 18.4.0, which also added getClientAddress. The Synapse minimum version for Twisted is currently 18.9.0, so all supported versions have the new API.
-
Šimon Brandner authored
* Changes hidden read receipts to be a separate receipt type (instead of a field on `m.read`). * Updates the `/receipts` endpoint to accept `m.fully_read`.
-
Patrick Cloke authored
* `m.login.jwt`, which was never specced and has been deprecated since Synapse 1.16.0. (`org.matrix.login.jwt` can be used instead.) * `uk.half-shot.msc2778.login.application_service`, which was stabilized as part of the Matrix spec v1.2 release.
-
Patrick Cloke authored
The `latest_event` field of the bundled aggregations for `m.thread` relations did not include bundled aggregations itself. This resulted in clients needing to immediately request the event from the server (and thus making it useless that the latest event itself was serialized instead of just including an event ID).
-
- May 03, 2022
-
-
Richard van der Hoff authored
I've seen a few errors which can only plausibly be explained by the calculated event id for an event being different from the ID of the event in the database. It should be cheap to check this, so let's do so and raise an exception.
-
Patrick Cloke authored
-
- Apr 28, 2022
-
-
Šimon Brandner authored
-
Sean Quah authored
The status code of requests must always be set, regardless of client disconnection, otherwise they will always be logged as 200!. Broken for `respond_with_json` in f48792ee. Broken for `respond_with_json_bytes` in 3e58ce72. Broken for `respond_with_html_bytes` in ea26e9a9. Signed-off-by:
Sean Quah <seanq@element.io>
-
- Apr 27, 2022
-
-
Sean Quah authored
When configuring the return values of mocks, prefer awaitables from `make_awaitable` over `defer.succeed`. `Deferred`s are only awaitable once, so it is inappropriate for a mock to return the same `Deferred` multiple times. Also update `run_in_background` to support functions that return arbitrary awaitables. Signed-off-by:
Sean Quah <seanq@element.io>
-
Brendan Abolivier authored
Co-authored-by:
Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
-
David Robertson authored
Over time we've begun to use newer versions of mypy, typeshed, stub packages---and of course we've improved our own annotations. This makes some type ignore comments no longer necessary. I have removed them. There was one exception: a module that imports `select.epoll`. The ignore is redundant on Linux, but I've kept it ignored for those of us who work on the source tree using not-Linux. (#11771) I'm more interested in the config line which enforces this. I want unused ignores to be reported, because I think it's useful feedback when annotating to know when you've fixed a problem you had to previously ignore. * Installing extras before typechecking Lacking an easy way to install all extras generically, let's bite the bullet and make install the hand-maintained `all` extra before typechecking. Now that https://github.com/matrix-org/backend-meta/pull/6 is merged to the release/v1 branch.
-
- Apr 26, 2022
-
-
Nick Mills-Barrett authored
Co-authored-by:
Brad Murray <bradtgmurray@gmail.com> Co-authored-by:
Andrew Morgan <andrewm@element.io>
-
Erik Johnston authored
-
- Apr 25, 2022
-
-
Sean Quah authored
Multiple calls to `EventsWorkerStore._get_events_from_cache_or_db` can reuse the same database fetch, which is initiated by the first call. Ensure that cancelling the first call doesn't cancel the other calls sharing the same database fetch. Signed-off-by:
Sean Quah <seanq@element.io>
-
Patrick Cloke authored
* Corrects some typos / copy & paste errors in tests. * Clarifies docstrings. * Removes an unnecessary method.
-
- Apr 22, 2022
-
-
Sean Quah authored
This will mainly be useful when dealing with module callbacks, which are all typed as returning `Awaitable`s instead of coroutines or `Deferred`s. Signed-off-by:
Sean Quah <seanq@element.io>
-
- Apr 21, 2022
-
-
Richard van der Hoff authored
When we join a room via the faster-joins mechanism, we end up with "partial state" at some points on the event DAG. Many parts of the codebase need to wait for the full state to load. So, we implement a mechanism to keep track of which events have partial state, and wait for them to be fully-populated.
-
- Apr 20, 2022
-
-
Patrick Cloke authored
-
- Apr 19, 2022
-
-
Richard van der Hoff authored
This is what the MSC (now) requires. Fixes https://github.com/matrix-org/synapse/issues/10310.
-