- Apr 06, 2022
-
-
Eric Eastwood authored
-
- Apr 05, 2022
-
-
Sean Quah authored
Just after a task acquires a contended `Linearizer` lock, it sleeps. If the task is cancelled during this sleep, we need to release the lock. Signed-off-by:
Sean Quah <seanq@element.io>
-
Sean Quah authored
Signed-off-by:
Sean Quah <seanq@element.io>
-
Sean Quah authored
Refactor and convert `Linearizer` to async. This makes a `Linearizer` cancellation bug easier to fix. Also refactor to use an async context manager, which eliminates an unlikely footgun where code that doesn't immediately use the context manager could forget to release the lock. Signed-off-by:
Sean Quah <seanq@element.io>
-
Sean Quah authored
Signed-off-by:
Sean Quah <seanq@element.io>
-
Dirk Klimpel authored
-
reivilibre authored
-
David Robertson authored
-
- Apr 04, 2022
-
-
Erik Johnston authored
This is a first step in dealing with #7721. The idea is basically that rather than calculating the full set of users a device list update needs to be sent to up front, we instead simply record the rooms the user was in at the time of the change. This will allow a few things: 1. we can defer calculating the set of remote servers that need to be poked about the change; and 2. during `/sync` and `/keys/changes` we can avoid also avoid calculating users who share rooms with other users, and instead just look at the rooms that have changed. However, care needs to be taken to correctly handle server downgrades. As such this PR writes to both `device_lists_changes_in_room` and the `device_lists_outbound_pokes` table synchronously. In a future release we can then bump the database schema compat version to `69` and then we can assume that the new `device_lists_changes_in_room` exists and is handled. There is a temporary option to disable writing to `device_lists_outbound_pokes` synchronously, allowing us to test the new code path does work (and by implication upgrading to a future release and downgrading to this one will work correctly). Note: Ideally we'd do the calculation of room to servers on a worker (e.g. the background worker), but currently only master can write to the `device_list_outbound_pokes` table.
-
- Apr 01, 2022
-
-
Richard van der Hoff authored
In particular, add type hints for get_success and friends, which are then helpful in a bunch of places.
-
Richard van der Hoff authored
There are a bunch of places we call get_success on an immediate value, which is unnecessary. Let's rip them out, and remove the redundant functionality in get_success and friends.
-
reivilibre authored
Default to `private` room visibility rather than `public` when a client does not specify one, according to spec. (#12350)
-
Nick Mills-Barrett authored
Switching to a sequence means there's no need to track `last_txn` on the AS state table to generate new TXN IDs. This also means that there is no longer contention between the AS scheduler and AS handler on updates to the `application_services_state` table, which will prevent serialization errors during the complete AS txn transaction.
-
Richard van der Hoff authored
These methods are only used by a single testcase, so they shouldn't be cluttering up the base `TestCase` class.
-
Richard van der Hoff authored
It seems like calling `_get_state_group_for_events` for an event where the state is unknown is an error. Accordingly, let's raise an exception rather than silently returning an empty result.
-
Richard van der Hoff authored
If we're missing most of the events in the room state, then we may as well call the /state endpoint, instead of individually requesting each and every event.
-
Brendan Abolivier authored
Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> Co-authored-by:
Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
-
Amanda Graven authored
-
- Mar 31, 2022
-
-
Patrick Cloke authored
To match the current thinking on disabling experimental features by default.
-
Richard van der Hoff authored
The intention here is to avoid doing state lookups for outliers in `/_matrix/federation/v1/event`. Unfortunately that's expanded into something of a rewrite of `filter_events_for_server`, which ended up trying to do that operation in a couple of places.
-
Brendan Abolivier authored
-
Brendan Abolivier authored
-
- Mar 30, 2022
-
-
Patrick Cloke authored
This endpoint was removed from MSC2675 before it was approved. It is currently unspecified (even in any MSCs) and therefore subject to removal. It is not implemented by any known clients. This also changes the bundled aggregation format for `m.annotation`, which previously included pagination tokens for the `/aggregations` endpoint, which are no longer useful.
-
Andrew Morgan authored
Co-authored-by:
Patrick Cloke <clokep@users.noreply.github.com>
-
Andrew Morgan authored
-
Andrew Morgan authored
Co-authored-by:
Erik Johnston <erik@matrix.org>
-
Brendan Abolivier authored
-
- Mar 29, 2022
-
-
David Robertson authored
-
David Robertson authored
-
- Mar 25, 2022
-
-
Shay authored
-
David Robertson authored
Hopefully this fixes #12257. Co-authored-by:
Patrick Cloke <clokep@users.noreply.github.com>
-
- Mar 24, 2022
-
-
Patrick Cloke authored
The `MockHttpResource` and `MockKey` objects were unused since #9396 (74af356b).
-
Patrick Cloke authored
Filter the events returned from `/relations` for the requester's ignored users in a similar way to `/messages` (and `/sync`).
-
Brendan Abolivier authored
-
- Mar 23, 2022
-
-
Shay authored
-
Nicolas Werner authored
Signed-off-by:
Nicolas Werner <n.werner@famedly.com>
-
Jonathan de Jong authored
Co-authored-by:
reivilibre <olivier@librepush.net>
-
- Mar 21, 2022
-
-
Dirk Klimpel authored
-
- Mar 18, 2022
-
-
David Robertson authored
* Try to detect borked package installations. Fixes #12223. Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com>
-
Patrick Cloke authored
We fetch the thread summary in two phases: 1. The summary that is shared by all users (count of messages and latest event). 2. Whether the requesting user has participated in the thread. There's no use in attempting step 2 for events which did not return a summary from step 1.
-