- Apr 25, 2022
-
-
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.
-
Richard van der Hoff authored
MSC2314 has now been closed, so we're backing out its implementation, which originally happened in #6176. Unfortunately it's not a direct revert, as that PR mixed in a bunch of unrelated changes to tests etc.
-
- Apr 14, 2022
-
-
Erik Johnston authored
Broke in #12365
-
- Apr 13, 2022
-
-
Shay authored
*
-
David Baker authored
In trying to use the MSC3026 busy presence status, the user's status would be set back to 'online' next time they synced. This change makes it so that syncing does not affect a user's presence status if it is currently set to 'busy': it must be removed through the presence API. The MSC defers to implementations on the behaviour of busy presence, so this ought to remain compatible with the MSC.
-
Nick Mills-Barrett authored
Discovered after much in-depth investigation in #12281. Closes: #12281 Closes: #3305 Signed off by: Nick Mills-Barrett nick@beeper.com
-
- Apr 12, 2022
-
-
Erik Johnston authored
-
Patrick Cloke authored
This disables the endpoints (and sync response fields) for groups/communities by default.
-
Patrick Cloke authored
Removes references to unstable thread relation, unstable identifiers for filtering parameters, and the experimental config flag.
-
- Apr 11, 2022
-
-
Patrick Cloke authored
-
Patrick Cloke authored
Consider the requester's ignored users when calculating the bundled aggregations. See #12285 / 4df10d32 for corresponding changes for the `/relations` endpoint.
-
David Robertson authored
Of note: * No untyped defs in `register_new_matrix_user` This one might be contraversial. `request_registration` has three dependency-injection arguments used for testing. I'm removing the injection of the `requests` module and using `unitest.mock.patch` in the test cases instead. Doing `reveal_type(requests)` and `reveal_type(requests.get)` before the change: ``` synapse/_scripts/register_new_matrix_user.py:45: note: Revealed type is "Any" synapse/_scripts/register_new_matrix_user.py:46: note: Revealed type is "Any" ``` And after: ``` synapse/_scripts/register_new_matrix_user.py:44: note: Revealed type is "types.ModuleType" synapse/_scripts/register_new_matrix_user.py:45: note: Revealed type is "def (url: Union[builtins.str, builtins.bytes], params: Union[Union[_typeshed.SupportsItems[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]], Tuple[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]], typing.Iterable[Tuple[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]]], builtins.str, builtins.bytes], None] =, data: Union[Any, None] =, headers: Union[Any, None] =, cookies: Union[Any, None] =, files: Union[Any, None] =, auth: Union[Any, None] =, timeout: Union[Any, None] =, allow_redirects: builtins.bool =, proxies: Union[Any, None] =, hooks: Union[Any, None] =, stream: Union[Any, None] =, verify: Union[Any, None] =, cert: Union[Any, None] =, json: Union[Any, None] =) -> requests.models.Response" ``` * Drive-by comment in `synapse.storage.types` * No untyped defs in `synapse_port_db` This was by far the most painful. I'm happy to break this up into smaller pieces for review if it's not managable as-is.
-
reivilibre authored
-
- Apr 08, 2022
-
-
reivilibre authored
Co-authored-by:
Patrick Cloke <clokep@users.noreply.github.com>
-
Jorge Florian authored
-
- Apr 07, 2022
-
-
Patrick Cloke authored
Now that MSC2675 has passed FCP and the implementation is compliant with the final version.
-
- 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.
-