Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2022-03-02 | Tweak changelog | Olivier Wilkinson (reivilibre) | 1 | -1/+1 | |
2022-03-02 | Apply suggestions to changelog | Olivier Wilkinson (reivilibre) | 1 | -10/+9 | |
2022-03-02 | Reword changelog | Olivier Wilkinson (reivilibre) | 1 | -12/+16 | |
2022-03-02 | 1.54.0rc1 | Olivier Wilkinson (reivilibre) | 74 | -72/+103 | |
2022-03-02 | Remove misleading newsfile from #12126 which backs out an unreleased change. | Olivier Wilkinson (reivilibre) | 1 | -1/+0 | |
2022-03-02 | Back out in-flight state caching changes. (#12126) | reivilibre | 7 | -676/+26 | |
2022-03-02 | Make get_room_version use cached get_room_version_id. (#11808) | lukasdenk | 3 | -15/+18 | |
2022-03-01 | Detox, part 1 of N (#12119) | David Robertson | 4 | -14/+12 | |
* Don't use `tox` for `check-sampleconfig` * Don't use `tox` for check-newsfragment | |||||
2022-03-01 | Use importlib.metadata to read requirements (#12088) | David Robertson | 13 | -115/+237 | |
* Pull runtime dep checks into their own module * Reimplement `check_requirements` using `importlib` I've tried to make this clearer. We start by working out which of Synapse's requirements we need to be installed here and now. I was surprised that there wasn't an easier way to see which packages were installed by a given extra. I've pulled out the error messages into functions that deal with "is this for an extra or not". And I've rearranged the loop over two different sets of requirements into one loop with a "must be instaled" flag. I hope you agree that this is clearer. * Test cases | |||||
2022-03-01 | Fix rare error in `ReadWriteLock` when writers complete immediately (#12105) | Sean Quah | 3 | -1/+35 | |
Signed-off-by: Sean Quah <seanq@element.io> | |||||
2022-03-01 | Add module callbacks called for reacting to deactivation status change and ↵ | Brendan Abolivier | 7 | -7/+360 | |
profile update (#12062) | |||||
2022-03-01 | Use Python 3.9 in Synapse dockerfiles by default (#12112) | Andrew Morgan | 2 | -2/+3 | |
2022-03-01 | Add `stop_cancellation` utility function (#12106) | Sean Quah | 3 | -0/+65 | |
2022-03-01 | Order in-flight state group queries in biggest-first order (#11610) | reivilibre | 3 | -4/+131 | |
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | |||||
2022-03-01 | Faster joins: persist to database (#12012) | Richard van der Hoff | 12 | -32/+297 | |
When we get a partial_state response from send_join, store information in the database about it: * store a record about the room as a whole having partial state, and stash the list of member servers too. * flag the join event itself as having partial state * also, for any new events whose prev-events are partial-stated, note that they will *also* be partial-stated. We don't yet make any attempt to interpret this data, so API calls (and a bunch of other things) are just going to get incorrect data. | |||||
2022-03-01 | Advertise Python 3.10 support in setup.py (#12111) | Andrew Morgan | 2 | -0/+2 | |
2022-03-01 | Fix 'Unhandled error in Deferred' (#12089) | Richard van der Hoff | 3 | -37/+38 | |
* Fix 'Unhandled error in Deferred' Fixes a CRITICAL "Unhandled error in Deferred" log message which happened when a function wrapped with `@cachedList` failed * Minor optimisation to cachedListDescriptor we can avoid re-using `missing`, which saves looking up entries in `deferreds_map`, and means we don't need to copy it. * Improve type annotation on CachedListDescriptor | |||||
2022-03-01 | Improve exception handling for concurrent execution (#12109) | Richard van der Hoff | 5 | -27/+151 | |
* fix incorrect unwrapFirstError import this was being imported from the wrong place * Refactor `concurrently_execute` to use `yieldable_gather_results` * Improve exception handling in `yieldable_gather_results` Try to avoid swallowing so many stack traces. * mark unwrapFirstError deprecated * changelog | |||||
2022-02-28 | Add type hints to `tests/rest/client` (#12094) | Dirk Klimpel | 5 | -64/+72 | |
* Add type hints to `tests/rest/client` * update `mypy.ini` * newsfile * add `test_register.py` | |||||
2022-02-28 | Remove the unstable `/spaces` endpoint. (#12073) | Patrick Cloke | 8 | -802/+46 | |
...and various code supporting it. The /spaces endpoint was from an old version of MSC2946 and included both a Client-Server and Server-Server API. Note that the unstable /hierarchy endpoint (from the final version of MSC2946) is not yet removed. | |||||
2022-02-28 | Move experimental support for MSC3440 to /versions. (#12099) | Patrick Cloke | 3 | -3/+3 | |
Instead of being part of /capabilities, this matches a change to MSC3440 to properly use these endpoints. | |||||
2022-02-28 | Add type hints to `tests/rest/client` (#12084) | Dirk Klimpel | 12 | -138/+198 | |
2022-02-28 | Fix `PushRuleEvaluator` and `Filter` to work on frozendicts (#12100) | Richard van der Hoff | 5 | -6/+27 | |
* Fix `PushRuleEvaluator` to work on frozendicts frozendicts do not (necessarily) inherit from dict, so this needs to handle them correctly. * Fix event filtering for frozen events Looks like this one was introduced by #11194. | |||||
2022-02-28 | Actually fix bad debug logging rejecting device list & signing key ↵ | David Robertson | 3 | -2/+21 | |
transactions (#12098) | |||||
2022-02-28 | Properly failover for unknown endpoints from Conduit/Dendrite. (#12077) | Patrick Cloke | 2 | -9/+14 | |
Before this fix, a legitimate 404 from a federation endpoint (e.g. due to an unknown room) would be treated as an unknown endpoint. This could cause unnecessary federation traffic. | |||||
2022-02-28 | Replace assertEquals and friends with non-deprecated versions. (#12092) | Patrick Cloke | 62 | -889/+888 | |
2022-02-28 | synctl: print warning if synctl_cache_factor is set in config (#11865) | lukasdenk | 2 | -0/+9 | |
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | |||||
2022-02-25 | Ensure that `get_datastores().main` is typed (#12070) | Sean Quah | 2 | -1/+3 | |
Signed-off-by: Sean Quah <seanq@element.io> | |||||
2022-02-25 | Minor typing fixes for `synapse/storage/persist_events.py` (#12069) | Sean Quah | 3 | -23/+26 | |
Signed-off-by: Sean Quah <seanq@element.io> | |||||
2022-02-24 | Add type hints to `tests/rest/client` (#12072) | Dirk Klimpel | 11 | -102/+160 | |
2022-02-24 | Add support for MSC3202: sending one-time key counts and fallback key usage ↵ | reivilibre | 11 | -38/+528 | |
states to Application Services. (#11617) Co-authored-by: Erik Johnston <erik@matrix.org> | |||||
2022-02-24 | Fix non-strings in the `event_search` table (#12037) | Sean Quah | 5 | -11/+173 | |
Don't attempt to add non-string `value`s to `event_search` and add a background update to clear out bad rows from `event_search` when using sqlite. Signed-off-by: Sean Quah <seanq@element.io> | |||||
2022-02-23 | Add documentation for missing worker types. (#11599) | Patrick Cloke | 2 | -14/+77 | |
And clean-up the endpoints which should be routed to workers. | |||||
2022-02-23 | Add logging to `/sync` for debugging #11916 (#12068) | Erik Johnston | 2 | -0/+10 | |
2022-02-23 | Add type hints to `tests/rest/client` (#12066) | Dirk Klimpel | 5 | -119/+149 | |
2022-02-23 | Remove more references to `get_datastore` (#12067) | Richard van der Hoff | 4 | -6/+6 | |
These have snuck in since #12031 was started. Also a couple of other cleanups while we're in the area. | |||||
2022-02-23 | Remove `HomeServer.get_datastore()` (#12031) | Richard van der Hoff | 230 | -500/+526 | |
The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733 | |||||
2022-02-23 | Rename default branch of complement.sh to main (#12063) | Nicolas Werner | 2 | -2/+3 | |
The complement.sh script relies on the name of the ref matching the name of the unpacked folder. The branch redirect from renaming the default branch breaks that assumption. Signed-off-by: Nicolas Werner <n.werner@famedly.com> | |||||
2022-02-22 | Remove excess condition on `knock->leave` check (#11900) | Travis Ralston | 2 | -3/+4 | |
2022-02-22 | Better error message when failing to request from another process (#12060) | Erik Johnston | 2 | -1/+4 | |
2022-02-22 | Implement account status endpoints (MSC3720) (#12001) | Brendan Abolivier | 11 | -6/+511 | |
See matrix-org/matrix-doc#3720 Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com> | |||||
2022-02-22 | Prune setup.cfg some more (#12059) | David Robertson | 5 | -13/+14 | |
* Remove `trial` section from setup.cfg This was added in the initial commit from 2014. I can't see that it does anything. Maybe it's there so that you can run `trial` without any extra args, but if I do that then I just get the `--help` message. * Move flake8's config to its own file | |||||
2022-02-22 | Cap the number of in-flight requests for state from a single group (#11608) | reivilibre | 3 | -0/+86 | |
2022-02-22 | Use room version 9 as the default room version (per MSC3589). (#12058) | Patrick Cloke | 3 | -2/+3 | |
2022-02-22 | Run `_handle_queued_pdus` as a background process (#12041) | Richard van der Hoff | 2 | -2/+5 | |
... to ensure it gets a proper log context, mostly. | |||||
2022-02-22 | Fix slow performance of `/logout` in some cases where refresh tokens are in ↵ | reivilibre | 4 | -4/+136 | |
use. The slowness existed since the initial implementation of refresh tokens. (#12056) | |||||
2022-02-22 | Faster joins: Support for calling `/federation/v1/state` (#12013) | Richard van der Hoff | 7 | -17/+377 | |
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. | |||||
2022-02-22 | Fetch images when previewing Twitter URLs. (#11985) | AndrewRyanChama | 3 | -4/+11 | |
By including "bot" in the User-Agent, which some sites use to decide whether to include additional Open Graph information. | |||||
2022-02-22 | Update changelog | Erik Johnston | 1 | -1/+1 | |
2022-02-22 | Update changelog | Erik Johnston | 1 | -2/+2 | |
2022-02-22 | Add more tests for in-flight state query duplication. (#12033) | reivilibre | 2 | -21/+172 | |
2022-02-22 | Tidy the building of sdists and wheels (#12051) | David Robertson | 3 | -28/+4 | |
* Don't build distribution pkgs in tests.yml * Run `release-artifacts` on release branches * Use backend-meta workflow for packaging | |||||
2022-02-22 | 1.53.0 v1.53.0 | Erik Johnston | 3 | -1/+13 | |
2022-02-22 | Move isort config to `pyproject.toml` (#12052) | David Robertson | 4 | -12/+14 | |
2022-02-22 | Use v3 endpoints for fallback auth (Matrix 1.1) (#12019) | Travis Ralston | 2 | -4/+5 | |
2022-02-21 | remote join processing: get create event from state, not auth_chain (#12039) | Richard van der Hoff | 4 | -5/+8 | |
A follow-up to #12005, in which I apparently missed that there are a bunch of other places that assume the create event is in the auth chain. | |||||
2022-02-21 | Minor typing fixes (#12034) | Richard van der Hoff | 4 | -16/+19 | |
These started failing in https://github.com/matrix-org/synapse/pull/12031... I'm a bit mystified by how they ever worked. | |||||
2022-02-21 | Add type hints to `synapse/storage/databases/main` (#11984) | Dirk Klimpel | 7 | -53/+79 | |
2022-02-21 | Advertise Matrix 1.2 in `/_matrix/client/versions` (#12022) | Travis Ralston | 2 | -0/+2 | |
Co-authored-by: Patrick Cloke <patrickc@matrix.org> | |||||
2022-02-18 | Document why auth providers aren't validated in the admin API. (#12004) | Patrick Cloke | 4 | -2/+29 | |
Since it is reasonable to give a future or past auth provider, which might not be in the current configuration. | |||||
2022-02-18 | Track and deduplicate in-flight requests to `_get_state_for_groups`. (#10870) | reivilibre | 3 | -25/+312 | |
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | |||||
2022-02-18 | Upgrade mypy to version 0.931 (#12030) | Sean Quah | 9 | -19/+33 | |
Upgrade mypy to 0.931, mypy-zope to 0.3.5 and fix new complaints. | |||||
2022-02-18 | Fix bug in `StateFilter.return_expanded()` and add some tests. (#12016) | reivilibre | 3 | -1/+117 | |
2022-02-18 | Advertise Matrix 1.1 in `/_matrix/client/versions` (#12020) | Travis Ralston | 2 | -0/+2 | |
2022-02-18 | Use stable MSC3069 `is_guest` flag on `/whoami`. (#12021) | Travis Ralston | 3 | -3/+9 | |
Keeping backwards compatibility with the unstable flag for now. | |||||
2022-02-18 | Fix 500 error with Postgres when looking backwards with the MSC3030 ↵ | Eric Eastwood | 2 | -1/+2 | |
`/timestamp_to_event` endpoint (#12024) | |||||
2022-02-18 | Update the olddeps CI check to use an old version of markupsafe (#12025) | Brendan Abolivier | 2 | -0/+4 | |
2022-02-17 | Remove unstable MSC3283 flags (#12018) | Erik Johnston | 3 | -17/+1 | |
Fixes #11962 | |||||
2022-02-17 | Allow modules to set a display name on registration (#12009) | Brendan Abolivier | 6 | -34/+195 | |
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | |||||
2022-02-17 | Faster joins: parse msc3706 fields in send_join response (#12011) | Richard van der Hoff | 6 | -33/+140 | |
Part of my work on #11249: add code to handle the new fields added in MSC3706. | |||||
2022-02-17 | Configure `tox` to use `venv` (#12015) | Richard van der Hoff | 3 | -1/+9 | |
As the comment says, virtualenv is a pile of fail. | |||||
2022-02-17 | Remove support for the legacy structured logging configuration. (#12008) | Patrick Cloke | 5 | -175/+24 | |
2022-02-17 | `send_join` response: get create event from `state`, not `auth_chain` (#12005) | Richard van der Hoff | 2 | -1/+2 | |
msc3706 proposes changing the `/send_join` response: > Any events returned within `state` can be omitted from `auth_chain`. Currently, we rely on `m.room.create` being returned in `auth_chain`, but since the `m.room.create` event must necessarily be part of the state, the above change will break this. In short, let's look for `m.room.create` in `state` rather than `auth_chain`. | |||||
2022-02-17 | Prevent duplicate push notifications for room reads (#11835) | lukasdenk | 3 | -66/+71 | |
2022-02-16 | Explain the meaning of spam checker callbacks' return values (#12003) | David Robertson | 2 | -13/+28 | |
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | |||||
2022-02-16 | Fix a typo in a comment. | Patrick Cloke | 1 | -1/+1 | |
2022-02-16 | Limit concurrent AS joins (#11996) | Brendan Abolivier | 2 | -19/+28 | |
Initially introduced in matrix-org-hotfixes by e5537cf (and tweaked by later commits). Fixes #11995 See also #4826 | |||||
2022-02-15 | Optimise calculating device_list changes in `/sync`. (#11974) | Erik Johnston | 4 | -15/+126 | |
For users with large accounts it is inefficient to calculate the set of users they share a room with (and takes a lot of space in the cache). Instead we can look at users whose devices have changed since the last sync and check if they share a room with the syncing user. | |||||
2022-02-15 | `_auth_and_persist_outliers`: drop events we have already seen (#11994) | Richard van der Hoff | 2 | -24/+21 | |
We already have two copies of this code, in 2/3 of the callers of `_auth_and_persist_outliers`. Before I add a third, let's push it down. | |||||
2022-02-15 | Track cache invalidations (#12000) | Erik Johnston | 4 | -1/+10 | |
Currently we only track evictions due to size or time constraints. | |||||
2022-02-15 | Fix incorrect `get_rooms_for_user` for remote user (#11999) | Erik Johnston | 3 | -11/+124 | |
When the server leaves a room the `get_rooms_for_user` cache is not correctly invalidated for the remote users in the room. This means that subsequent calls to `get_rooms_for_user` for the remote users would incorrectly include the room (it shouldn't be included because the server no longer knows anything about the room). | |||||
2022-02-15 | Docker: remove `VOLUME` directive (#11997) | Richard van der Hoff | 2 | -2/+1 | |
The driver for this is to stop Complement complaining about it, but as far as I can tell it was pointless and needed to go away anyway. I'm a bit unclear about what exactly VOLUME does, but I think what it means is that, if you don't override it with an explicit -v argument, then docker run will create a temporary volume, and copy things into it. The temporary volume is then deleted when the container finishes. That only sounds useful if your image has something to copy into it (otherwise you may as well just use the default root filesystem), and our image notably doesn't copy anything into /data. So... this wasn't doing anything, except annoying Complement? | |||||
2022-02-15 | Refactor search code to reduce function size. (#11991) | Patrick Cloke | 3 | -226/+435 | |
Splits the search code into a few logical functions instead of a single unreadable function. There are also a few additional changes for readability. After refactoring it was clear to see there were some unused and unnecessary variables, which were simplified. | |||||
2022-02-15 | Fix incorrect thread summaries when the latest event is edited. (#11992) | Patrick Cloke | 5 | -31/+107 | |
If the latest event in a thread was edited than the original event content was included in bundled aggregation for threads instead of the edited event content. | |||||
2022-02-15 | Add some tests for propagation of device list changes between local users ↵ | Andrew Morgan | 4 | -3/+163 | |
(#11972) | |||||
2022-02-15 | Update CHANGES.md v1.53.0rc1 | Sean Quah | 1 | -7/+7 | |
2022-02-15 | 1.53.0rc1 | Sean Quah | 60 | -58/+86 | |
2022-02-14 | Revert "Pin to frozendict<2.1.2 (#11625)" and allow frozendict>2.1.2 (#11969) | Pascal Bach | 2 | -1/+2 | |
This reverts commit 2bf31f7807c7a0c229170803c97090d612dc16f9. Signed-off-by: Pascal Bach <pascal.bach@nextrem.ch> | |||||
2022-02-14 | Fix M_WRONG_ROOM_KEYS_VERSION error not including `current_version` field ↵ | Michael Telatynski | 2 | -0/+4 | |
(#11988) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> | |||||
2022-02-14 | Note when unstable MSC3283 prefixes will be removed (#11989) | Andrew Morgan | 2 | -1/+2 | |
2022-02-14 | remove empty file, reword/rename newsfragment, and add line to upgrade doc | H. Shay | 4 | -1/+2 | |
2022-02-14 | Require that modules register their callbacks using keyword arguments. (#11975) | Patrick Cloke | 2 | -0/+7 | |
To allow for easier backwards/forwards compatibility by making it easier to add/remove callbacks. | |||||
2022-02-14 | Use version string helper from matrix-common (#11979) | David Robertson | 13 | -112/+42 | |
* Require latest matrix-common * Use the common function | |||||
2022-02-12 | Notify users, rather than rooms, of device list updates (#11905) | Andrew Morgan | 2 | -5/+4 | |
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | |||||
2022-02-12 | Implement MSC3706: partial state in `/send_join` response (#11967) | Richard van der Hoff | 7 | -21/+262 | |
* 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 |