- Nov 03, 2022
-
-
David Robertson authored
4f5d492cd6a9438de03d1b768f4c220cb662ac06 The release branch CI is failing because poetry seems unable to install wrapt 1.13.3 when run under CPython 3.11. Develop has already bumped wrapt for 3.11 compatibility. Cherry-pick that commit here to try and get CI going again.
-
- Oct 26, 2022
-
-
Eric Eastwood authored
Refactor MSC3030 `/timestamp_to_event` to move away from our snowflake pull from `destination` pattern (#14096) 1. `federation_client.timestamp_to_event(...)` now handles all `destination` looping and uses our generic `_try_destination_list(...)` helper. 2. Consistently handling `NotRetryingDestination` and `FederationDeniedError` across `get_pdu` , backfill, and the generic `_try_destination_list` which is used for many places we use this pattern. 3. `get_pdu(...)` now returns `PulledPduInfo` so we know which `destination` we ended up pulling the PDU from
-
- Oct 25, 2022
-
-
Quentin Gliech authored
This implements a fake OIDC server, which intercepts calls to the HTTP client. Improves accuracy of tests by covering more internal methods. One particular example was the ID token validation, which previously mocked. This uncovered an incorrect dependency: Synapse actually requires at least authlib 0.15.1, not 0.14.0.
-
- Oct 19, 2022
-
-
dependabot[bot] authored
Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
Erik Johnston <erik@matrix.org> Co-authored-by:
David Robertson <davidr@element.io>
-
- Oct 06, 2022
-
-
David Robertson authored
-
- Oct 03, 2022
-
-
Eric Eastwood authored
Because we're doing the recording in `_check_sigs_and_hash_for_pulled_events_and_fetch` (previously named `_check_sigs_and_hash_and_fetch`), this means we will track signature failures for `backfill`, `get_room_state`, `get_event_auth`, and `get_missing_events` (all pulled event scenarios). And we also record signature failures from `get_pdu`. Part of https://github.com/matrix-org/synapse/issues/13700 Part of https://github.com/matrix-org/synapse/issues/13676 and https://github.com/matrix-org/synapse/issues/13356 This PR will be especially important for https://github.com/matrix-org/synapse/pull/13816 so we can avoid the costly `_get_state_ids_after_missing_prev_event` down the line when `/messages` calls backfill.
-
- Sep 23, 2022
-
-
Patrick Cloke authored
Updates the `/receipts` endpoint and receipt EDU handler to parse a `thread_id` from the body and insert it in the database.
-
- Aug 31, 2022
-
-
reivilibre authored
Generalise the `@cancellable` annotation so it can be used on functions other than just servlet methods. (#13662)
-
- Aug 24, 2022
-
- Aug 05, 2022
-
-
Dirk Klimpel authored
-
- Jul 20, 2022
-
-
Eric Eastwood authored
Update `get_pdu` to return the untouched, pristine `EventBase` as it was originally seen over federation (no metadata added). Previously, we returned the same `event` reference that we stored in the cache which downstream code modified in place and added metadata like setting it as an `outlier` and essentially poisoned our cache. Now we always return a copy of the `event` so the original can stay pristine in our cache and re-used for the next cache call. Split out from https://github.com/matrix-org/synapse/pull/13205 As discussed at: - https://github.com/matrix-org/synapse/pull/13205#discussion_r918365746 - https://github.com/matrix-org/synapse/pull/13205#discussion_r918366125 Related to https://github.com/matrix-org/synapse/issues/12584. This PR doesn't fix that issue because it hits [`get_event` which exists from the local database before it tries to `get_pdu`](https://github.com/matrix-org/synapse/blob/7864f33e286dec22368dc0b11c06eebb1462a51e/synapse/federation/federation_client.py#L581-L594).
-
Shay authored
-
- Jul 19, 2022
-
-
David Robertson authored
-
- Jul 15, 2022
-
-
Dirk Klimpel authored
-
- Jul 12, 2022
-
-
David Robertson authored
-
- Jun 07, 2022
-
-
Sean Quah authored
* Reword failure message about `await_result=False` * Use `reactor.advance()` instead of `reactor.pump()` * Raise `AssertionError`s ourselves * Un-instance method `_test_disconnect` * Replace `ThreadedMemoryReactorClock` with `MemoryReactorClock`
-
- Jun 06, 2022
-
-
Erik Johnston authored
Reducing the amount of state we pull from the DB is useful as fetching state is expensive in terms of DB, CPU and memory.
-
Erik Johnston authored
-
- May 27, 2022
-
-
Patrick Cloke authored
Instead of hard-coding strings in many places.
-
- May 18, 2022
-
-
Hubert Chathi authored
The main differences are: - values with delimiters (such as colons) should be quoted, so always quote the origin, since it could contain a colon followed by a port number - should allow more than one space after "X-Matrix" - quoted values with backslash-escaped characters should be unescaped - names should be case insensitive
-
- May 11, 2022
-
-
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>
-
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>
-
- 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>
-
- Apr 19, 2022
-
-
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 12, 2022
-
-
Erik Johnston 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.
-
- Mar 30, 2022
-
-
Andrew Morgan authored
-
- Mar 04, 2022
-
-
Erik Johnston authored
-
- Feb 28, 2022
-
-
David Robertson authored
-
Patrick Cloke authored
-
- Feb 23, 2022
-
-
Richard van der Hoff authored
The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733
-
- Feb 22, 2022
-
-
Richard van der Hoff authored
This is an endpoint that we have server-side support for, but no client-side support. It's going to be useful for resyncing partial-stated rooms, so let's introduce it.
-
- Feb 17, 2022
-
-
Richard van der Hoff authored
Part of my work on #11249: add code to handle the new fields added in MSC3706.
-
- Feb 12, 2022
-
-
Richard van der Hoff authored
* Make `get_auth_chain_ids` return a Set It has a set internally, and a set is often useful where it gets used, so let's avoid converting to an intermediate list. * Minor refactors in `on_send_join_request` A little bit of non-functional groundwork * Implement MSC3706: partial state in /send_join response
-
- Feb 11, 2022
-
-
Richard van der Hoff authored
If we prepopulate the test homeserver with a key for a remote homeserver, we can make federation requests to it without having to stub out the authenticator. This has two advantages: * means that what we are testing is closer to reality (ie, we now have complete tests for the incoming-request-authorisation flow) * some tests require that other objects be signed by the remote server (eg, the event in `/send_join`), and doing that would require a whole separate set of mocking out. It's much simpler just to use real keys.
-
- Jan 04, 2022
-
-
Patrick Cloke authored
Invites and knocks will now include the topic in the stripped state send to clients before joining the room.
-
- Dec 14, 2021
-
-
Olivier Wilkinson (reivilibre) authored
This reverts commit 158d73eb.
-
- Dec 08, 2021
-
-
Hubert Chathi authored
-
- Dec 07, 2021
-
-
Sean Quah authored
Revert "Sort internal changes in changelog" Revert "Update CHANGES.md" Revert "1.49.0rc1" Revert "Revert "Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common` (#11505) (#11527)" Revert "Refactors in `_generate_sync_entry_for_rooms` (#11515)" Revert "Correctly register shutdown handler for presence workers (#11518)" Revert "Fix `ModuleApi.looping_background_call` for non-async functions (#11524)" Revert "Fix 'delete room' admin api to work on incomplete rooms (#11523)" Revert "Correctly ignore invites from ignored users (#11511)" Revert "Fix the test breakage introduced by #11435 as a result of concurrent PRs (#11522)" Revert "Stabilise support for MSC2918 refresh tokens as they have now been merged into the Matrix specification. (#11435)" Revert "Save the OIDC session ID (sid) with the device on login (#11482)" Revert "Add admin API to get some information about federation status (#11407)" Revert "Include bundled aggregations in /sync and related fixes (#11478)" Revert "Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common` (#11505)" Revert "Update backward extremity docs to make it clear that it does not indicate whether we have fetched an events' `prev_events` (#11469)" Revert "Support configuring the lifetime of non-refreshable access tokens separately to refreshable access tokens. (#11445)" Revert "Add type hints to `synapse/tests/rest/admin` (#11501)" Revert "Revert accidental commits to develop." Revert "Newsfile" Revert "Give `tests.server.setup_test_homeserver` (nominally!) the same behaviour" Revert "Move `tests.utils.setup_test_homeserver` to `tests.server`" Revert "Convert one of the `setup_test_homeserver`s to `make_test_homeserver_synchronous`" Revert "Disambiguate queries on `state_key` (#11497)" Revert "Comments on the /sync tentacles (#11494)" Revert "Clean up tests.storage.test_appservice (#11492)" Revert "Clean up `tests.storage.test_main` to remove use of legacy code. (#11493)" Revert "Clean up `tests.test_visibility` to remove legacy code. (#11495)" Revert "Minor cleanup on recently ported doc pages (#11466)" Revert "Add most of the missing type hints to `synapse.federation`. (#11483)" Revert "Avoid waiting for zombie processes in `synctl stop` (#11490)" Revert "Fix media repository failing when media store path contains symlinks (#11446)" Revert "Add type annotations to `tests.storage.test_appservice`. (#11488)" Revert "`scripts-dev/sign_json`: support for signing events (#11486)" Revert "Add MSC3030 experimental client and federation API endpoints to get the closest event to a given timestamp (#9445)" Revert "Port wiki pages to documentation website (#11402)" Revert "Add a license header and comment. (#11479)" Revert "Clean-up get_version_string (#11468)" Revert "Link background update controller docs to summary (#11475)" Revert "Additional type hints for config module. (#11465)" Revert "Register the login redirect endpoint for v3. (#11451)" Revert "Update openid.md" Revert "Remove mention of OIDC certification from Dex (#11470)" Revert "Add a note about huge pages to our Postgres doc (#11467)" Revert "Don't start Synapse master process if `worker_app` is set (#11416)" Revert "Expose worker & homeserver as entrypoints in `setup.py` (#11449)" Revert "Bundle relations of relations into the `/relations` result. (#11284)" Revert "Fix `LruCache` corruption bug with a `size_callback` that can return 0 (#11454)" Revert "Eliminate a few `Any`s in `LruCache` type hints (#11453)" Revert "Remove unnecessary `json.dumps` from `tests.rest.admin` (#11461)" Revert "Merge branch 'master' into develop" This reverts commit 26b5d232. This reverts commit bce4220f. This reverts commit 966b5d0f. This reverts commit 088d748f. This reverts commit 14d593f7. This reverts commit 2a3ec6fa. This reverts commit eccc49d7. This reverts commit b1ecd19c. This reverts commit 9c55dedc. This reverts commit 2d42e586. This reverts commit 2f053f3f. This reverts commit a15a893d. This reverts commit 8b4b153c. This reverts commit 494ebd73. This reverts commit a77c3698. This reverts commit 4eb77965. This reverts commit 637df95d. This reverts commit e5f426cd. This reverts commit 8cd68b81. This reverts commit 6cae125e. This reverts commit 7be88fbf. This reverts commit b3fd99b7. This reverts commit f7ec6e7d. This reverts commit 5640992d. This reverts commit d26808dd. This reverts commit f91624a5. This reverts commit 16d39a54. This reverts commit 8a4c2969. This reverts commit 49e1356e. This reverts commit d2279f47. This reverts commit b50e39df. This reverts commit 858d80bf. This reverts commit 435f0448. This reverts commit f61462e1. This reverts commit a6f1a3ab. This reverts commit 84dc50e1. This reverts commit ed635d32. This reverts commit 7b62791e. This reverts commit 153194c7. This reverts commit f44d729d. This reverts commit a265fbd3. This reverts commit b9fef1a7. This reverts commit b0eb64ff. This reverts commit f1795463. This reverts commit 70cbb1a5. This reverts commit 42bf0204. This reverts commit 379f2650. This reverts commit 7ff22d6d. This reverts commit 5a0b652d. This reverts commit 432a174b. This reverts commit b14f8a1b, reversing changes made to e713855d.
-