- Apr 05, 2022
-
-
Sean Quah authored
`StreamToken.from_string` and `RoomStreamToken.parse` are both async methods that could be cancelled. These methods must not replace `CancelledError`s with `SynapseError`s. 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>
-
Erik Johnston authored
-
Dirk Klimpel authored
-
reivilibre authored
Fix a spec compliance issue where requests to the `/publicRooms` federation API would specify `limit` as a string. (#12364)
-
reivilibre authored
-
Sean Quah authored
-
David Robertson authored
-
Eric Eastwood authored
-
Shay authored
-
- Apr 04, 2022
-
-
Eric Eastwood authored
Part of https://github.com/matrix-org/synapse/issues/12110 Complement test: https://github.com/matrix-org/complement/pull/354 Previously, they didn't resolve because async `filter_events_for_client` removes all outlier state except for out-of-band membership. And fundamentally, we have the state at these events so they shouldn't be marked as outliers.
-
Erik Johnston authored
* Prefill the device_list_stream_cache * Newsfile * Newsfile
-
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 03, 2022
-
-
David Robertson authored
-
- 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)
-
David Robertson authored
-
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.
-
David Robertson authored
-
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.
-
reivilibre authored
-
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.
-
Patrick Cloke authored
-
Brendan Abolivier authored
-
Patrick Cloke authored
The PaginationChunk class attempted to bundle some properties together, but really just caused callers to jump through hoops and hid implementation details.
-
David Robertson authored
-
David Robertson authored
-
David Robertson 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>
-
reivilibre authored
Flesh out documentation for running SyTest against Synapse, including use of Postgres and worker mode. (#12271) Co-authored-by:
Patrick Cloke <clokep@users.noreply.github.com>
-