Andrew Morgan
7cf88d743e
Install gcc, lower poetry verbosity
2023-08-04 16:46:05 +01:00
Andrew Morgan
2f83b4f206
Enable debug logging for poetry
2023-08-04 15:43:10 +01:00
Andrew Morgan
0f8e3337ca
changelog
2023-08-04 13:45:30 +01:00
Andrew Morgan
27efb8a38f
Switch devenv from development branch to v0.6.3
...
Broke in https://github.com/matrix-org/synapse/pull/16019 . This would have been caught
if someone ran 'devenv up' during manual testing of that PR, or better yet, if we had
CI for the nix developer environment.
Switch back to the latest release version, which doesn't have the upstream issue:
https://github.com/cachix/devenv/issues/756
2023-08-04 13:41:54 +01:00
Patrick Cloke
d98a43d922
Stabilize support for MSC3970: updated transaction semantics (scope to device_id) ( #15629 )
...
For now this maintains compatible with old Synapses by falling back
to using transaction semantics on a per-access token. A future version
of Synapse will drop support for this.
2023-08-04 07:47:18 -04:00
Shay
0a5f4f7665
Move support for application service query parameter authorization behind a configuration option ( #16017 )
2023-08-03 11:43:51 -07:00
Mathieu Velten
f0a860908b
Allow config of the backoff algorithm for the federation client. ( #15754 )
...
Adds three new configuration variables:
* destination_min_retry_interval is identical to before (10mn).
* destination_retry_multiplier is now 2 instead of 5, the maximum value will
be reached slower.
* destination_max_retry_interval is one day instead of (essentially) infinity.
Capping this will cause destinations to continue to be retried sometimes instead
of being lost forever. The previous value was 2 ^ 62 milliseconds.
2023-08-03 14:36:55 -04:00
reivilibre
9c462f18a4
Allow modules to check whether the current worker is configured to run background tasks. ( #15991 )
2023-08-03 08:42:19 -04:00
Patrick Cloke
4f5bccbbba
Add forward-compatibility for the redacts property (MSC2174). ( #16013 )
...
The location of the redacts field changes in room version 11. Ensure
it is copied to the *new* location for *old* room versions for
forwards-compatibility with clients.
Note that copying it to the *old* location for the *new* room version
was previously handled.
2023-08-02 15:35:54 +00:00
Patrick Cloke
01a45869f0
Update MSC3958 support to interact with intentional mentions. ( #15992 )
...
* Updates the rule ID.
* Use `event_property_is` instead of `event_match`.
This updates the implementation of MSC3958 to match the latest
text from the MSC.
2023-08-02 08:41:32 -04:00
dependabot[bot]
ca5d5de79b
Bump cryptography from 41.0.2 to 41.0.3 ( #16048 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-02 09:46:32 +00:00
Andrew Morgan
a51b0862a1
Update flake.lock to fix running the nix developer environment on MacOS ( #16019 )
2023-08-02 07:47:16 +01:00
Patrick Cloke
8fe1fd906a
Update certifi to 2023.7.22 and pygments to 2.15.1. ( #16044 )
2023-08-01 15:55:58 +00:00
Patrick Cloke
90ad836ed8
Properly setup the additional sequences in the portdb script. ( #16043 )
...
The un_partial_stated_event_stream_sequence and
application_services_txn_id_seq were never properly configured
in the portdb script, resulting in an error on start-up.
2023-08-01 10:36:33 -04:00
Mohit Rathee
5eb3fd785b
Trim whitespace when setting display names ( #16031 )
2023-08-01 09:14:02 -04:00
Jason Little
7cbb2a00d1
Add metrics tracking for eviction to ResponseCache ( #16028 )
...
Track whether the ResponseCache is evicting due to invalidation
or due to time.
2023-08-01 08:10:49 -04:00
David Robertson
a4102d2a5f
Merge branch 'master' into develop
2023-08-01 12:01:34 +01:00
David Robertson
190c990a76
1.89.0
2023-08-01 11:09:30 +01:00
Patrick Cloke
b7695ac388
Combine duplicated code for calculating an event ID from a txn ID ( #16023 )
...
Refactoring related to stabilization of MSC3970, refactor to combine
code which has the same logic.
2023-07-31 08:44:45 -04:00
dependabot[bot]
1fb5a7ad5d
Bump serde from 1.0.175 to 1.0.179 ( #16033 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.175 to 1.0.179.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.175...v1.0.179 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 14:08:35 +02:00
dependabot[bot]
fa2c116bef
Bump immutabledict from 2.2.4 to 3.0.0 ( #16034 )
...
Bumps [immutabledict](https://github.com/corenting/immutabledict ) from 2.2.4 to 3.0.0.
- [Release notes](https://github.com/corenting/immutabledict/releases )
- [Changelog](https://github.com/corenting/immutabledict/blob/master/CHANGELOG.md )
- [Commits](https://github.com/corenting/immutabledict/compare/v2.2.4...v3.0.0 )
---
updated-dependencies:
- dependency-name: immutabledict
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 13:27:17 +02:00
Nils
e02f4b7de2
Do not expose Admin API in caddy reverse proxy example ( #16027 )
...
Signed-off-by: Nils ANDRÉ-CHANG <nils@nilsand.re >
2023-07-31 13:25:06 +02:00
dependabot[bot]
21407c6709
Bump service-identity from 21.1.0 to 23.1.0 ( #16038 )
...
Bumps [service-identity](https://github.com/pyca/service-identity ) from 21.1.0 to 23.1.0.
- [Release notes](https://github.com/pyca/service-identity/releases )
- [Changelog](https://github.com/pyca/service-identity/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pyca/service-identity/compare/21.1.0...23.1.0 )
---
updated-dependencies:
- dependency-name: service-identity
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 13:24:32 +02:00
Erik Johnston
ae55cc1e6b
Add ability to wait for locks and add locks to purge history / room deletion ( #15791 )
...
c.f. #13476
2023-07-31 10:58:03 +01:00
dependabot[bot]
0c6142c4a1
Bump types-commonmark from 0.9.2.3 to 0.9.2.4 ( #16037 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 10:47:25 +01:00
dependabot[bot]
fee0195b27
Bump serde_json from 1.0.103 to 1.0.104 ( #16032 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.103 to 1.0.104.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.103...v1.0.104 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 10:23:00 +02:00
dependabot[bot]
76b2218599
Bump types-jsonschema from 4.17.0.8 to 4.17.0.10 ( #16036 )
...
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.8 to 4.17.0.10.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 10:21:48 +02:00
dependabot[bot]
ea4ece3fcc
Bump types-netaddr from 0.8.0.8 to 0.8.0.9 ( #16035 )
...
Bumps [types-netaddr](https://github.com/python/typeshed ) from 0.8.0.8 to 0.8.0.9.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-netaddr
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 10:21:34 +02:00
Shay
68b2611783
Clarify comment on key uploads over replication ( #16016 )
2023-07-27 15:08:46 -07:00
Mathieu Velten
a719b703d9
Fix 404 on /profile when the display name is empty but not the avatar ( #16012 )
2023-07-27 15:45:05 +02:00
Mathieu Velten
a461f1f846
Update PyYAML to 6.0.1 ( #16011 )
2023-07-27 14:51:26 +02:00
David Robertson
f9f3e89354
Attempt to fix labelling in docker workflow ( #16009 )
2023-07-27 13:47:48 +01:00
Shay
f98f4f2e16
Remove support for legacy application service paths ( #15964 )
2023-07-26 12:59:47 -07:00
Anshul Madnawat
58f8305114
Inline SQL queries using boolean parameters ( #15525 )
...
SQLite now supports TRUE and FALSE constants, simplify some
queries by inlining those instead of passing them as arguments.
2023-07-26 18:45:47 +00:00
Mo Balaa
96529c4236
Add synapse version as Docker container label ( #15972 )
...
Co-authored-by: Mo Balaa <balaa@fractalnetworks.co >
2023-07-26 16:16:12 +00:00
Mathieu Velten
6dc019d9dd
Merge branch 'release-v1.89' into develop
2023-07-26 17:07:42 +02:00
dependabot[bot]
8d2a5586f7
Bump serde from 1.0.171 to 1.0.175 ( #15982 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.171 to 1.0.175.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.171...v1.0.175 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-26 15:16:39 +01:00
Mathieu Velten
76e392b0fa
Edit changelog
2023-07-26 16:13:39 +02:00
Mathieu Velten
d4ea465496
Remove changelog file
2023-07-26 14:54:37 +02:00
Mathieu Velten
8ebfd577e2
Bump DB version to 79 since synapse v1.88 was already there ( #15998 )
2023-07-26 14:51:44 +02:00
Mathieu Velten
dbee081d14
1.89.0rc1
2023-07-25 14:32:47 +02:00
dependabot[bot]
99b7b801c3
Bump pygithub from 1.58.2 to 1.59.0 ( #15834 )
...
Bumps [pygithub](https://github.com/pygithub/pygithub ) from 1.58.2 to 1.59.0.
- [Release notes](https://github.com/pygithub/pygithub/releases )
- [Changelog](https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst )
- [Commits](https://github.com/pygithub/pygithub/compare/v1.58.2...v1.59.0 )
---
updated-dependencies:
- dependency-name: pygithub
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 14:19:46 +02:00
Shay
641ff9ef7e
Support MSC3814: Dehydrated Devices ( #15929 )
...
Signed-off-by: Nicolas Werner <n.werner@famedly.com >
Co-authored-by: Nicolas Werner <n.werner@famedly.com >
Co-authored-by: Nicolas Werner <89468146+nico-famedly@users.noreply.github.com >
Co-authored-by: Hubert Chathi <hubert@uhoreg.ca >
2023-07-24 08:23:19 -07:00
SnipeX_
05f8dada8b
Fix broken Arch Linux package link ( #15981 )
2023-07-24 09:06:10 -04:00
Erik Johnston
654902a758
Resync stale devices in background ( #15975 )
...
This is so we don't block responding to federation transaction while we
try and fetch the device lists.
2023-07-24 13:43:43 +01:00
dependabot[bot]
4a711bf379
Bump click from 8.1.3 to 8.1.6 ( #15984 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 10:17:02 +01:00
dependabot[bot]
fc566cdf0a
Bump sentry-sdk from 1.26.0 to 1.28.1 ( #15985 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 10:16:03 +01:00
dependabot[bot]
3b6208b835
Bump pillow from 9.4.0 to 10.0.0 ( #15986 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 10:12:02 +01:00
dependabot[bot]
3b8348b06e
Bump types-requests from 2.31.0.1 to 2.31.0.2 ( #15983 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 10:03:05 +01:00
Shay
5c7364fea5
Properly handle redactions of creation events ( #15973 )
2023-07-23 16:32:01 -07:00
Shay
f08d05dd2c
Actually stop reading from column user_id of tables profiles ( #15955 )
2023-07-23 16:30:54 -07:00
Shay
e1fa42249c
Build packages for Debian Trixie ( #15961 )
2023-07-23 16:30:05 -07:00
Erik Johnston
fc1e534e41
Speed up updating state in large rooms ( #15971 )
...
This should speed up updating state in rooms with lots of state.
2023-07-20 15:51:28 +01:00
Will Lewis
835174180b
Fixed grafana deploy annotations in the dashboard config, so it shows for those not managing matrix.org ( #15957 )
...
Removed the 'matrix.org' hardcorded instance setting
Originally introduced in #15674
Co-authored-by: wrjlewis <will.lewis@askattest.com >
2023-07-20 12:33:06 +00:00
Erik Johnston
fd44053b84
Don't log exceptions for every non-200 response ( #15969 )
...
Introduced in #15913
2023-07-20 11:07:58 +01:00
Erik Johnston
ad52db3b5c
Reduce the amount of state we pull out ( #15968 )
2023-07-20 10:46:37 +01:00
Erik Johnston
67f9e5293e
Ensure a long state res does not starve CPU ( #15960 )
...
We do this by yielding the reactor in hot loops.
2023-07-19 17:00:33 +00:00
Erik Johnston
19796e20aa
Fix bad merge of #15933 ( #15958 )
...
This was because we reverted the bump of the schema version, so we were not applying the new deltas.
2023-07-19 12:17:08 +00:00
Erik Johnston
40a3583ba1
Fix race in triggers for read/write locks. ( #15933 )
2023-07-19 12:06:38 +01:00
Shay
cb6e2c6cc7
Fix background schema updates failing over a large upgrade gap ( #15887 )
2023-07-18 16:59:27 -07:00
Olivier Wilkinson (reivilibre)
8e8431bc6e
Merge branch 'master' into develop
2023-07-18 16:45:39 +01:00
Olivier Wilkinson (reivilibre)
69699a9bd1
1.88.0
2023-07-18 14:06:00 +01:00
Patrick Cloke
6d81aec09f
Support room version 11 ( #15912 )
...
And fix a bug in the implementation of the updated redaction
format (MSC2174) where the top-level redacts field was not
properly added for backwards-compatibility.
2023-07-18 08:44:59 -04:00
Shay
e625c3dca0
Revert "Stop writing to column user_id of tables profiles and user_filters. ( #15953 )
...
* Revert "Stop writing to column `user_id` of tables `profiles` and `user_filters` (#15787 )"
This reverts commit f25b0f8808 .
* newsfragement
2023-07-18 11:44:09 +01:00
Jason Little
199c270947
Add a locality to a few presence metrics ( #15952 )
2023-07-18 10:36:40 +01:00
Eric Eastwood
1c802de626
Re-introduce the outbound federation proxy ( #15913 )
...
Allow configuring the set of workers to proxy outbound federation traffic through (`outbound_federation_restricted_to`).
This is useful when you have a worker setup with `federation_sender` instances responsible for sending outbound federation requests and want to make sure *all* outbound federation traffic goes through those instances. Before this change, the generic workers would still contact federation themselves for things like profile lookups, backfill, etc. This PR allows you to set more strict access controls/firewall for all workers and only allow the `federation_sender`'s to contact the outside world.
2023-07-18 09:49:21 +01:00
dependabot[bot]
c692283751
Bump anyhow from 1.0.71 to 1.0.72 ( #15949 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 13:20:34 +01:00
dependabot[bot]
43ee5d5bac
Bump pyo3-log from 0.8.2 to 0.8.3 ( #15951 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:46:26 +01:00
dependabot[bot]
1768dd3c27
Bump serde_json from 1.0.100 to 1.0.103 ( #15950 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:45:46 +01:00
dependabot[bot]
0d522b58a6
Bump jsonschema from 4.17.3 to 4.18.3 ( #15948 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:39:51 +01:00
dependabot[bot]
b0e66721a5
Bump typing-extensions from 4.5.0 to 4.7.1 ( #15947 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:33:47 +01:00
dependabot[bot]
6396527015
Bump pydantic from 1.10.10 to 1.10.11 ( #15946 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:30:46 +01:00
dependabot[bot]
d2f46ae370
Bump prometheus-client from 0.17.0 to 0.17.1 ( #15945 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:30:10 +01:00
Andrew Morgan
85e0541db1
Pin the rust version in flake.nix, and bump to 1.70.0 to fix installing ruff ( #15940 )
2023-07-17 09:36:12 +01:00
dependabot[bot]
cba2df20b5
Bump cryptography from 41.0.1 to 41.0.2 ( #15943 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-15 21:37:59 +01:00
Will Hunt
8d3656b994
Document that you cannot login as yourself on /_synapse/admin/v1/users/<user_id>/login ( #15938 )
2023-07-14 08:32:13 -04:00
Patrick Cloke
20ae617d14
Stop accepting 'user' parameter for application service registration. ( #15928 )
...
This is unspecced, but has existed for a very long time.
2023-07-13 07:23:56 -04:00
dependabot[bot]
2cacd0849a
Bump types-pillow from 9.5.0.4 to 10.0.0.1 ( #15932 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 11:21:28 +01:00
Patrick Cloke
204b66c203
Remove unneeded __init__. ( #15926 )
...
Remove an __init__ which only calls super() without changing the
input arguments.
2023-07-12 14:30:05 +00:00
Patrick Cloke
5bdf01fccd
Fix running with an empty experimental features section. ( #15925 )
2023-07-12 12:39:25 +00:00
Erik Johnston
36c6b92bfc
Fix push for invites received over federation ( #15820 )
2023-07-12 11:02:11 +00:00
Mathieu Velten
8eb7bb975e
Mark get_user_in_directory private since only used in tests ( #15884 )
2023-07-12 11:09:13 +02:00
Eric Eastwood
3bdb9b07fd
Make it more obvious which Python version runs on a given Linux distribution ( #15909 )
...
Make it more obvious which Python version runs on a given Linux distribution so when we end up dropping support for a given Python version, we can more easily find the reference to the Python version and remove any references for the distribution. We don't want to be running tests or building packages on a distribution that no longer has a supported Python version.
This way, we can avoid another situation like when we dropped support for Python 3.7 but forgot to drop the Debian Buster references everywhere (https://github.com/matrix-org/synapse/pull/15893 )
2023-07-11 17:15:06 -05:00
Eric Eastwood
0371a354cf
Better clarify how to run a worker instance (pass both configs) ( #15921 )
...
Previously, if you just followed the instructions per the docs, you just ran into an error:
```sh
$ poetry run synapse_worker --config-path homeserver_generic_worker1.yaml
Missing mandatory `server_name` config option.
```
2023-07-11 17:13:54 -05:00
Eric Eastwood
ae391db777
Better warning in logs when we fail to fetch an alias ( #15922 )
...
**Before:**
```
Error retrieving alias
```
**After:**
```
Error retrieving alias #foo:bar -> 401 Unauthorized
```
*Spawning from creating the [manual testing strategy for the outbound federation proxy](https://github.com/matrix-org/synapse/pull/15773 ).*
2023-07-11 17:12:41 -05:00
Eric Eastwood
d7fc87d973
Bump Unix sockets intro version ( #15924 )
...
https://github.com/matrix-org/synapse/pull/15708 didn't quite make the cut for `1.88.0` this morning.
2023-07-11 15:32:50 -05:00
Jason Little
224ef0b669
Unix Sockets for HTTP Replication ( #15708 )
...
Unix socket support for `federation` and `client` Listeners has existed now for a little while(since [1.81.0](https://github.com/matrix-org/synapse/pull/15353 )), but there was one last hold out before it could be complete: HTTP Replication communication. This should finish it up. The Listeners would have always worked, but would have had no way to be talked to/at.
---------
Co-authored-by: Eric Eastwood <madlittlemods@gmail.com >
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Co-authored-by: Eric Eastwood <erice@element.io >
2023-07-11 13:08:06 -05:00
Patrick Cloke
a4243183f0
Add + as an allowed character for Matrix IDs (MSC4009) ( #15911 )
2023-07-11 12:21:00 -04:00
David Robertson
92014fbf72
Don't build wheels for Python 3.7 ( #15917 )
...
* Don't build wheels for CPython or PyPy 3.7
* Update pyproject.toml comments
* Manually update the changelog
2023-07-11 15:16:19 +01:00
David Robertson
4ccfa16081
Call out upgrade notes in README
2023-07-11 10:34:09 +01:00
David Robertson
7c7bd9898b
1.88.0rc1
2023-07-11 10:28:11 +01:00
Michael Telatynski
b516d91999
Add Server to Access-Control-Expose-Headers header ( #15908 )
2023-07-11 09:18:50 +01:00
Eric Eastwood
2328e90fbb
Make the media /upload tracing less ambiguous ( #15888 )
...
A lot of the functions have the same name in this space like `store_file`,
and we also do it multiple times for different reasons (main media repo,
other storage providers, thumbnails, etc) so it's good to differentiate
them so your head doesn't explode.
Follow-up to https://github.com/matrix-org/synapse/pull/15850
Tracing instrumentation to media `/upload` code paths to investigate https://github.com/matrix-org/synapse/issues/15841
2023-07-10 17:23:11 -05:00
Shay
5e82b07d2c
Drop debian buster ( #15893 )
2023-07-10 10:39:36 -07:00
Eric Eastwood
c9bf644fa0
Revert "Federation outbound proxy" ( #15910 )
...
Revert "Federation outbound proxy (#15773 )"
This reverts commit b07b14b494 .
2023-07-10 11:10:20 -05:00
Eric Eastwood
a704a35dd7
Revert "Placeholder changelog"
...
This reverts commit 6e731e86bf .
2023-07-10 10:26:04 -05:00
Erik Johnston
e55a9b3e41
Fix downgrading to previous version of Synapse ( #15907 )
...
We do this by marking the constraint as deferrable.
2023-07-10 16:24:42 +01:00
Erik Johnston
6774f265b4
Fix building rust with nightly ( #15906 )
...
Also fix up a warning.
2023-07-10 16:24:04 +01:00
Eric Eastwood
6e731e86bf
Placeholder changelog
2023-07-10 10:23:30 -05:00
dependabot[bot]
c971698bff
Bump regex from 1.8.4 to 1.9.1 ( #15902 )
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.8.4 to 1.9.1.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.8.4...1.9.1 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 15:55:39 +01:00
dependabot[bot]
7477f43fd8
Bump serde_json from 1.0.99 to 1.0.100 ( #15901 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.99 to 1.0.100.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.99...v1.0.100 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 15:34:26 +02:00
dependabot[bot]
3710fea19d
Bump ruff from 0.0.275 to 0.0.277 ( #15900 )
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.0.275 to 0.0.277.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.275...v0.0.277 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 10:16:03 +00:00
dependabot[bot]
df8c8a4f45
Bump lxml from 4.9.2 to 4.9.3 ( #15897 )
...
Bumps [lxml](https://github.com/lxml/lxml ) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/lxml/lxml/releases )
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt )
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.2...lxml-4.9.3 )
---
updated-dependencies:
- dependency-name: lxml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 10:24:11 +01:00
Shay
8a529e4fb6
Stop running sytest on buster/python3.7 ( #15892 )
2023-07-07 12:04:55 -07:00
Shay
f25b0f8808
Stop writing to column user_id of tables profiles and user_filters ( #15787 )
2023-07-07 09:23:27 -07:00
Dirk Klimpel
677272caed
Remove worker_replication_* settings from worker doc ( #15872 )
...
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
2023-07-07 08:09:41 +00:00
Jason Little
2481b7dfa4
Remove worker_replication_* deprecated settings, with helpful errors on startup ( #15860 )
...
Co-authored-by: reivilibre <oliverw@matrix.org >
2023-07-07 07:45:25 +00:00
sarthak shah
f19dd39dfc
Update link to the clients webpage, fix #15825 ( #15874 )
2023-07-06 17:28:09 +02:00
Eric Eastwood
b07b14b494
Federation outbound proxy ( #15773 )
...
Allow configuring the set of workers to proxy outbound federation traffic through (`outbound_federation_restricted_to`).
This is useful when you have a worker setup with `federation_sender` instances responsible for sending outbound federation requests and want to make sure *all* outbound federation traffic goes through those instances. Before this change, the generic workers would still contact federation themselves for things like profile lookups, backfill, etc. This PR allows you to set more strict access controls/firewall for all workers and only allow the `federation_sender`'s to contact the outside world.
The original code is from @erikjohnston's branches which I've gotten in-shape to merge.
2023-07-05 18:53:55 -05:00
Eric Eastwood
561d06b481
Remove support for Python 3.7 ( #15851 )
...
Fix https://github.com/matrix-org/synapse/issues/15836
2023-07-05 18:45:42 -05:00
Erik Johnston
39d131b016
Add basic read/write lock ( #15782 )
2023-07-05 17:25:00 +01:00
Eric Eastwood
ce857c05d5
Add tracing to media /upload endpoint ( #15850 )
...
Add tracing instrumentation to media `/upload` code paths to investigate https://github.com/matrix-org/synapse/issues/15841
2023-07-05 10:22:21 -05:00
Sumner Evans
cc780b3f77
docs/admin_api: fix header level on 'Users' page ( #15852 )
...
Signed-off-by: Sumner Evans <sumner@beeper.com >
2023-07-05 16:15:56 +02:00
Jason Little
4cf9f92f39
Fix could not serialize access due to concurrent DELETE from presence_stream ( #15826 )
...
* Change update_presence to have a isolation level of READ_COMMITTED
* changelog
2023-07-05 11:44:02 +01:00
Erik Johnston
95a96b21eb
Add foreign key constraint to event_forward_extremities. ( #15751 )
2023-07-05 09:43:19 +00:00
an0nfunc
c303eca8cc
use Image.LANCZOS instead of Image.ANTIALIAS for thumbnail resize ( #15876 )
...
Image.ANTIALIAS is not defined in current pillow releases. Since ANTIALIAS was just using LANCZOS anyways, this is just a cosmetic change, but makes synapse work with most recent pillow releases.
Signed-off-by: Giovanni Harting <539@idlegandalf.com >
2023-07-05 10:52:12 +02:00
Michael Weimann
c8e81898b6
Add not_user_type param to the list accounts admin API ( #15844 )
...
Signed-off-by: Michael Weimann <michaelw@element.io >
2023-07-04 15:03:20 -07:00
Olivier Wilkinson (reivilibre)
861752b3aa
Merge branch 'master' into develop
2023-07-04 17:40:37 +01:00
Olivier Wilkinson (reivilibre)
1294d10c70
Add notes about Python 3.7 EOL
2023-07-04 16:34:41 +01:00
Olivier Wilkinson (reivilibre)
718d7dfef2
Move warning up to the top
2023-07-04 16:26:50 +01:00
Olivier Wilkinson (reivilibre)
664ba14080
1.87.0
2023-07-04 16:25:33 +01:00
Paarth Shah
649848627c
Pin pydantic to <2.0.0 ( #15862 )
...
Signed-off-by: Paarth Shah <mail@shahpaarth.com >
2023-07-04 16:22:33 +01:00
Paarth Shah
670d590f8a
Pin pydantic to <2.0.0 ( #15862 )
...
Signed-off-by: Paarth Shah <mail@shahpaarth.com >
2023-07-04 09:33:24 +02:00
pacien
07d7cbfe69
devices: use combined ANY clause for faster cleanup ( #15861 )
...
Old device entries for the same user were being removed in individual
SQL commands, making the batch take way longer than necessary.
This combines the commands into a single one with a IN/ANY clause.
Example of log entry before the change, regularly observed with
"log_min_duration_statement = 10000" in PostgreSQL's config:
LOG: duration: 42538.282 ms statement:
DELETE FROM device_lists_stream
WHERE user_id = '@someone' AND device_id = 'someid1'
AND stream_id < 123456789
;
DELETE FROM device_lists_stream
WHERE user_id = '@someone' AND device_id = 'someid2'
AND stream_id < 123456789
;
[repeated for each device ID of that user, potentially a lot...]
With the patch applied on my instance for the past couple of days, I
no longer notice overly long statements of that particular kind.
Signed-off-by: pacien <pacien.trangirard@pacien.net >
2023-07-03 16:39:38 +02:00
reivilibre
cd8b73aa97
Fix the devenv up configuration which was ignoring the config overrides. ( #15854 )
...
* Fix use of config override directory in `devenv up`
`--config-directory` is for the generate config script; `-c` is for usage
* Add homeserver config override directory to gitignore
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-07-03 11:39:52 +01:00
reivilibre
53aa26eddc
Add a timeout that aborts any Postgres statement taking more than 1 hour. ( #15853 )
...
* Add a timeout to Postgres statements
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-07-03 11:38:57 +01:00
dependabot[bot]
a587de96b8
Bump sentry-sdk from 1.25.1 to 1.26.0 ( #15867 )
...
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.25.1 to 1.26.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.25.1...1.26.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 12:34:57 +02:00
dependabot[bot]
411ba44790
Bump types-pyopenssl from 23.2.0.0 to 23.2.0.1 ( #15866 )
...
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 23.2.0.0 to 23.2.0.1.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 12:34:20 +02:00
dependabot[bot]
aea94ca8cd
Bump importlib-metadata from 6.6.0 to 6.7.0 ( #15865 )
...
Bumps [importlib-metadata](https://github.com/python/importlib_metadata ) from 6.6.0 to 6.7.0.
- [Release notes](https://github.com/python/importlib_metadata/releases )
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst )
- [Commits](https://github.com/python/importlib_metadata/compare/v6.6.0...v6.7.0 )
---
updated-dependencies:
- dependency-name: importlib-metadata
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 12:33:47 +02:00
dependabot[bot]
9345361c6b
Bump authlib from 1.2.0 to 1.2.1 ( #15864 )
...
Bumps [authlib](https://github.com/lepture/authlib ) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/lepture/authlib/releases )
- [Changelog](https://github.com/lepture/authlib/blob/master/docs/changelog.rst )
- [Commits](https://github.com/lepture/authlib/compare/v1.2.0...v1.2.1 )
---
updated-dependencies:
- dependency-name: authlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 12:33:27 +02:00
Eric Eastwood
13fc89148c
Split out 2022 changes from the changelog ( #15846 )
...
Split out 2022 changes from the changelog so the rendered version in GitHub doesn't timeout as much.
2023-06-28 15:10:33 -05:00
Eric Eastwood
10ed3e233e
Note last release with Python 3.7 support
...
See https://github.com/matrix-org/synapse/issues/15836
2023-06-27 10:34:11 -05:00
Eric Eastwood
472c2c72f6
Prepare changelog for v1.87.0rc1
2023-06-27 10:29:20 -05:00
Shay
78cfa55dad
Fix sqlite user_filters upgrade ( #15817 )
2023-06-27 09:41:42 +01:00
dependabot[bot]
14c1bfd534
Bump serde_json from 1.0.97 to 1.0.99 ( #15832 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.97 to 1.0.99.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.97...v1.0.99 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 15:36:33 +01:00
dependabot[bot]
70dc44f667
Bump towncrier from 22.12.0 to 23.6.0 ( #15831 )
...
Bumps [towncrier](https://github.com/twisted/towncrier ) from 22.12.0 to 23.6.0.
- [Release notes](https://github.com/twisted/towncrier/releases )
- [Changelog](https://github.com/twisted/towncrier/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/towncrier/compare/22.12.0...23.6.0 )
---
updated-dependencies:
- dependency-name: towncrier
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 15:36:07 +01:00
Erik Johnston
25c55a9d22
Add login spam checker API ( #15838 )
2023-06-26 14:12:20 +00:00
dependabot[bot]
52d8131e87
Bump types-opentracing from 2.4.10.4 to 2.4.10.5 ( #15830 )
...
Bumps [types-opentracing](https://github.com/python/typeshed ) from 2.4.10.4 to 2.4.10.5.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-opentracing
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 09:26:01 +01:00
dependabot[bot]
53ea381ec3
Bump ruff from 0.0.272 to 0.0.275 ( #15833 )
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.0.272 to 0.0.275.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/astral-sh/ruff/compare/v0.0.272...v0.0.275 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 09:14:20 +01:00
dependabot[bot]
6e65ca0b36
Bump types-setuptools from 67.8.0.0 to 68.0.0.0 ( #15835 )
...
Bumps [types-setuptools](https://github.com/python/typeshed ) from 67.8.0.0 to 68.0.0.0.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 09:09:57 +01:00
dependabot[bot]
d535473520
Bump cryptography from 40.0.2 to 41.0.1 ( #15800 )
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 40.0.2 to 41.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/40.0.2...41.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-22 16:32:53 +01:00
Nicolas Werner
e0c39d6bb5
Fix forgotten rooms missing in initial sync ( #15815 )
...
If you leave a room and forget it, then rejoin it, the room would be
missing from the next initial sync.
fixes #13262
Signed-off-by: Nicolas Werner <n.werner@famedly.com >
2023-06-21 14:56:31 +01:00
Erik Johnston
289ce3b8d9
Fix harmless exception in port DB script ( #15814 )
...
The port DB script would try and run database background tasks, which
could fail if the data they acted on was in the process of being ported.
These exceptions were non fatal.
Fixes #15789
2023-06-21 13:20:46 +00:00
Erik Johnston
6c749c5124
Fix typo in faster join docs ( #15812 )
...
Fixes #15756
2023-06-21 11:34:32 +01:00
Mathieu Velten
496f73103d
Allow for the configuration of max request retries and min/max retry delays in the matrix federation client ( #15783 )
2023-06-21 10:41:11 +02:00
Erik Johnston
1fcefd8f3e
Merge branch 'master' into develop
2023-06-20 18:56:18 +01:00
Mathieu Velten
7d3da399dd
1.86.0
2023-06-20 17:22:50 +02:00
Shay
6a5cf1a759
Fix Sytest environmental variable evaluation in CI ( #15804 )
2023-06-20 07:55:46 -07:00
ew-at-vier
2301a09d7a
Fix admin api documentation typo ( #15805 )
...
* Fix admin api documentation typo
Signed-off-by: Eric Wolf <eric.wolf@vier.ai >
2023-06-20 10:45:26 +00:00
Eric Eastwood
887fa4b66b
Switch from matrix:// to matrix-federation:// scheme for internal Synapse routing of outbound federation traffic ( #15806 )
...
`matrix://` is a registered specced scheme nowadays and doesn't make sense for
our internal to Synapse use case anymore. ([discussion]
(https://github.com/matrix-org/synapse/pull/15773#discussion_r1227598679 ))
2023-06-20 10:05:31 +01:00
dependabot[bot]
4ba528d9c3
Bump ijson from 3.2.0.post0 to 3.2.1 ( #15802 )
...
Bumps [ijson](https://github.com/ICRAR/ijson ) from 3.2.0.post0 to 3.2.1.
- [Changelog](https://github.com/ICRAR/ijson/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ICRAR/ijson/compare/v3.2.0.post0...v3.2.1 )
---
updated-dependencies:
- dependency-name: ijson
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 10:30:17 +01:00
dependabot[bot]
5f9d5190aa
Bump attrs from 22.2.0 to 23.1.0 ( #15801 )
...
Bumps [attrs](https://github.com/python-attrs/attrs ) from 22.2.0 to 23.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases )
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/python-attrs/attrs/compare/22.2.0...23.1.0 )
---
updated-dependencies:
- dependency-name: attrs
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 10:30:03 +01:00
dependabot[bot]
207cbe519d
Bump phonenumbers from 8.13.13 to 8.13.14 ( #15798 )
...
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.13 to 8.13.14.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.13...v8.13.14 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 10:29:10 +01:00
dependabot[bot]
d3cd9881c0
Bump ruff from 0.0.265 to 0.0.272 ( #15799 )
...
Bumps [ruff](https://github.com/charliermarsh/ruff ) from 0.0.265 to 0.0.272.
- [Release notes](https://github.com/charliermarsh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.265...v0.0.272 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 10:28:57 +01:00
dependabot[bot]
10c509425f
Bump serde_json from 1.0.96 to 1.0.97 ( #15797 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.96 to 1.0.97.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.96...v1.0.97 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 10:28:43 +01:00
Eric Eastwood
0f02f0b4da
Remove experimental MSC2716 implementation to incrementally import history into existing rooms ( #15748 )
...
Context for why we're removing the implementation:
- https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1487441010
- https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1504262734
Anyone wanting to continue MSC2716, should also address these leftover tasks: https://github.com/matrix-org/synapse/issues/10737
Closes https://github.com/matrix-org/synapse/issues/10737 in the fact that it is not longer necessary to track those things.
2023-06-16 14:12:24 -05:00
Andrew Morgan
2ac6c3bbb5
Don't always lock "user_ips" table when performing non-native upsert ( #15788 )
2023-06-16 15:25:44 +01:00
Mathieu Velten
0618bf94cd
push rules: fix internal conversion from _type to value ( #15781 )
...
Also fix wrong rule names for `is_user_mention` and `is_room_mention`.
2023-06-16 14:17:02 +02:00
Mathieu Velten
f63d4a3a65
Regularly try to wake up dests instead of waiting for next PDU/EDU ( #15743 )
2023-06-16 10:15:12 +00:00
Josh Qou
d939120421
Fix unsafe hotserving behaviour for non-multimedia uploads. ( #15680 )
...
* Fix unsafe hotserving behaviour for non-multimedia uploads.
* invert disposition assert
* test_media_storage.py: run lint
* test_base.py: /inline/attachment/s
* Only return attachment for disposition type, update tests
* Update synapse/media/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Update changelog.d/15680.bugfix
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* add attribution
* Update changelog.
---------
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-06-15 14:23:27 +01:00
Tulir Asokan
1404f68a03
Fix joining rooms through aliases where the alias server isn't a real homeserver ( #15776 )
2023-06-14 15:42:33 +01:00
Mathieu Velten
87e5df9a6e
Merge branch 'release-v1.86' into develop
2023-06-14 14:54:19 +02:00
Mathieu Velten
825c5909de
1.86.0rc2
2023-06-14 12:17:29 +02:00
Mathieu Velten
ef0d3d7bd9
Revert "Allow for the configuration of max request retries and min/max retry delays in the matrix federation client ( #12504 )"
...
This reverts commit d84e66144d .
2023-06-14 11:55:57 +02:00
Mathieu Velten
14f9d9b452
Fix empty scope when having version mismatch between workers ( #15774 )
2023-06-14 11:53:55 +02:00
Jason Little
21fea6b749
Prefill events after invalidate not before when persisting events ( #15758 )
...
Fixes #15757
2023-06-14 09:42:18 +01:00
Eric Eastwood
8ddb2de553
Document looping_call() functionality that will wait for the given function to finish before scheduling another ( #15772 )
...
Thanks to @erikjohnston for clarifying, https://github.com/matrix-org/synapse/pull/15743#discussion_r1226544457
We don't have to worry about calls stacking up if the given function takes longer than the scheduled time.
2023-06-13 16:34:54 -05:00
Shay
553f2f53e7
Replace EventContext fields prev_group and delta_ids with field state_group_deltas ( #15233 )
2023-06-13 13:22:06 -07:00
Mathieu Velten
59ec4a0dc1
Fix MSC3983 support: only one OTK per device was returned through federation ( #15770 )
2023-06-13 19:51:47 +02:00
Eric Eastwood
0757d59ec4
Avoid backfill when we already have messages to return ( #15737 )
...
We now only block the client to backfill when we see a large gap in the events (more than 2 events missing in a row according to `depth`), more than 3 single-event holes, or not enough messages to fill the response. Otherwise, we return the messages directly to the client and backfill in the background for eventual consistency sake.
Fix https://github.com/matrix-org/synapse/issues/15696
2023-06-13 12:31:08 -05:00
Patrick Cloke
df945e0d7c
Fix MSC3983 support: Use the unstable /keys/claim federation endpoint if multiple keys are requested ( #15755 )
2023-06-13 18:07:55 +02:00
Mathieu Velten
629115836f
Fix changelog typo
2023-06-13 14:38:53 +02:00
Mathieu Velten
9966eb10a3
1.86.0rc1
2023-06-13 14:30:51 +02:00
dependabot[bot]
99c850f798
Bump regex from 1.7.3 to 1.8.4 ( #15769 )
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.7.3 to 1.8.4.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.7.3...1.8.4 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 10:05:29 +01:00
dependabot[bot]
8afc9a4cda
Bump log from 0.4.18 to 0.4.19 ( #15761 )
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.18 to 0.4.19.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.18...0.4.19 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 10:05:13 +01:00
Erik Johnston
ba97b39881
Bump minimum supported Rust version ( #15768 )
...
Important crates such as `log` and `regex` have bumped theirs to 1.60.0
as well.
2023-06-12 13:27:11 +00:00
dependabot[bot]
0b104364f9
Bump pyo3-log from 0.8.1 to 0.8.2 ( #15759 )
...
Bumps [pyo3-log](https://github.com/vorner/pyo3-log ) from 0.8.1 to 0.8.2.
- [Changelog](https://github.com/vorner/pyo3-log/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vorner/pyo3-log/compare/v0.8.1...v0.8.2 )
---
updated-dependencies:
- dependency-name: pyo3-log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:22:21 +01:00
dependabot[bot]
42eb4fea1c
Bump serde from 1.0.163 to 1.0.164 ( #15760 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.163 to 1.0.164.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:21:20 +01:00
dependabot[bot]
9e321e0098
Bump pyopenssl from 23.1.1 to 23.2.0 ( #15765 )
...
Bumps [pyopenssl](https://github.com/pyca/pyopenssl ) from 23.1.1 to 23.2.0.
- [Changelog](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/pyopenssl/compare/23.1.1...23.2.0 )
---
updated-dependencies:
- dependency-name: pyopenssl
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:20:55 +01:00
dependabot[bot]
0aa731cb6f
Bump pydantic from 1.10.8 to 1.10.9 ( #15762 )
...
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 1.10.8 to 1.10.9.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.8...v1.10.9 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:19:43 +01:00
dependabot[bot]
aad7e2d0c1
Bump sentry-sdk from 1.25.0 to 1.25.1 ( #15764 )
...
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.25.0 to 1.25.1.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.25.0...1.25.1 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:19:01 +01:00
dependabot[bot]
046e7e494a
Bump phonenumbers from 8.13.11 to 8.13.13 ( #15763 )
...
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.11 to 8.13.13.
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.11...v8.13.13 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:17:40 +01:00
dependabot[bot]
4f2bd6be69
Bump types-pyopenssl from 23.1.0.2 to 23.2.0.0 ( #15766 )
...
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 23.1.0.2 to 23.2.0.0.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 09:17:04 +01:00
Eric Eastwood
fcc3ca37e1
Backfill in the background if we're doing it "just because" ( #15710 )
...
Fix https://github.com/matrix-org/synapse/issues/15702
2023-06-09 15:39:49 -05:00
Erik Johnston
373c0c7ff7
Speed up typechecking CI ( #15752 )
...
By restoring the rust cache before installing the project.
2023-06-09 15:00:30 +01:00
Shay
d84e66144d
Allow for the configuration of max request retries and min/max retry delays in the matrix federation client ( #12504 )
...
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Erik Johnston <erik@matrix.org >
2023-06-09 09:00:46 +02:00
Erik Johnston
f6321e386c
Merge branch 'master' into develop
2023-06-08 13:16:46 +01:00
Erik Johnston
b5b7bb7c0f
Merge branch 'release-v1.85'
2023-06-08 13:16:39 +01:00
Erik Johnston
ac3a70a7dd
Fix up changelog
2023-06-08 13:15:56 +01:00
Erik Johnston
c485ed1c5a
Clear event caches when we purge history ( #15609 )
...
This should help a little with #13476
---------
Co-authored-by: Patrick Cloke <patrickc@matrix.org >
2023-06-08 13:14:40 +01:00
Erik Johnston
a4921b2370
1.85.2
2023-06-08 13:04:26 +01:00
Erik Johnston
733342ad3e
Fix using TLS for replication ( #15746 )
...
Fixes #15744 .
2023-06-08 13:03:48 +01:00
David Robertson
d162aecaac
Quick & dirty metric for background update status ( #15740 )
...
* Quick & dirty metric for background update status
* Changelog
* Remove debug
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
* Actually write to _aborted
---------
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
2023-06-07 17:12:23 +00:00
Eric Eastwood
e536f02f68
Remove superfluous room_memberships join from background update ( #15733 )
...
Spawning from https://github.com/matrix-org/synapse/pull/15731
2023-06-07 11:47:01 -05:00
Eric Eastwood
195b6a298d
Remove redundant room_memberships join to find participating servers in a room ( #15732 )
...
Spawning from https://github.com/matrix-org/synapse/pull/15731
2023-06-07 11:45:16 -05:00
Grant McLean
5c24d7b9eb
Check required power levels earlier in createRoom handler. ( #15695 )
...
* Check required power levels earlier in createRoom handler.
- If a server was configured to reject the creation of rooms with E2EE
enabled (by specifying an unattainably high power level for
"m.room.encryption" in default_power_level_content_override), the 403
error was not being triggered until after the room was created and
before the "m.room.power_levels" was sent. This allowed a user to
access the partially-configured room and complete the setup of E2EE
and power levels manually.
- This change causes the power level overrides to be checked earlier and
the request to be rejected before the user gains access to the room.
- A new `_validate_room_config` method is added to contain checks that
should be run before a room is created.
- The new test case confirms that a user request is rejected by the new
validation method.
Signed-off-by: Grant McLean <grant@catalyst.net.nz >
* Add a changelog file.
* Formatting fix for black.
* Remove unneeded line from test.
---------
Signed-off-by: Grant McLean <grant@catalyst.net.nz >
2023-06-07 16:21:25 +01:00
Erik Johnston
8934c11935
Merge branch 'master' into develop
2023-06-07 14:45:19 +01:00
Erik Johnston
140a76c00f
Merge branch 'release-v1.85'
2023-06-07 14:45:09 +01:00
Erik Johnston
6cd6a2ae59
Update changelog
2023-06-07 13:07:40 +01:00
Erik Johnston
28423977be
Update changelog
2023-06-07 13:04:20 +01:00
Erik Johnston
f7c6553ebc
Fix schema delta error in 1.85 ( #15739 )
...
Some users seem to have multiple rows per user / room with a null thread
ID, which we need to handle.
2023-06-07 13:02:42 +01:00
Erik Johnston
7acf7f2f8d
1.85.1
2023-06-07 10:51:17 +01:00
Erik Johnston
a701c089fa
Fix schema delta error in 1.85 ( #15738 )
...
There appears to be a race where you can end up with entries in
`event_push_summary` with both a `NULL` and `main` thread ID.
Fixes #15736
Introduced in #15597
2023-06-07 10:50:32 +01:00
Eric Eastwood
9d911b0da6
No need for the extra join since membership is built-in to current_state_events ( #15731 )
...
This helps with the upstream `is_host_joined()` and `is_host_invited()` functions.
`membership` was added to `current_state_events` in https://github.com/matrix-org/synapse/pull/5706 and forced in https://github.com/matrix-org/synapse/pull/13745
2023-06-06 22:19:57 -05:00
Eric Eastwood
8bfded81f3
Trace functions which return Awaitable ( #15650 )
2023-06-06 17:39:22 -05:00
Eric Eastwood
4e6390cb10
Update error to more plainly explain we can only authorize our own events ( #15725 )
2023-06-06 16:26:12 -05:00
Eric Eastwood
33c3550887
Add context for when/why to use the long_retries option when sending Federation requests ( #15721 )
2023-06-06 16:25:03 -05:00
Shay
6ee96e9366
Improve performance of user directory search ( #15729 )
2023-06-06 21:16:03 +01:00
Andrew Morgan
d43c72a6c8
Prevent "twisted trunk" and "latest deps" workflows from running on forks ( #15726 )
2023-06-06 18:29:54 +00:00
Sean Quah
dfd77f426e
Remove some unused server_name fields ( #15723 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-06-06 12:32:29 +01:00
Erik Johnston
1a54953473
Merge remote-tracking branch 'origin/master' into develop
2023-06-06 10:59:20 +01:00
Erik Johnston
ad690037de
Fix link in changelog
2023-06-06 10:58:32 +01:00
Erik Johnston
07fd6d82d7
Merge branch 'master' into develop
2023-06-06 10:49:04 +01:00
Erik Johnston
ec71214243
Fixup changelog
2023-06-06 10:06:21 +01:00
Erik Johnston
564f37aca6
1.85.0
2023-06-06 09:55:42 +01:00
Patrick Cloke
f880e64b11
Stabilize support for MSC3952: Intentional mentions. ( #15520 )
2023-06-06 09:11:07 +01:00
Eric Eastwood
f9561b9e37
Some house keeping on maybe_backfill() functions ( #15709 )
2023-06-05 23:38:52 -05:00
dependabot[bot]
ca8906be2c
Bump types-requests from 2.31.0.0 to 2.31.0.1 ( #15715 )
...
Bumps [types-requests](https://github.com/python/typeshed ) from 2.31.0.0 to 2.31.0.1.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:39:34 +01:00
dependabot[bot]
2d97d5b1c3
Bump types-jsonschema from 4.17.0.7 to 4.17.0.8 ( #15716 )
...
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.7 to 4.17.0.8.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:32:25 +01:00
dependabot[bot]
1a7aa81715
Bump sentry-sdk from 1.22.1 to 1.25.0 ( #15714 )
...
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.22.1 to 1.25.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.22.1...1.25.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:32:16 +01:00
dependabot[bot]
5feabbdf06
Bump pyasn1 from 0.4.8 to 0.5.0 ( #15713 )
...
Bumps [pyasn1](https://github.com/pyasn1/pyasn1 ) from 0.4.8 to 0.5.0.
- [Release notes](https://github.com/pyasn1/pyasn1/releases )
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst )
- [Commits](https://github.com/pyasn1/pyasn1/compare/v0.4.8...v0.5.0 )
---
updated-dependencies:
- dependency-name: pyasn1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:32:07 +01:00
dependabot[bot]
36a5bcae2c
Bump library/redis from 6-bullseye to 7-bullseye in /docker ( #15712 )
...
Bumps library/redis from 6-bullseye to 7-bullseye.
---
updated-dependencies:
- dependency-name: library/redis
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:31:54 +01:00
dependabot[bot]
8ba530c0e3
Bump importlib-metadata from 6.1.0 to 6.6.0 ( #15711 )
...
Bumps [importlib-metadata](https://github.com/python/importlib_metadata ) from 6.1.0 to 6.6.0.
- [Release notes](https://github.com/python/importlib_metadata/releases )
- [Changelog](https://github.com/python/importlib_metadata/blob/main/CHANGES.rst )
- [Commits](https://github.com/python/importlib_metadata/compare/v6.1.0...v6.6.0 )
---
updated-dependencies:
- dependency-name: importlib-metadata
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 10:31:41 +01:00
Shay
d0c4257f14
N + 3: Read from column full_user_id rather than user_id of tables profiles and user_filters (#15649 )
2023-06-02 17:24:13 -07:00
Mathieu Velten
e0f2429d13
Add a catch-all * to the supported relation types when redacting ( #15705 )
...
This is an update to MSC3912 implementation
2023-06-02 13:13:50 +00:00
Eric Eastwood
30a5076da8
Log when events are (unexpectedly) filtered out of responses in tests ( #14213 )
...
See https://github.com/matrix-org/synapse/pull/14095#discussion_r990335492
This is useful because when see that a relevant event is an `outlier` or `soft-failed`, then that's a good unexpected indicator explaining why it's not showing up. `filter_events_for_client` is used in `/sync`, `/messages`, `/context` which are all common end-to-end assertion touch points (also notifications, relations).
2023-06-01 21:27:18 -05:00
H. Shay
8af29155ec
Merge branch 'release-v1.85' into develop
2023-06-01 10:26:37 -07:00
H. Shay
4c0bffaca5
1.85.0rc2
2023-06-01 09:16:35 -07:00
Erik Johnston
5ed0e8c61f
Cache requests for user's devices from federation ( #15675 )
...
This should mitigate the issue where lots of different servers requests
the same user's devices all at once.
2023-06-01 13:25:20 +00:00
Hugh Nimmo-Smith
d1693f0362
Implement stable support for MSC3882 to allow an existing device/session to generate a login token for use on a new device/session ( #15388 )
...
Implements stable support for MSC3882; this involves updating Synapse's support to
match the MSC / the spec says.
Continue to support the unstable version to allow clients to transition.
2023-06-01 08:52:51 -04:00
Patrick Cloke
a273561c22
Add a note about deprecating /register with a user property. ( #15703 )
...
Application services providing a "user" property (instead of "username") for
the /register endpoint was never specified. Deprecate this very old
fallback.
2023-06-01 08:21:37 -04:00
Shay
6d9e2fd878
Speed up background jobs populate_full_user_id_user_filters and populate_full_user_id_profiles ( #15700 )
2023-05-31 15:13:48 -07:00
Eric Eastwood
0b5f64ff09
Add Synapse version deploy annotations to Grafana dashboard ( #15674 )
...
Fix https://github.com/matrix-org/synapse/issues/15662
This manifests as purple lines that show up on all time series panels
that you can hover and see what version was deployed.
Also added a new "Deployed Synapse versions over time" panel
where the color block changes with each version. And mixed this
color block into the "Up" time series panel.
To get the Grafana dashboard JSON to copy here: use the **Share** icon at the top -> **Export** -> check the **Export for sharing externally** option -> **View JSON** or **Save to file**
2023-05-31 14:35:49 -05:00
Patrick Cloke
6f18812bb0
Add stubs package for lxml. ( #15697 )
...
The stubs have some issues so this has some generous cast
and ignores in it, but it is better than not having stubs.
Note that confusing that Element is a function which creates
_Element instances (and similarly for Comment).
2023-05-31 17:06:57 +00:00
Jason Little
874378c052
Docker fully qualified image names ( #15689 )
...
* Fully qualified docker image names for the main Dockerfile and Complement related.
* Fully qualified docker image names for Dockerfiles associated with building Debian release artifacts.
This one is harder and is separate from the other commit in case it wasn't correct or was unwanted. I decided to
do the expansion on the docker images in the Dockerfile itself, instead of the various source places that build
which distribution that is selected, as it would have been more invasive with the scripts breaking up the string
for tagging and such. This one is untested.
* Changelog
* Update docker/Dockerfile-workers
* Update docker/complement/Dockerfile
---------
Co-authored-by: reivilibre <olivier@librepush.net >
2023-05-31 15:13:31 +00:00
reivilibre
11e15d79b8
Fix a performance issue introduced in Synapse v1.83.0 which meant that purging rooms was very slow and database-intensive. ( #15693 )
...
* Add indices required to efficiently validate new foreign key constraints on stream_ordering
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-05-31 14:59:56 +01:00
Gabriel Féron
daf3a67908
Add get_canonical_room_alias to module API ( #15450 )
...
Co-authored-by: Boxdot <d@zerovolt.org >
2023-05-31 09:18:37 -04:00
Patrick Cloke
c01343de43
Add stricter mypy options ( #15694 )
...
Enable warn_unused_configs, strict_concatenate, disallow_subclassing_any,
and disallow_incomplete_defs.
2023-05-31 07:18:29 -04:00
David Robertson
6fc3deb029
Merge branch 'release-v1.85' into develop
2023-05-30 16:08:33 +01:00
Quentin Gliech
ceb3dd77db
Enforce that an admin token also has the basic Matrix API scope
2023-05-30 09:43:06 -04:00
Quentin Gliech
32a2f05004
Make the config tests spawn the homeserver only when needed
2023-05-30 09:43:06 -04:00
Quentin Gliech
f739bde962
Reject tokens with multiple device scopes
2023-05-30 09:43:06 -04:00
Quentin Gliech
98afc57d59
Make OIDC scope constants
2023-05-30 09:43:06 -04:00
Quentin Gliech
14a5be9c4d
Handle errors when introspecting tokens
...
This returns a proper 503 when the introspection endpoint is not working
for some reason, which should avoid logging out clients in those cases.
2023-05-30 09:43:06 -04:00
Quentin Gliech
ec9379d7e2
Newsfile.
2023-05-30 09:43:06 -04:00
Quentin Gliech
e343125b38
Disable incompatible Admin API endpoints
2023-05-30 09:43:06 -04:00
Quentin Gliech
4d0231b364
Make AS tokens work & allow ASes to /register
2023-05-30 09:43:06 -04:00
Quentin Gliech
c008b44b4f
Add an admin token for MAS -> Synapse calls
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
bad1f2cd35
Tests for JWKS endpoint
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
249f4a338d
Refactor config to be an experimental feature
...
Also enforce you can't combine it with incompatible config options
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
03920bdd4e
Test MSC2965 implementation: well-known discovery document
2023-05-30 09:43:06 -04:00
Quentin Gliech
31691d6151
Disable account related endpoints when using OAuth delegation
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
5fe96082d0
Actually enforce guest + return www-authenticate header
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
28a9663bdf
Initial tests for OAuth delegation
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
a1374b5c70
MSC2967: Check access token scope for use as user and add guest support
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
d20669971a
Use name claim as display name when registering users on the fly.
...
This makes is so that the `name` claim got when introspecting the token
is used as the display name when registering a user on the fly.
2023-05-30 09:43:06 -04:00
Quentin Gliech
f9cd549f64
Record the sub claims as an external_id
2023-05-30 09:43:06 -04:00
Quentin Gliech
7628dbf4e9
Handle the Synapse admin scope
2023-05-30 09:43:06 -04:00
Quentin Gliech
c5cf1b421d
Save the scopes in the requester
2023-05-30 09:43:06 -04:00
Quentin Gliech
e82ec6d008
MSC2965: OIDC Provider discovery via well-known document
2023-05-30 09:43:06 -04:00
Quentin Gliech
8f576aa462
Expose the public keys used for client authentication on an endpoint
2023-05-30 09:43:06 -04:00
Quentin Gliech
765244faee
Initial MSC3964 support: delegation of auth to OIDC server
2023-05-30 09:43:06 -04:00
Quentin Gliech
e2c8458bba
Make the api.auth.Auth a Protocol
2023-05-30 09:43:06 -04:00
Sean Quah
5d8c659373
Remove unused FederationServer.__str__ override ( #15690 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-30 14:37:39 +01:00
David Robertson
7477810cc2
fixup changelog
2023-05-30 14:33:05 +01:00
David Robertson
3389653e15
Update changelog
2023-05-30 14:18:42 +01:00
David Robertson
cebff6f4d5
Tweak release script dependabot wording
2023-05-30 14:05:44 +01:00
David Robertson
a103b874dd
1.85.0rc1
2023-05-30 14:03:22 +01:00
David Robertson
42786d8a47
Create dependabot changelogs at release time ( #15481 )
...
* Ditch dependabot changelog workflow
* Summarise dependabot commits in release script
* Changelog
* Update scripts-dev/release.py
2023-05-30 13:54:50 +01:00
dependabot[bot]
626bd75f48
Bump types-bleach from 6.0.0.1 to 6.0.0.3 ( #15686 )
...
* Bump types-bleach from 6.0.0.1 to 6.0.0.3
Bumps [types-bleach](https://github.com/python/typeshed ) from 6.0.0.1 to 6.0.0.3.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-bleach
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: David Robertson <davidr@element.io >
2023-05-30 11:13:04 +01:00
dependabot[bot]
2b6c9150dc
Bump types-requests from 2.30.0.0 to 2.31.0.0 ( #15684 )
...
* Bump types-requests from 2.30.0.0 to 2.31.0.0
Bumps [types-requests](https://github.com/python/typeshed ) from 2.30.0.0 to 2.31.0.0.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-30 11:03:58 +01:00
dependabot[bot]
04798b710d
Bump log from 0.4.17 to 0.4.18 ( #15681 )
2023-05-29 14:15:49 -04:00
dependabot[bot]
eb48b10f4f
Bump pydantic from 1.10.7 to 1.10.8 ( #15685 )
2023-05-29 14:14:58 -04:00
dependabot[bot]
ea634a9f81
Bump prometheus-client from 0.16.0 to 0.17.0 ( #15682 )
2023-05-29 14:13:40 -04:00
dependabot[bot]
4f07c2a170
Bump types-pyyaml from 6.0.12.9 to 6.0.12.10 ( #15683 )
2023-05-29 14:07:25 -04:00
Jason Little
c835befd10
Add Unix socket support for Redis connections ( #15644 )
...
Adds a new configuration setting to connect to Redis via a Unix
socket instead of over TCP. Disabled by default.
2023-05-26 15:28:39 -04:00
Travis Ralston
50918c4940
Add MSC3820opt2 as a known room version ( #15678 )
2023-05-26 18:05:24 +00:00
Grant McLean
179f0f851e
Documentation improvements to contributing guide ( #15667 ) ( #15668 )
...
Fix #15667
- Reiterate the importance of getting Rust installed and set up before attempting to install the Python dependencies.
- Mention the importance of confirming that `poetry install` completed successfully and include a typical error that the user might see if it did not.
- Expand on "Now edit homeserver.yaml" to give examples of things likely to need changing and to link to the relevant sections of the Synapse server documentation.
2023-05-26 12:28:04 -05:00
Patrick Cloke
2ad91ec628
Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15597 )
...
Updates the database schema to require a thread_id (by adding a
constraint that the column is non-null) for event_push_actions,
event_push_actions_staging, and event_push_actions_summary.
For PostgreSQL we add the constraint as NOT VALID, then
VALIDATE the constraint a background job to avoid locking
the table during an upgrade.
Each table is updated as a separate schema delta to avoid
deadlocks between them.
For SQLite we simply rebuild the table & copy the data.
2023-05-26 13:16:08 -04:00
Olivier Wilkinson (reivilibre)
a1154dfc20
Merge branch 'master' into develop
2023-05-26 17:16:15 +01:00
Olivier Wilkinson (reivilibre)
cb6f4a84a6
Fix a typographical error in changelog
2023-05-26 16:18:35 +01:00
Olivier Wilkinson (reivilibre)
65bf5f3649
1.84.1
2023-05-26 16:17:50 +01:00
reivilibre
c775d80b73
Fix a bug introduced in Synapse v1.84.0 where workers do not start up when no instance_map was provided. ( #15672 )
...
* Fix #15669 : always populate instance map even if it was empty
* Fix some tests
* Fix more tests
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* CI fix: don't forget to update apt repository sources before installing olddeps deps
* Add test testing the backwards compatibility
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-05-26 14:28:55 +00:00
Travis Ralston
4e013093a8
Add MSC3820 (room version 11) option 2 unstable room version. ( #15666 )
2023-05-26 07:46:13 -04:00
reivilibre
2d8a2ca374
Add dch and notify-send to the development Nix flake so that the release script can be used. ( #15673 )
...
* Add dch and notify-send to the Nix dev flake
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-05-26 11:53:10 +01:00
Eric Eastwood
77156a4bc1
Process previously failed backfill events in the background ( #15585 )
...
Process previously failed backfill events in the background because they are bound to fail again and we don't need to waste time holding up the request for something that is bound to fail again.
Fix https://github.com/matrix-org/synapse/issues/13623
Follow-up to https://github.com/matrix-org/synapse/issues/13621 and https://github.com/matrix-org/synapse/issues/13622
Part of making `/messages` faster: https://github.com/matrix-org/synapse/issues/13356
2023-05-24 23:22:24 -05:00
Shay
8839b6c2f8
Add requesting user id parameter to key claim methods in TransportLayerClient ( #15663 )
2023-05-24 13:23:26 -07:00
Patrick Cloke
ca5c4be921
Add type hints to test_descriptors. ( #15659 )
...
Require type hints in test_descriptors and add missing ones.
2023-05-24 14:18:52 +00:00
Erik Johnston
c7e9c1d5ae
Speed up user directory rebuild for users some more... ( #15665 )
2023-05-24 14:13:28 +00:00
Patrick Cloke
1f55c04cbc
Improve type hints for cached decorator. ( #15658 )
...
The cached decorators always return a Deferred, which was not
properly propagated. It was close enough when wrapping coroutines,
but failed if a bare function was wrapped.
2023-05-24 12:59:31 +00:00
Eric Eastwood
379eb2d7ab
Fix @trace not wrapping some state methods that return coroutines correctly ( #15647 )
...
```
2023-05-21 09:30:09,288 - synapse.logging.opentracing - 940 - ERROR - POST-1 - @trace may not have wrapped StateStorageController.get_state_for_groups correctly! The function is not async but returned a coroutine
```
Tracing instrumentation for these functions originally introduced in https://github.com/matrix-org/synapse/pull/15610
2023-05-23 12:26:25 -05:00
Patrick Cloke
7c9b91790c
Consolidate logic to check for deactivated users. ( #15634 )
...
This moves the deactivated user check to the method which
all login types call.
Additionally updates the application service tests to be more
realistic by removing invalid tests and fixing server names.
2023-05-23 10:35:43 -04:00
Jason Little
1df0221bda
Use a custom scheme & the worker name for replication requests. ( #15578 )
...
All the information needed is already in the `instance_map`, so
use that instead of passing the hostname / IP & port manually
for each replication request.
This consolidates logic for future improvements of using e.g.
UNIX sockets for workers.
2023-05-23 09:05:30 -04:00
Olivier Wilkinson (reivilibre)
5b18a217ca
Merge branch 'master' into develop
2023-05-23 13:27:31 +01:00
dependabot[bot]
03042e435b
Bump requests from 2.28.2 to 2.31.0 ( #15651 )
2023-05-23 07:28:51 -04:00
Olivier Wilkinson (reivilibre)
5cae9158e6
Tweak changelog and upgrade notes
2023-05-23 11:13:38 +01:00
Olivier Wilkinson (reivilibre)
ea6fcda98d
Tweak changelog
2023-05-23 11:03:06 +01:00
Olivier Wilkinson (reivilibre)
11ff4884e7
1.84.0
2023-05-23 10:57:39 +01:00
Eric Eastwood
1903c7e5ed
Remove duplicate timestamp from test logs (_trial_temp/test.log) ( #15636 )
...
Fix https://github.com/matrix-org/synapse/issues/15618
### Before
```
2023-05-17 22:51:36-0500 [-] 2023-05-17 22:51:36,889 - synapse.server - 338 - INFO - sentinel - Finished setting up.
```
### After
```
2023-05-19 18:16:20-0500 [-] synapse.server - 338 - INFO - sentinel - Finished setting up.
```
### Dev notes
The `Twisted.Logger` controls the `2023-05-19 18:16:20-0500 [-]` prefix, see : [`twisted/twisted` -> `src/twisted/logger/_format.py#L362-L374`](34b161e66b/src/twisted/logger/_format.py (L362-L374) )
And we delegate our logs to the Twisted Logger for the tests which puts it in `_trial_temp/test.log`
2023-05-22 13:49:01 -05:00
Andrew Morgan
737f7ddf58
Remove outdated comment in log config ( #15648 )
2023-05-22 17:58:58 +00:00
Patrick Cloke
c5d1e6d414
Properly parse event_fields in filters ( #15607 )
...
The event_fields property in filters should use the proper
escape rules, namely backslashes can be escaped with
an additional backslash.
This adds tests (adapted from matrix-js-sdk) and implements
the logic to properly split the event_fields strings.
2023-05-22 11:31:22 -04:00
dependabot[bot]
201597fc86
Bump pygithub from 1.58.1 to 1.58.2 ( #15643 )
...
* Bump pygithub from 1.58.1 to 1.58.2
Bumps [pygithub](https://github.com/pygithub/pygithub ) from 1.58.1 to 1.58.2.
- [Release notes](https://github.com/pygithub/pygithub/releases )
- [Changelog](https://github.com/PyGithub/PyGithub/blob/v1.58.2/doc/changes.rst )
- [Commits](https://github.com/pygithub/pygithub/compare/v1.58.1...v1.58.2 )
---
updated-dependencies:
- dependency-name: pygithub
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-22 15:39:19 +01:00
Sean Quah
cc53c96bf8
Limit the size of the HomeServerConfig cache in trial test runs ( #15646 )
...
...to try to control memory usage. `HomeServerConfig`s hold on to
many Jinja2 objects, which come out to over 0.5 MiB per config.
Over the course of a full test run, the cache grows to ~360 entries.
Limit it to 8 entries.
Part of #15622 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-22 13:25:39 +01:00
dependabot[bot]
a47b2065f0
Bump furo from 2023.3.27 to 2023.5.20 ( #15642 )
...
* Bump furo from 2023.3.27 to 2023.5.20
Bumps [furo](https://github.com/pradyunsg/furo ) from 2023.3.27 to 2023.5.20.
- [Release notes](https://github.com/pradyunsg/furo/releases )
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md )
- [Commits](https://github.com/pradyunsg/furo/compare/2023.03.27...2023.05.20 )
---
updated-dependencies:
- dependency-name: furo
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-22 12:12:59 +01:00
dependabot[bot]
875015d512
Bump sphinx from 6.1.3 to 6.2.1 ( #15641 )
...
* Bump sphinx from 6.1.3 to 6.2.1
Bumps [sphinx](https://github.com/sphinx-doc/sphinx ) from 6.1.3 to 6.2.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v6.1.3...v6.2.1 )
---
updated-dependencies:
- dependency-name: sphinx
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-22 10:38:08 +01:00
dependabot[bot]
8516001566
Bump types-pillow from 9.5.0.2 to 9.5.0.4 ( #15640 )
...
* Bump types-pillow from 9.5.0.2 to 9.5.0.4
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.5.0.2 to 9.5.0.4.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-22 10:38:01 +01:00
dependabot[bot]
adae1cfc8c
Bump types-setuptools from 67.7.0.2 to 67.8.0.0 ( #15639 )
...
* Bump types-setuptools from 67.7.0.2 to 67.8.0.0
Bumps [types-setuptools](https://github.com/python/typeshed ) from 67.7.0.2 to 67.8.0.0.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-22 10:37:50 +01:00
Eric Eastwood
703a8f9c67
Instrument state and state_group storage related things (tracing) ( #15610 )
...
Instrument `state` and `state_group` storage related things (tracing) so it's a little more clear where these database transactions are coming from as there is a lot of wires crossing in these functions.
Part of `/messages` performance investigation: https://github.com/matrix-org/synapse/issues/13356
2023-05-19 12:26:58 -05:00
Eric Eastwood
ca3c07e833
Trace how many new events from the backfill response we need to process ( #15633 )
...
You can kinda derive this information from how many `_process_pulled_event` spans there are but it would be nice to quickly glance.
2023-05-19 11:18:45 -05:00
reivilibre
736199b763
Remove old R30 because R30v2 supercedes it ( #10428 )
...
R30v2 has been out since 2021-07-19 (https://github.com/matrix-org/synapse/pull/10332 )
and we started collecting stats on 2021-08-16. Since it's been over a year now
(almost 2 years), this is enough grace period for us to now rip it out.
2023-05-19 11:13:44 -05:00
Patrick Cloke
1e89976b26
Rename blacklist/whitelist internally. ( #15620 )
...
Avoid renaming configuration settings for now and rename internal code
to use blocklist and allowlist instead.
2023-05-19 12:25:25 +00:00
Patrick Cloke
89a23c9406
Do not allow deactivated users to login with JWT. ( #15624 )
...
To improve the organization of this code it moves the JWT login
checks to a separate handler and then fixes the bug (and a
deprecation warning).
2023-05-19 08:06:54 -04:00
Patrick Cloke
07771fa487
Remove experimental configuration flags & unstable values for faster joins ( #15625 )
...
Synapse will no longer send (or respond to) the unstable flags
for faster joins. These were only available behind a configuration
flag and handled in parallel with the stable flags.
2023-05-19 07:23:09 -04:00
Sean Quah
d0de452d12
Fix HomeServers leaking during trial test runs ( #15630 )
...
This change fixes two memory leaks during `trial` test runs.
Garbage collection is disabled during each test case and a gen-0 GC is
run at the end of each test. However, when the gen-0 GC is run, the
`TestCase` object usually still holds references to the `HomeServer`
used during the test. As a result, the `HomeServer` gets promoted to
gen-1 and then never garbage collected.
Fix this by periodically running full GCs.
Additionally, fix `HomeServer`s leaking after tests that touch inbound
federation due to `FederationRateLimiter`s adding themselves to a global
set, by turning the set into a `WeakSet`.
Resolves #15622 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-19 11:17:12 +01:00
Nick Mills-Barrett
ad50510a06
Handle missing previous read marker event. ( #15464 )
...
If the previous read marker is pointing to an event that no longer exists
(e.g. due to retention) then assume that the newly given read marker
is newer.
2023-05-18 14:37:31 -04:00
Jonathan de Jong
e5b4d93770
Update Mutual Rooms (MSC2666) implementation ( #15621 )
...
To track changes in MSC2666:
- The change from `/mutual_rooms/{user_id}` to `/mutual_rooms?user_id={user_id}`.
- The addition of `next_batch_token` (and logic).
- Unstable flag now being `uk.half-shot.msc2666.query_mutual_rooms`.
- The error code when your own user is requested.
2023-05-18 12:49:12 -04:00
Patrick Cloke
5dc1f25c53
Fix olddeps build ( #15626 )
...
Do an `apt update` before install packages.
2023-05-18 10:53:57 -04:00
axel simon
4ec40b16ac
flake.nix: start synapse automatically, add space usage warning ( #15613 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2023-05-18 15:44:28 +01:00
Sean Quah
68dcd2cbcb
Re-type config paths in ConfigErrors to be StrSequences ( #15615 )
...
Part of #14809 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-18 11:11:30 +01:00
Sean Quah
e15aa00bc0
Fix error message when app_service_config_files validation fails ( #15614 )
...
The second argument of `ConfigError` is a path, passed as an optional
`Iterable[str]` and not a `str`. If a string is passed directly,
Synapse unhelpfully emits "Error in configuration at
a.p.p._.s.e.r.v.i.c.e._.c.o.n.f.i.g._.f.i.l.e.s'" when the config
option has the wrong data type.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-18 10:58:13 +01:00
Quentin Gliech
41b9def9f2
Add a new admin API to create a new device for a user. ( #15611 )
...
This allows an external service (e.g. the matrix-authentication-service)
to create devices for users.
2023-05-17 14:39:06 +00:00
Patrick Cloke
4ee82c0576
Apply url_preview_url_blacklist to oEmbed and pre-cached images ( #15601 )
...
There are two situations which were previously not properly checked:
1. If the requested URL was replaced with an oEmbed URL, then the
oEmbed URL was not checked against url_preview_url_blacklist.
2. Follow-up URLs (either via autodiscovery of oEmbed or to pre-cache
images) were not checked against url_preview_url_blacklist.
2023-05-16 16:25:01 -04:00
Patrick Cloke
375b0a8a11
Update code to refer to "workers". ( #15606 )
...
A bunch of comments and variables are out of date and use
obsolete terms.
2023-05-16 15:56:38 -04:00
Eric Eastwood
7148c2a0d6
Run mypy type checking with the minimum supported Python version ( #15602 )
...
We use the oldest Python version because later Python versions can include some overloads which don't work in the older versions which we still support.
We're using Python 3.8 instead of 3.7 which is our actual minimum support version because it's EOL is in a matter of weeks so can avoid the extra effort. And in any case, minimum Python 3.8 support is better than winging it on Python 3.11.
2023-05-16 13:27:47 -05:00
Shay
9f6ff6a0eb
Add not null constraint to column full_user_id of tables profiles and user_filters ( #15537 )
2023-05-16 10:57:39 -07:00
Eric Eastwood
77cda342be
traceback.format_exception(...) usage that is compatible with Python 3.7 and 3.11 (#15599 )
...
* Usage that is compatible with Python 3.8 and 3.11
> Since Python 3.10, instead of passing value and tb, an exception object can
be passed as the first argument. If value and tb are provided, the first
argument is ignored in order to provide backwards compatibility.
>
> -- https://docs.python.org/3/library/traceback.html
* Add changelog
2023-05-16 12:33:18 -05:00
Eric Eastwood
c51d2e6199
Fix subscriptable type usage in Python <3.9 ( #15604 )
...
Fix the following `mypy` errors when running `mypy` with Python 3.7:
```
synapse/storage/controllers/stats.py:58: error: "Counter" is not subscriptable, use "typing.Counter" instead [misc]
tests/test_state.py:267: error: "dict" is not subscriptable, use "typing.Dict" instead [misc]
```
Part of https://github.com/matrix-org/synapse/issues/15603
In Python 3.9, `typing` is deprecated and the types are subscriptable (generics) by default, https://peps.python.org/pep-0585/#implementation
2023-05-16 12:19:46 -05:00
Eric Eastwood
b6a7d49b6f
traceback.format_exception(...) usage that is compatible with Python 3.7 and 3.11 (#15599 )
...
* Usage that is compatible with Python 3.8 and 3.11
> Since Python 3.10, instead of passing value and tb, an exception object can
be passed as the first argument. If value and tb are provided, the first
argument is ignored in order to provide backwards compatibility.
>
> -- https://docs.python.org/3/library/traceback.html
* Add changelog
2023-05-16 14:56:42 +01:00
Olivier Wilkinson (reivilibre)
0ccfb9318c
Tweak changelog
2023-05-16 11:57:29 +01:00
Olivier Wilkinson (reivilibre)
3ec9f3b0cc
1.84.0rc1
2023-05-16 11:23:05 +01:00
Eric Eastwood
c97198ee14
Revert "Fix subscriptable dict type"
...
This reverts commit 55b08534a4 .
2023-05-15 17:44:26 -05:00
Eric Eastwood
55b08534a4
Fix subscriptable dict type
...
Fix:
```
tests/test_state.py:267: error: "dict" is not subscriptable, use "typing.Dict" instead [misc]
```
In Python 3.9, `typing` is deprecated and the types are subscriptable (generics) by default,
https://peps.python.org/pep-0585/#implementation
2023-05-15 17:40:10 -05:00
Shay
ba572647b2
Export run_as_background_process from the module API ( #15577 )
2023-05-15 13:11:21 -07:00
Patrick Cloke
f2905d827f
Implement MSC3821 to update redaction rules (third_party_invite.signed) ( #15563 )
...
Updates the redaction rules to protect enough information that the
event can still be properly verified.
2023-05-15 15:02:24 -04:00
Patrick Cloke
eb3c1823d8
Reject instead of erroring on invalid membership events. ( #15564 )
...
Instead of resulting in an internal server error for invalid events,
return that the event is invalid.
2023-05-15 15:01:29 -04:00
Patrick Cloke
ba6b21c81e
Implement MSC3389 to protect relations from redaction. ( #15565 )
...
MSC3389 proposes protecting the relation type & parent event ID
from redaction. This keeps the relation information intact after
redaction which helps with some UX flaws (e.g. deleting an
event causes it to no longer be in a thread, which is confusing).
2023-05-15 12:58:09 +00:00
Mathieu Velten
8583346335
Revert "Bump pillow from 9.4.0 to 9.5.0 ( #15593 )"
...
This reverts commit 34ab801379 .
2023-05-15 14:22:07 +02:00
icp
b3ada9bfb4
Allow poetry-core 1.6.0 ( #15588 )
2023-05-15 11:19:11 +02:00
villepeh
aa5c0592e7
Update Mastodon SSO instructions ( #15587 )
2023-05-15 11:17:24 +02:00
Michael Weimann
3690d5bd89
Add an unstable feature flag for MSC3981 to the /versions endpoint ( #15558 )
...
Signed-off-by: Michael Weimann <michaelw@matrix.org >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-05-15 10:54:49 +02:00
dependabot[bot]
7b6c9f4c04
Bump phonenumbers from 8.13.7 to 8.13.11 ( #15590 )
2023-05-15 10:45:34 +02:00
dependabot[bot]
2e8a2bda52
Bump types-psycopg2 from 2.9.21.9 to 2.9.21.10 ( #15591 )
2023-05-15 10:45:15 +02:00
dependabot[bot]
3fd8eb81de
Bump types-commonmark from 0.9.2.2 to 0.9.2.3 ( #15592 )
2023-05-15 10:44:47 +02:00
dependabot[bot]
1b4782a37d
Bump types-setuptools from 67.7.0.1 to 67.7.0.2 ( #15594 )
2023-05-15 10:44:31 +02:00
dependabot[bot]
34ab801379
Bump pillow from 9.4.0 to 9.5.0 ( #15593 )
2023-05-15 10:44:06 +02:00
dependabot[bot]
bcd2495469
Bump serde from 1.0.162 to 1.0.163 ( #15589 )
2023-05-15 10:42:51 +02:00
Patrick Cloke
def480442d
Declare support for Matrix 1.6 ( #15559 )
...
Adds logging for key server requests which include a key ID.
This is technically in violation of the 1.6 spec, but is the only
way to remain backwards compatibly with earlier versions of
Synapse (and possibly other homeservers) which *did* include
the key ID.
2023-05-12 07:31:50 -04:00
Erik Johnston
808105bd31
Revert "Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15437 )" ( #15580 )
...
This reverts commit a7b3e9ce65 .
2023-05-12 11:38:16 +01:00
David Robertson
c96a1d2a27
Relax poetry-core lower bound to 1.1.0 ( #15571 )
...
See https://github.com/matrix-org/synapse/pull/15566#issuecomment-1543844104
Also check you can `pip install` in the old-deps CI job
2023-05-12 11:21:11 +01:00
helix-loop
08297f2f18
Add pkg-config package to Stage 0 ( #15567 )
2023-05-12 11:32:09 +02:00
David Robertson
7c76514f1e
Deal with more GHA deprecations ( #15576 )
...
* Bump netlify PR
* Manually cache mypy cache dir
cache cache cache cache cache cache cache cache cache cache
* Changelog
2023-05-11 18:24:32 +00:00
Eric Eastwood
d19d1edbcf
Print full startup/initialization error ( #15569 )
...
I found the error in the **Before** really vague and obtuse and didn't realize port `5432` corresponded to the Postgres port until searching the codebase. It says to check the logs but that wasn't my first instinct. It's just more obvious if we just print the full thing which gives context of the error type and the traceback to the relevant area of code.
#### Before
```
$ poetry run python -m synapse.app.homeserver -c homeserver.yaml
**********************************************************************************
Error during initialisation:
connection to server at "localhost" (::1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
There may be more information in the logs.
**********************************************************************************
```
#### After
```sh
$ poetry run python -m synapse.app.homeserver -c homeserver.yaml
**********************************************************************************
Error during initialisation:
Traceback (most recent call last):
File "/home/eric/Documents/github/element/synapse/synapse/app/homeserver.py", line 352, in setup
hs.setup()
File "/home/eric/Documents/github/element/synapse/synapse/server.py", line 337, in setup
self.datastores = Databases(self.DATASTORE_CLASS, self)
File "/home/eric/Documents/github/element/synapse/synapse/storage/databases/__init__.py", line 65, in __init__
with make_conn(database_config, engine, "startup") as db_conn:
File "/home/eric/Documents/github/element/synapse/synapse/storage/database.py", line 161, in make_conn
native_db_conn = engine.module.connect(**db_params)
File "/home/eric/.cache/pypoetry/virtualenvs/matrix-synapse-xCtC9ulO-py3.10/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
There may be more information in the logs.
**********************************************************************************
```
2023-05-11 11:50:46 -05:00
David Robertson
5a7742a833
Allow pip install to use setuptools_rust 1.6.0 ( #15570 )
...
* Allow `pip install` to use setuptools_rust 1.6.0
This was bumped by dependabot in #15512 , but we didn't bump also raise
the version guard here. I don't know how we can avoid this happening in
the future.
Closes #15461 .
Spotted in [1] by @landryb.
[1]: https://github.com/matrix-org/synapse/issues/15461#issuecomment-1543513934
* Changelog
2023-05-11 16:22:47 +00:00
Roel ter Maat
2611433b70
Add redis SSL configuration options ( #15312 )
...
* Add SSL options to redis config
* fix lint issues
* Add documentation and changelog file
* add missing . at the end of the changelog
* Move client context factory to new file
* Rename ssl to tls and fix typo
* fix lint issues
* Added when redis attributes were added
2023-05-11 13:02:51 +01:00
V02460
5bf9ec9e3e
Require at least poetry-core v1.2.0 ( #15566 )
...
Signed-off-by: Kai A. Hiller <V02460@gmail.com >
2023-05-11 12:40:55 +01:00
Jason Little
e4f545c452
Remove worker_replication_* settings ( #15491 )
...
* Add master to the instance_map as part of Complement, have ReplicationEndpoint look at instance_map for master.
* Fix typo in drive by.
* Remove unnecessary worker_replication_* bits from unit tests and add master to instance_map(hopefully in the right place)
* Several updates:
1. Switch from master to main for naming the main process in the instance_map. Add useful constants for easier adjustment of names in the future.
2. Add backwards compatibility for worker_replication_* to allow time to transition to new style. Make sure to prioritize declaring main directly on the instance_map.
3. Clean up old comments/commented out code.
4. Adjust unit tests to match with new code.
5. Adjust Complement setup infrastructure to only add main to the instance_map if workers are used and remove now unused options from the worker.yaml template.
* Initial Docs upload
* Changelog
* Missed some commented out code that can go now
* Remove TODO comment that no longer holds true.
* Fix links in docs
* More docs
* Remove debug logging
* Apply suggestions from code review
Co-authored-by: reivilibre <olivier@librepush.net >
* Apply suggestions from code review
Co-authored-by: reivilibre <olivier@librepush.net >
* Update version to latest, include completeish before/after examples in upgrade notes.
* Fix up and docs too
---------
Co-authored-by: reivilibre <olivier@librepush.net >
2023-05-11 11:30:56 +01:00
Andrew Morgan
722ccc30b5
Add an unstable feature flag for MSC3391 to the /versions endpoint ( #15562 )
2023-05-11 10:38:32 +01:00
Reto Schneider
7e6ad62c49
Fix documented path to largest rooms statistics endpoint. ( #15560 )
2023-05-10 13:00:27 +00:00
Tulir Asokan
86d541f37c
Stabilize MSC2659 support for AS ping endpoint. ( #15528 )
2023-05-09 15:02:36 -04:00
Jason Little
d3bd03559b
HTTP Replication Client ( #15470 )
...
Separate out a HTTP client for replication in preparation for
also supporting using UNIX sockets. The major difference from
the base class is that this does not use treq to handle HTTP
requests.
2023-05-09 14:25:20 -04:00
Travis Ralston
ab4535b608
Add config option to prevent media downloads from listed domains. ( #15197 )
...
This stops media (and thumbnails) from being accessed from the
listed domains. It does not delete any already locally cached media,
but will prevent accessing it.
Note that admin APIs are unaffected by this change.
2023-05-09 14:08:51 -04:00
Mathieu Velten
266d287165
Merge branch 'master' into develop
2023-05-09 19:42:57 +02:00
Mathieu Velten
64a11fb61f
1.83.0
2023-05-09 18:13:48 +02:00
Patrick Cloke
4b4e0dc3ce
Error if attempting to set m.push_rules account data, per MSC4010. ( #15555 )
...
m.push_rules, like m.fully_read, is a special account data type that cannot
be set using the normal /account_data endpoint. Return an error instead
of allowing data that will not be used to be stored.
2023-05-09 10:34:10 -04:00
Patrick Cloke
2bfe3f0b81
Use account data constants in more places. ( #15554 )
2023-05-09 07:23:27 -04:00
dependabot[bot]
6b7da31221
Bump hiredis from 2.2.2 to 2.2.3 ( #15552 )
2023-05-08 07:57:40 -04:00
dependabot[bot]
58a07f0c3f
Bump serde from 1.0.160 to 1.0.162 ( #15548 )
2023-05-08 07:56:14 -04:00
dependabot[bot]
058c6269f3
Bump serde from 1.0.160 to 1.0.162 ( #15548 )
2023-05-08 07:29:55 -04:00
dependabot[bot]
0a18aa236d
Bump sentry-sdk from 1.19.1 to 1.22.1 ( #15550 )
2023-05-08 07:15:22 -04:00
dependabot[bot]
db093df5eb
Bump types-setuptools from 67.6.0.5 to 67.7.0.1 ( #15549 )
2023-05-08 07:15:10 -04:00
dependabot[bot]
245d34bdcc
Bump ruff from 0.0.259 to 0.0.265 ( #15551 )
2023-05-08 07:14:52 -04:00
dependabot[bot]
9a87895b59
Bump types-requests from 2.29.0.0 to 2.30.0.0 ( #15553 )
2023-05-08 07:13:47 -04:00
Patrick Cloke
28bceef84e
Check appservices for devices during a /user/devices query. ( #15539 )
...
MSC3984 proxies /keys/query requests to appservices, but servers will
can also requests devices / keys from the /user/devices endpoint.
The formats are close enough that we can "proxy" that /user/devices to
appservices (by calling /keys/query) and then change the format of the
returned data before returning it over federation.
2023-05-05 15:18:47 -04:00
Patrick Cloke
36df9c5e36
Implement MSC4009 to widen the allowed Matrix ID grammar ( #15536 )
...
Behind a configuration flag this adds + to the list of allowed
characters in Matrix IDs. The main feature this enables is
using full E.164 phone numbers as Matrix IDs.
2023-05-05 12:13:50 -04:00
Zdziszek
a0f53afd62
Handle DNSNotImplementedError in SRV resolver ( #15523 )
...
Signed-off-by: Zdzichu <zdzichu.rks@protonmail.com >
2023-05-05 15:54:32 +01:00
Andrew Morgan
ad141efb47
Add mdbook to flake.nix ( #15545 )
2023-05-05 15:51:58 +01:00
Andrew Morgan
7c95b65873
Clean up and clarify "Create or modify Account" Admin API documentation ( #15544 )
2023-05-05 15:51:46 +01:00
Sean Quah
e46d5f3586
Factor out an is_mine_server_name method ( #15542 )
...
Add an `is_mine_server_name` method, similar to `is_mine_id`.
Ideally we would use this consistently, instead of sometimes comparing
against `hs.hostname` and other times reaching into
`hs.config.server.server_name`.
Also fix a bug in the tests where `hs.hostname` would sometimes differ
from `hs.config.server.server_name`.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-05 15:06:22 +01:00
Andrew Morgan
83e7fa5eee
Allow running Complement integration tests via podman ( #15543 )
2023-05-05 13:27:51 +01:00
Andrew Morgan
2e59e97ebd
Move ThirdPartyEventRules into module_api/callbacks ( #15535 )
2023-05-04 14:18:22 +00:00
Patrick Cloke
ded8f3d349
Update the base rules to remove the dont_notify action. (MSC3987) ( #15534 )
...
A dont_notify action is a no-op (and coalesce is undefined). These are
both considered no-ops by the spec, per MSC3987 and the predefined
push rules were updated to remove dont_notify from the list of actions.
2023-05-04 11:54:13 +00:00
dependabot[bot]
cc872eaf16
Bump pyicu from 2.10.2 to 2.11 ( #15509 )
...
* Bump pyicu from 2.10.2 to 2.11
Bumps [pyicu](https://gitlab.pyicu.org/main/pyicu ) from 2.10.2 to 2.11.
---
updated-dependencies:
- dependency-name: pyicu
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-05-03 23:45:42 +01:00
Sandro
5f8822854d
Use oEmbed for YouTube Shorts ( #15025 )
...
It seems that YouTube Short previews do not work in some
regions, but the oEmbed information for those areas is still
valid.
This causes YouTube Shorts to always use (only) the oEmbed
endpoint which is a minor regression for regions where the URL
preview was already working -- some of the additional video
metadata is lost. It is not likely that clients are using this today
and it is more beneficial to have a limited preview working everywhere
than unused metadata in the Open Graph response.
2023-05-03 12:54:42 -04:00
Andrew Morgan
1d6140ec8a
Add xmlsec package to flake.nix ( #15532 )
2023-05-03 16:26:15 +01:00
Andrew Morgan
7be05df0b1
Switch back to upstream devenv flake ( #15533 )
2023-05-03 14:40:10 +00:00
Sean Quah
8aee823393
Merge branch 'release-v1.83' into develop
2023-05-03 15:23:16 +01:00
Erik Johnston
28ac1a1a91
Speed up deleting of old rows in event_push_actions ( #15531 )
...
Enforce that we use index scans (rather than seq scans), which we also do for state queries. The reason to enforce this is that we can't correctly get PostgreSQL to understand the distribution of `stream_ordering` depends on `highlight`, and so it always defaults (on matrix.org) to sequential scans.
2023-05-03 13:42:43 +00:00
Erik Johnston
fc3a878220
Speed up rebuilding of the user directory for local users ( #15529 )
...
The idea here is to batch up the work.
2023-05-03 13:41:37 +00:00
Sean Quah
3b837d856c
Revert "Reduce the size of the HTTP connection pool for non-pushers" ( #15530 )
...
#15514 introduced a regression where Synapse would encounter
`PartialDownloadError`s when fetching OpenID metadata for certain
providers on startup. Due to #8088 , this prevents Synapse from starting
entirely.
Revert the change while we decide what to do about the regression.
2023-05-03 13:09:20 +01:00
Andrew Morgan
9890f23469
Suppress the trusted key server warning for matrix.org in the demo scripts ( #15527 )
2023-05-03 12:07:49 +00:00
Patrick Cloke
a7b3e9ce65
Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15437 )
...
Updates the database schema to require a thread_id (by adding a
constraint that the column is non-null) for event_push_actions,
event_push_actions_staging, and event_push_actions_summary.
For PostgreSQL we add the constraint as NOT VALID, then
VALIDATE the constraint a background job to avoid locking
the table during an upgrade.
For SQLite we simply rebuild the table & copy the data.
2023-05-03 07:49:03 -04:00
Sean Quah
04e79e6a18
Add config option to forget rooms automatically when users leave them ( #15224 )
...
This is largely based off the stats and user directory updater code.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-05-03 12:27:33 +01:00
Shay
0e8aa2a1b2
Remove references to supporting per-user flag for msc2654 ( #15522 )
2023-05-02 14:21:36 -07:00
Erik Johnston
4de271a7fc
Allow adding random delay to push ( #15516 )
...
This is to discourage timing based profiling on the push gateways.
2023-05-02 16:45:44 +00:00
Sean Quah
1c0e98717b
Update CHANGES.md
2023-05-02 16:14:20 +01:00
Sean Quah
ca6bda2f57
Update CHANGES.md
2023-05-02 16:13:29 +01:00
Sean Quah
60d59af300
Fix up docs summary to include new experimental features admin API docs
2023-05-02 16:12:50 +01:00
Sean Quah
7b41966be9
1.83.0rc1
2023-05-02 15:56:50 +01:00
Patrick Cloke
6aca4e7cb8
Reduce the size of the HTTP connection pool for non-pushers. ( #15514 )
...
Pushers tend to make many connections to the same HTTP host
(e.g. a new event comes in, causes events to be pushed, and then
the homeserver connects to the same host many times). Due to this
the per-host HTTP connection pool size was increased, but this does
not make sense for other SimpleHttpClients.
Add a parameter for the connection pool and override it for pushers
(making a separate SimpleHttpClient for pushers with the increased
configuration).
This returns the HTTP connection pool settings to the default Twisted
ones for non-pusher HTTP clients.
2023-05-02 09:29:40 -04:00
Patrick Cloke
07b1c70d6b
Initial implementation of MSC3981: recursive relations API ( #15315 )
...
Adds an optional keyword argument to the /relations API which
will recurse a limited number of event relationships.
This will cause the API to return not just the events related to the
parent event, but also events related to those related to the parent
event, etc.
This is disabled by default behind an experimental configuration
flag and is currently implemented using prefixed parameters.
2023-05-02 07:59:55 -04:00
dependabot[bot]
3b853b18b5
Bump anyhow from 1.0.70 to 1.0.71 ( #15507 )
2023-05-01 11:34:01 -04:00
dependabot[bot]
0da7cceae9
Bump setuptools-rust from 1.5.2 to 1.6.0 ( #15512 )
2023-05-01 08:27:29 -04:00
dependabot[bot]
fcc943d552
Bump packaging from 23.0 to 23.1 ( #15510 )
2023-05-01 08:01:46 -04:00
dependabot[bot]
229fe1d197
Bump types-requests from 2.28.11.16 to 2.29.0.0 ( #15511 )
2023-05-01 07:52:38 -04:00
dependabot[bot]
1046184f35
Bump types-pillow from 9.4.0.19 to 9.5.0.2 ( #15508 )
...
* Bump types-pillow from 9.4.0.19 to 9.5.0.2
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.4.0.19 to 9.5.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
2023-05-01 07:26:00 -04:00
Shay
89f6fb0d5a
Add an admin API endpoint to support per-user feature flags ( #15344 )
2023-04-28 11:33:45 -07:00
Shay
eb6f8dc215
Update development docs referencing outdated versions of sqlite we no longer support ( #15498 )
2023-04-28 10:59:00 -07:00
Patrick Cloke
57aeeb308b
Add support for claiming multiple OTKs at once. ( #15468 )
...
MSC3983 provides a way to request multiple OTKs at once from appservices,
this extends this concept to the Client-Server API.
Note that this will likely be spit out into a separate MSC, but is currently part of
MSC3983.
2023-04-27 12:57:46 -04:00
Patrick Cloke
6efa674004
Add type hints to schema deltas ( #15497 )
...
Cleans-up the schema delta files:
* Removes no-op functions.
* Adds missing type hints to function parameters.
* Fixes any issues with type hints.
This also renames one (very old) schema delta to avoid a conflict
that mypy complains about.
2023-04-27 12:44:53 +00:00
Patrick Cloke
a346b43837
Check databases/__init__ and main/cache with mypy. ( #15496 )
2023-04-27 07:59:14 -04:00
Andrew Morgan
6b2f2bd276
Add a nix flake that sets up a development environment (via devenv) ( #15495 )
2023-04-27 11:33:54 +01:00
mcalinghee
486c059479
Disable push rule evaluation for rooms excluded from sync ( #15361 )
...
* no push for excluded room from sync
* add changelog
Signed-off-by: Maghen Calinghee <maghen.calinghee@beta.gouv.fr >
* correct changelog
2023-04-27 11:32:02 +01:00
Tatu Wikman
3e95c19911
Docs: Add Nginx loadbalancing example with sticky mxid for workers ( #15411 )
...
* Docs: Add Nginx loadbalancing example with sticky mxid for workers
Add example nginx configuration snippet that
* does load balancing for workers
* respects mxid part of the token
* from both url parameter and auth header
* and handles since parameter
Thanks to @olmari for pushing me to write this and testing the configs
Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com >
* Add changelog entry
Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com >
* Update codeblock formatter
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
* Remove indirectly related nginx-config
Signed-off-by: Sami Olmari <sami@olmari.fi >
* Proper definition of action how to target username for worker
Signed-off-by: Sami Olmari <sami@olmari.fi >
* Change "nginx" to general "reverse proxy" as it's concept now.
Signed-off-by: Sami Olmari <sami@olmari.fi >
* Wording in better English
Co-authored-by: Tatu Wikman <tatu.wikman@gmail.com >
* rename changelog entry to have correct extension
---------
Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com >
Signed-off-by: Sami Olmari <sami@olmari.fi >
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
Co-authored-by: Sami Olmari <sami@olmari.fi >
Co-authored-by: Sami Olmari <sami+github@olmari.fi >
2023-04-27 11:25:44 +01:00
Shay
301b4156d5
Add column full_user_id to tables profiles and user_filters. ( #15458 )
2023-04-26 16:03:26 -07:00
Mathieu Velten
247e6a8a78
Add a module API to send an HTTP push notification ( #15387 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-04-26 21:10:51 +02:00
Patrick Cloke
e2e9b545ff
Do not return extensible events experimental push rules by default. ( #15494 )
2023-04-26 14:27:38 -04:00
Erik Johnston
9900f7c231
Add admin endpoint to query room sizes ( #15482 )
2023-04-26 16:00:11 +00:00
Shay
710502c6d8
Update the check_schema_delta script to account for when the schema version has been bumped locally ( #15466 )
2023-04-25 11:52:54 -07:00
Patrick Cloke
8e9739449d
Add unstable /keys/claim endpoint which always returns fallback keys. ( #15462 )
...
It can be useful to always return the fallback key when attempting to
claim keys. This adds an unstable endpoint for `/keys/claim` which
always returns fallback keys in addition to one-time-keys.
The fallback key(s) are not marked as "used" unless there are no
corresponding OTKs.
This is currently defined in MSC3983 (although likely to be split out
to a separate MSC). The endpoint shape may change or be requested
differently (i.e. a keyword parameter on the current endpoint), but the
core logic should be reasonable.
2023-04-25 13:30:41 -04:00
David Robertson
b39b02c26e
Merge branch 'master' into develop
2023-04-25 12:50:18 +01:00
David Robertson
c34791ef5b
1.82.0
2023-04-25 11:56:17 +01:00
Nick Mills-Barrett
c55293c230
Re re introduce membership tables event stream ordering ( #15356 )
2023-04-25 09:44:29 +01:00
Quentin Gliech
8b3a502996
Experimental support for MSC3970: per-device transaction IDs ( #15318 )
2023-04-25 09:37:09 +01:00
Patrick Cloke
ea5c3ede4f
Finish type hints for federation client HTTP code. ( #15465 )
2023-04-24 13:12:06 -04:00
David Robertson
19141b9432
Ask bug reporters to provide logs as text ( #15479 )
2023-04-24 14:54:18 +01:00
dependabot[bot]
625ebbf92d
Bump types-jsonschema from 4.17.0.6 to 4.17.0.7 ( #15476 )
...
* Bump types-jsonschema from 4.17.0.6 to 4.17.0.7
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.6 to 4.17.0.7.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-24 08:19:03 +01:00
dependabot[bot]
62e27ceb89
Bump types-netaddr from 0.8.0.7 to 0.8.0.8 ( #15475 )
...
* Bump types-netaddr from 0.8.0.7 to 0.8.0.8
Bumps [types-netaddr](https://github.com/python/typeshed ) from 0.8.0.7 to 0.8.0.8.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-netaddr
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-24 08:18:01 +01:00
dependabot[bot]
8b4fb64f1e
Bump cryptography from 40.0.1 to 40.0.2 ( #15474 )
...
* Bump cryptography from 40.0.1 to 40.0.2
Bumps [cryptography](https://github.com/pyca/cryptography ) from 40.0.1 to 40.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/40.0.1...40.0.2 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-24 08:17:41 +01:00
dependabot[bot]
c306fdeb38
Bump pyasn1-modules from 0.2.8 to 0.3.0 ( #15473 )
...
* Bump pyasn1-modules from 0.2.8 to 0.3.0
Bumps [pyasn1-modules](https://github.com/pyasn1/pyasn1-modules ) from 0.2.8 to 0.3.0.
- [Release notes](https://github.com/pyasn1/pyasn1-modules/releases )
- [Changelog](https://github.com/pyasn1/pyasn1-modules/blob/main/CHANGES.txt )
- [Commits](https://github.com/pyasn1/pyasn1-modules/compare/v0.2.8...v0.3.0 )
---
updated-dependencies:
- dependency-name: pyasn1-modules
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-24 08:17:14 +01:00
dependabot[bot]
6e32ecf62a
Bump types-pyyaml from 6.0.12.8 to 6.0.12.9 ( #15471 )
...
* Bump types-pyyaml from 6.0.12.8 to 6.0.12.9
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12.8 to 6.0.12.9.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-24 08:14:45 +01:00
Alok Kumar Singh
197fbb123b
Remove legacy code of single user device resync api ( #15418 )
...
* Removed single-user resync usage and updated it to use multi-user counterpart
Signed-off-by: Alok Kumar Singh alokaks601@gmail.com
2023-04-21 12:06:39 +01:00
Patrick Cloke
5e024a0645
Modify StoreKeyFetcher to read from server_keys_json. ( #15417 )
...
Before this change:
* `PerspectivesKeyFetcher` and `ServerKeyFetcher` write to `server_keys_json`.
* `PerspectivesKeyFetcher` also writes to `server_signature_keys`.
* `StoreKeyFetcher` reads from `server_signature_keys`.
After this change:
* `PerspectivesKeyFetcher` and `ServerKeyFetcher` write to `server_keys_json`.
* `PerspectivesKeyFetcher` also writes to `server_signature_keys`.
* `StoreKeyFetcher` reads from `server_keys_json`.
This results in `StoreKeyFetcher` now using the results from `ServerKeyFetcher`
in addition to those from `PerspectivesKeyFetcher`, i.e. keys which are directly
fetched from a server will now be pulled from the database instead of refetched.
An additional minor change is included to avoid creating a `PerspectivesKeyFetcher`
(and checking it) if no `trusted_key_servers` are configured.
The overall impact of this should be better usage of cached results:
* If a server has no trusted key servers configured then it should reduce how often keys
are fetched.
* if a server's trusted key server does not have a requested server's keys cached then it
should reduce how often keys are directly fetched.
2023-04-20 12:30:32 -04:00
Olivier Wilkinson (reivilibre)
ae69d69525
Merge branch 'release-v1.82' into develop
2023-04-18 18:03:02 +01:00
Val Lorentz
cb8e274c07
Speedup tests by caching HomeServerConfig instances ( #15284 )
...
These two lines:
```
config_obj = HomeServerConfig()
config_obj.parse_config_dict(config, "", "")
```
are called many times with the exact same value for `config`.
As the test suite is CPU-bound and non-negligeably time is spent in
`parse_config_dict`, this saves ~5% on the overall runtime of the Trial
test suite (tested with both `-j2` and `-j12` on a 12t CPU).
This is sadly rather limited, as the cache cannot be shared between
processes (it contains at least jinja2.Template and RLock objects which
aren't pickleable), and Trial tends to run close tests in different
processes.
2023-04-18 13:50:27 +00:00
Olivier Wilkinson (reivilibre)
2f144dcdee
Revert "Bump pillow from 9.4.0 to 9.5.0 ( #15444 )"
...
This reverts commit efab118251 .
2023-04-18 10:56:39 +01:00
Olivier Wilkinson (reivilibre)
ce00710303
1.82.0rc1
2023-04-18 09:52:44 +01:00
Andrew Morgan
aec639e3e3
Move Spam Checker callbacks to a dedicated file ( #15453 )
2023-04-18 00:57:40 +00:00
Andrew Morgan
929797d939
Add a note to the config documentation that the 'delete_stale_devices_after' job always runs on the main process ( #15452 )
2023-04-17 18:16:02 -06:00
Jason Little
e12d788bb7
Switch InstanceLocationConfig to a pydantic BaseModel ( #15431 )
...
* Switch InstanceLocationConfig to a pydantic BaseModel, apply Strict* types and add a few helper methods(that will make more sense in follow up work).
Co-authored-by: David Robertson <davidr@element.io >
2023-04-17 23:53:43 +00:00
dependabot[bot]
d935b806a5
Bump mypy from 1.0.0 to 1.0.1 ( #15447 )
...
* Bump mypy from 1.0.0 to 1.0.1
Bumps [mypy](https://github.com/python/mypy ) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v1.0.0...v1.0.1 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:57:14 +01:00
dependabot[bot]
838de27666
Bump psycopg2 from 2.9.5 to 2.9.6 ( #15448 )
...
* Bump psycopg2 from 2.9.5 to 2.9.6
Bumps [psycopg2](https://github.com/psycopg/psycopg2 ) from 2.9.5 to 2.9.6.
- [Release notes](https://github.com/psycopg/psycopg2/releases )
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS )
- [Commits](https://github.com/psycopg/psycopg2/commits/2.9.6 )
---
updated-dependencies:
- dependency-name: psycopg2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:55:54 +01:00
dependabot[bot]
745704ca69
Bump types-pyopenssl from 23.1.0.0 to 23.1.0.2 ( #15446 )
...
* Bump types-pyopenssl from 23.1.0.0 to 23.1.0.2
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 23.1.0.0 to 23.1.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:55:22 +01:00
dependabot[bot]
3a82433ccf
Bump furo from 2023.3.23 to 2023.3.27 ( #15445 )
...
* Bump furo from 2023.3.23 to 2023.3.27
Bumps [furo](https://github.com/pradyunsg/furo ) from 2023.3.23 to 2023.3.27.
- [Release notes](https://github.com/pradyunsg/furo/releases )
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md )
- [Commits](https://github.com/pradyunsg/furo/compare/2023.03.23...2023.03.27 )
---
updated-dependencies:
- dependency-name: furo
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:55:03 +01:00
dependabot[bot]
efab118251
Bump pillow from 9.4.0 to 9.5.0 ( #15444 )
...
* Bump pillow from 9.4.0 to 9.5.0
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 9.4.0 to 9.5.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/9.4.0...9.5.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:54:35 +01:00
dependabot[bot]
49482222ca
Bump serde from 1.0.159 to 1.0.160 ( #15443 )
...
* Bump serde from 1.0.159 to 1.0.160
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:53:40 +01:00
dependabot[bot]
fce59ca5a1
Bump dawidd6/action-download-artifact from 2.26.1 to 2.27.0 ( #15441 )
...
* Bump dawidd6/action-download-artifact from 2.26.1 to 2.27.0
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.26.1 to 2.27.0.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](7132ab516f...246dbf436b )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:53:13 +01:00
dependabot[bot]
0475cae3ac
Bump serde_json from 1.0.95 to 1.0.96 ( #15442 )
...
* Bump serde_json from 1.0.95 to 1.0.96
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.95 to 1.0.96.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.95...v1.0.96 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-17 10:52:35 +01:00
Jason Little
c9326140dc
Refactor SimpleHttpClient to pull out reusable methods ( #15427 )
...
Pulls out some methods to `BaseHttpClient` to eventually be
reused in other contexts.
2023-04-14 20:46:04 +00:00
David Robertson
8a47d6e3a6
More precise type for LoggingTransaction.execute ( #15432 )
...
* More precise type for LoggingTransaction.execute
* Add an annotation for stream_ordering_month_ago
This would have spotted the error that was fixed in "Add comma missing from #15382 . (#15429 )"
2023-04-14 18:04:49 +00:00
Dirk Klimpel
24b61f32ff
Disable directory listing for StaticResource ( #15438 )
2023-04-14 13:49:47 -04:00
Dirk Klimpel
e4a25d022c
Load /capabilities endpoint on workers ( #15436 )
2023-04-14 12:26:07 -04:00
Erik Johnston
b5192355f6
User directory background update speedup ( #15435 )
...
c.f. #15264
The two changes are:
1. Add indexes so that the select / deletes don't do sequential scans
2. Don't repeatedly call `SELECT count(*)` each iteration, as that's slow
2023-04-14 16:10:32 +01:00
Mathieu Velten
dabbb94faf
Delete pushers after calling on_logged_out module hook on device delete ( #15410 )
2023-04-14 14:12:37 +02:00
Dirk Klimpel
de4390cd40
Convert async to normal tests in TestSSOHandler ( #15433 )
...
* Convert async to normal tests in `TestSSOHandler`
* newsfile
2023-04-14 10:48:35 +00:00
Dirk Klimpel
4af0aec54d
Load /directory/room/{roomAlias} endpoint on workers ( #15333 )
...
* Enable `directory`
* move to worker store
* newsfile
* disable `ClientDirectoryListServer` and `ClientAppserviceDirectoryListServer` for workers
2023-04-14 10:24:06 +01:00
Patrick Cloke
d751f65e71
Remove registration fallback code. ( #15405 )
...
The registration fallback is broken and unspecced. This removes it
since there is no plan to spec it.
Note that this does not modify the login fallback code.
2023-04-13 11:36:29 -04:00
reivilibre
edae20f926
Improve robustness when handling a perspective key response by deduplicating received server keys. ( #15423 )
...
* Change `store_server_verify_keys` to take a `Mapping[(str, str), FKR]`
This is because we already can't handle duplicate keys — leads to cardinality violation
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-04-13 15:35:03 +01:00
reivilibre
38272be037
Add comma missing from #15382 . ( #15429 )
...
* Add missing comma
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-04-13 15:06:25 +01:00
Patrick Cloke
2503126d52
Implement MSC2174: move redacts to a content property. ( #15395 )
...
This moves `redacts` from being a top-level property to
a `content` property in a new room version.
MSC2176 (which was previously implemented) states to not
`redact` this property.
2023-04-13 13:47:07 +00:00
Dirk Klimpel
c9723a1c1f
Only load the SSO redirect servlet if SSO is enabled. ( #15421 )
2023-04-13 13:08:00 +00:00
Dirk Klimpel
be36600327
Disable loading RefreshTokenServlet on workers ( #15428 )
2023-04-13 13:28:55 +02:00
Will Hunt
253e86a72e
Throw if the appservice config list is the wrong type ( #15425 )
...
* raise a ConfigError on an invalid app_service_config_files
* changelog
* Move config check to read_config
* Add test
* Ensure list also contains strings
2023-04-12 11:28:46 +00:00
Erik Johnston
66ad1b8984
Merge branch 'master' into develop
2023-04-11 15:09:26 +01:00
Erik Johnston
c1b7da69cc
1.81.0
2023-04-11 14:18:54 +01:00
dependabot[bot]
c94307adfe
Bump immutabledict from 2.2.3 to 2.2.4 ( #15415 )
2023-04-10 09:36:56 -04:00
dependabot[bot]
0bc1061119
Bump sentry-sdk from 1.17.0 to 1.19.1 ( #15414 )
2023-04-10 09:36:05 -04:00
dependabot[bot]
ce40330de1
Bump parameterized from 0.8.1 to 0.9.0 ( #15412 )
2023-04-10 09:19:02 -04:00
dependabot[bot]
8e0a3428d7
Bump types-pillow from 9.4.0.17 to 9.4.0.19 ( #15413 )
2023-04-10 09:18:40 -04:00
dependabot[bot]
70781d3691
Bump black from 23.1.0 to 23.3.0 ( #15372 )
2023-04-10 08:37:42 -04:00
David Robertson
3dd72b924e
Attempt to fix weird mypy failures on ignored files. ( #15409 )
...
By inlining the typechecking job from backend-meta.
This seems to resolve odd errors (maybe due to caching?)
to have been seen on Dependabot PRs.
2023-04-10 08:25:08 -04:00
Patrick Cloke
d07d255830
Implement MSC2175: remove the creator field from create events. ( #15394 )
2023-04-06 16:26:28 -04:00
dependabot[bot]
3ad221ea40
Bump pyopenssl from 23.1.0 to 23.1.1 ( #15373 )
...
* Bump pyopenssl from 23.1.0 to 23.1.1
Bumps [pyopenssl](https://github.com/pyca/pyopenssl ) from 23.1.0 to 23.1.1.
- [Release notes](https://github.com/pyca/pyopenssl/releases )
- [Changelog](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/pyopenssl/compare/23.1.0...23.1.1 )
---
updated-dependencies:
- dependency-name: pyopenssl
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: David Robertson <davidr@element.io >
2023-04-06 20:14:49 +01:00
David Robertson
d5cc911167
Trust dtolnay/rust-toolchain ( #15406 )
...
* Trust dtolnay/rust-toolchain
The author is a big deal in the Rust world and I'm happy to trust them.
I'm also bored of the dependabot updates tbh.
* Changelog
2023-04-06 19:41:29 +01:00
dependabot[bot]
61251275fe
Bump types-psycopg2 from 2.9.21.8 to 2.9.21.9 ( #15374 )
...
* Bump types-psycopg2 from 2.9.21.8 to 2.9.21.9
Bumps [types-psycopg2](https://github.com/python/typeshed ) from 2.9.21.8 to 2.9.21.9.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psycopg2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: David Robertson <davidr@element.io >
2023-04-06 19:09:24 +01:00
dependabot[bot]
b5355dfde8
Bump types-netaddr from 0.8.0.6 to 0.8.0.7 ( #15375 )
...
* Bump types-netaddr from 0.8.0.6 to 0.8.0.7
Bumps [types-netaddr](https://github.com/python/typeshed ) from 0.8.0.6 to 0.8.0.7.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-netaddr
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2023-04-06 19:08:59 +01:00
dependabot[bot]
d62076003d
Bump types-opentracing from 2.4.10.3 to 2.4.10.4 ( #15376 )
...
* Bump types-opentracing from 2.4.10.3 to 2.4.10.4
Bumps [types-opentracing](https://github.com/python/typeshed ) from 2.4.10.3 to 2.4.10.4.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-opentracing
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-06 19:08:28 +01:00
dependabot[bot]
e708a33cd9
Bump dawidd6/action-download-artifact from 2.26.0 to 2.26.1 ( #15404 )
...
* Bump dawidd6/action-download-artifact from 2.26.0 to 2.26.1
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.26.0 to 2.26.1.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](5e780fc7bb...7132ab516f )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-06 17:50:39 +01:00
Erik Johnston
485b9fdefb
Don't keep old stream_ordering_to_exterm around ( #15382 )
2023-04-06 16:42:39 +00:00
Patrick Cloke
72b43bec8b
Merge remote-tracking branch 'origin/release-v1.81' into develop
2023-04-06 11:44:26 -04:00
David Robertson
edf046ece7
1.81.0rc2
2023-04-06 16:08:28 +01:00
David Robertson
ec6430bad8
Use setup-go instead of relying on go 1.17 to exist ( #15403 )
...
* Use setup-go instead of relying on 1.17 to exist
See https://github.com/actions/runner-images/issues/7276
* Changelog
2023-04-06 15:23:36 +01:00
Patrick Cloke
83649b891d
Implement MSC3989 to redact the origin field. ( #15393 )
...
This will be done in a future room version, for now an unstable
room version is added which redacts the origin field.
2023-04-05 14:42:46 -04:00
Quentin Gliech
6eb3edec47
Fix the 'set_device_id_for_pushers_txn' background update. ( #15391 )
...
Refer to the correct field from the response when updating
the background update progress.
2023-04-05 07:49:15 -04:00
Shay
6b23d74ad1
Delete server-side backup keys when deactivating an account. ( #15181 )
2023-04-04 20:16:08 +00:00
Erik Johnston
6d103373e2
Update changelog
2023-04-04 14:38:33 +01:00
Erik Johnston
735e4d1f9d
1.81.0rc1
2023-04-04 14:29:08 +01:00
Erik Johnston
79d2e2e79c
Speed up membership queries for users with forgotten rooms ( #15385 )
2023-04-04 14:11:34 +01:00
Sean Quah
89a71e7390
Fix a rare bug where initial /syncs would fail ( #15383 )
...
This change fixes a rare bug where initial /syncs would fail with a
`KeyError` under the following circumstances:
1. A user fast joins a remote room.
2. The user is kicked from the room before the room's full state has
been synced.
3. A second local user fast joins the room.
4. Events are backfilled into the room with a higher topological
ordering than the original user's leave. They are assigned a
negative stream ordering. It's not clear how backfill happened here,
since it is expected to be equivalent to syncing the full state.
5. The second local user leaves the room before the room's full state
has been synced. The homeserver does not complete the sync.
6. The original user performs an initial /sync with lazy_load_members
enabled.
* Because they were kicked from the room, the room is included in
the /sync response even though the include_leave option is not
specified.
* To populate the room's timeline, `_load_filtered_recents` /
`get_recent_events_for_room` fetches events with a lower stream
ordering than the leave event and picks the ones with the highest
topological orderings (which are most recent). This captures the
backfilled events after the leave, since they have a negative
stream ordering. These events are filtered out of the timeline,
since the user was not in the room at the time and cannot view
them. The sync code ends up with an empty timeline for the room
that notably does not include the user's leave event.
This seems buggy, but at least we don't disclose events the user
isn't allowed to see.
* Normally, `compute_state_delta` would fetch the state at the
start and end of the room's timeline to generate the sync
response. Since the timeline is empty, it fetches the state at
`min(now, last event in the room)`, which corresponds with the
second user's leave. The state during the entirety of the second
user's membership does not include the membership for the first
user because of partial state.
This part is also questionable, since we are fetching state from
outside the bounds of the user's membership.
* `compute_state_delta` then tries and fails to find the user's
membership in the auth events of timeline events. Because there
is no timeline event whose auth events are expected to contain
the user's membership, a `KeyError` is raised.
Also contains a drive-by fix for a separate unlikely race condition.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-04-04 13:10:25 +01:00
David Robertson
c0772b4461
Note that Synapse 1.74 queued a user dir rebuild ( #15386 )
...
* Note that Synapse 1.74 queued a user dir rebuild
* Changelog
2023-04-04 12:08:17 +00:00
Sean Quah
8aa121c2be
Build Debian packages for Ubuntu 23.04 Lunar Lobster ( #15381 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-04-03 19:37:26 +01:00
Patrick Cloke
cf2f2934ad
Call appservices on modern paths, falling back to legacy paths. ( #15317 )
...
This uses the specced /_matrix/app/v1/... paths instead of the
"legacy" paths. If the homeserver receives an error it will retry
using the legacy path.
2023-04-03 13:20:32 -04:00
Jason Little
56efa9b167
Experimental Unix socket support ( #15353 )
...
* Add IReactorUNIX to ISynapseReactor type hint.
* Create listen_unix().
Two options, 'path' to the file and 'mode' of permissions(not umask, recommend 666 as default as
nginx/other reverse proxies write to it and it's setup as user www-data)
For the moment, leave the option to always create a PID lockfile turned on by default
* Create UnixListenerConfig and wire it up.
Rename ListenerConfig to TCPListenerConfig, then Union them together into ListenerConfig.
This spidered around a bit, but I think I got it all. Metrics and manhole have been placed
behind a conditional in case of accidental putting them onto a unix socket.
Use new helpers to get if a listener is configured for TLS, and to help create a site tag
for logging.
There are 2 TODO things in parse_listener_def() to finish up at a later point.
* Refactor SynapseRequest to handle logging correctly when using a unix socket.
This prevents an exception when an IP address can not be retrieved for a request.
* Make the 'Synapse now listening on Unix socket' log line a little prettier.
* No silent failures on generic workers when trying to use a unix socket with metrics or manhole.
* Inline variables in app/_base.py
* Update docstring for listen_unix() to remove reference to a hardcoded permission of 0o666 and add a few comments saying where the default IS declared.
* Disallow both a unix socket and a ip/port combo on the same listener resource
* Linting
* Changelog
* review: simplify how listen_unix returns(and get rid of a type: ignore)
* review: fix typo from ConfigError in app/homeserver.py
* review: roll conditional for http_options.tag into get_site_tag() helper(and add docstring)
* review: enhance the conditionals for checking if a port or path is valid, remove a TODO line
* review: Try updating comment in get_client_ip_if_available to clarify what is being retrieved and why
* Pretty up how 'Synapse now listening on Unix Socket' looks by decoding the byte string.
* review: In parse_listener_def(), raise ConfigError if neither socket_path nor port is declared(and fix a typo)
2023-04-03 10:27:51 +01:00
dependabot[bot]
9b2ab506c5
Bump serde_json from 1.0.94 to 1.0.95 ( #15371 )
...
* Bump serde_json from 1.0.94 to 1.0.95
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.94 to 1.0.95.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.94...v1.0.95 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-03 08:08:46 +01:00
dependabot[bot]
84b06fc893
Bump serde from 1.0.158 to 1.0.159 ( #15370 )
...
* Bump serde from 1.0.158 to 1.0.159
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.158 to 1.0.159.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.158...v1.0.159 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-03 08:08:38 +01:00
dependabot[bot]
675ff0d5d0
Bump peaceiris/actions-gh-pages from 3.9.2 to 3.9.3 ( #15369 )
...
* Bump peaceiris/actions-gh-pages from 3.9.2 to 3.9.3
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages ) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases )
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md )
- [Commits](bd8c6b06eb...373f7f263a )
---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-04-03 08:08:28 +01:00
Jason Robinson
157092d97a
Fix copyright year in SSO footer template ( #15358 )
2023-03-31 18:20:40 +01:00
Erik Johnston
6204c3663e
Revert pruning of old devices ( #15360 )
...
* Revert "Fix registering a device on an account with lots of devices (#15348 )"
This reverts commit f0d8f66eaa .
* Revert "Delete stale non-e2e devices for users, take 3 (#15183 )"
This reverts commit 78cdb72cd6 .
2023-03-31 13:51:51 +01:00
Olivier Wilkinson (reivilibre)
72d2ceaa9a
Revert "Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15350 )"
...
This reverts commit 2a234b788e .
See #15359 for context.
2023-03-31 12:10:10 +01:00
Patrick Cloke
2a234b788e
Set thread_id column to non-null for event_push_{actions,actions_staging,summary} ( #15350 )
...
Clean-up from adding the thread_id column, which was initially
null but backfilled with values. It is desirable to require it to now
be non-null.
In addition to altering this column to be non-null, we clean up
obsolete background jobs, indexes, and just-in-time updating
code.
2023-03-30 15:11:31 -04:00
Mathieu Velten
6f68e32bfb
to_device updates could be dropped when consuming the replication stream ( #15349 )
...
Co-authored-by: reivilibre <oliverw@matrix.org >
2023-03-30 19:41:14 +02:00
Erik Johnston
91c3f32673
Speed up SQLite unit test CI ( #15334 )
...
Tests now take 40% of the time.
2023-03-30 16:21:12 +01:00
Patrick Cloke
ae4acda1bb
Implement MSC3984 to proxy /keys/query requests to appservices. ( #15321 )
...
If enabled, for users which are exclusively owned by an application
service then the appservice will be queried for devices in addition
to any information stored in the Synapse database.
2023-03-30 08:39:38 -04:00
Sean Quah
d9f694932c
Fix spinloop during partial state sync when a prev event is in backoff ( #15351 )
...
Previously, we would spin in a tight loop until
`update_state_for_partial_state_event` stopped raising
`FederationPullAttemptBackoffError`s. Replace the spinloop with a wait
until the backoff period has expired.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-03-30 13:36:41 +01:00
Warren Bailey
a3bad89d57
Add the ability to enable/disable registrations when in the OIDC flow ( #14978 )
...
Signed-off-by: Warren Bailey <warren@warrenbailey.net >
2023-03-30 11:09:41 +00:00
Mathieu Velten
9228ae633f
Add some clarification to the doc/comments regarding TCP replication ( #15354 )
2023-03-30 12:51:35 +02:00
Cyberes
9d641d88b7
Fix missing app variable in mail subject for password resets ( #15352 )
...
* Update mailer.py
Fix `KeyError: 'app'`
* Create 15352.bugfix
Signed-off-by: Cyberes <cyberes@evulid.cc >
---------
Signed-off-by: Cyberes <cyberes@evulid.cc >
2023-03-30 11:44:53 +01:00
Erik Johnston
f0d8f66eaa
Fix registering a device on an account with lots of devices ( #15348 )
...
Fixes up #15183
2023-03-29 13:37:06 +00:00
Erik Johnston
5350b5d04d
Revert "Reintroduce membership tables event stream ordering ( #15128 )" ( #15347 )
...
This reverts commit e6af49fbea .
2023-03-29 13:24:28 +01:00
Erik Johnston
78cdb72cd6
Delete stale non-e2e devices for users, take 3 ( #15183 )
...
This should help reduce the number of devices e.g. simple bots the repeatedly login rack up.
We only delete non-e2e devices as they should be safe to delete, whereas if we delete e2e devices for a user we may accidentally break their ability to receive e2e keys for a message.
2023-03-29 12:07:14 +01:00
Jayesh Nirve
d0541e36c0
doc: fix account login requests ratelimit defaults typo ( #15341 )
...
* doc: fix account login requests ratelimit defaults typo
Signed-off-by: td <nirvejayesh@gmail.com >
* chore: changelog.d file
---------
Signed-off-by: td <nirvejayesh@gmail.com >
2023-03-29 10:01:23 +01:00
DeepBlueV7.X
753d1d9cde
Fix joining rooms you have been unbanned from ( #15323 )
...
* Fix joining rooms you have been unbanned from
Since forever synapse did not allow you to join a room after you have
been unbanned from it over federation. This was not actually because of
the unban event not federating. Synapse simply used outdated state to
validate the join transition. This skips the validation if we are not in
the room and for that reason won't have the current room state.
Fixes #1563
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de >
* Add changelog
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de >
* Update changelog.d/15323.bugfix
---------
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de >
2023-03-29 08:37:27 +00:00
Patrick Cloke
5282ba1e2b
Implement MSC3983 to proxy /keys/claim queries to appservices. ( #15314 )
...
Experimental support for MSC3983 is behind a configuration flag.
If enabled, for users which are exclusively owned by an application
service then the appservice will be queried for one-time keys *if*
there are none uploaded to Synapse.
2023-03-28 18:26:27 +00:00
Erik Johnston
57481ca694
Speed up generate sample config CI lint ( #15340 )
2023-03-28 15:17:15 +00:00
Erik Johnston
8a47bf13ef
Speed up pydantic CI lint ( #15339 )
2023-03-28 15:42:24 +01:00
Sean Quah
2e936afd5f
Fix typo in developer docs GitHub workflow ( #15336 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-03-28 12:31:04 +00:00
Sean Quah
4c8ada3904
Merge branch 'master' into develop
2023-03-28 12:27:25 +01:00
Sean Quah
9f7d6c6bc1
1.80.0
2023-03-28 11:10:59 +01:00
dependabot[bot]
bd4d958aaf
Bump ruff from 0.0.252 to 0.0.259 ( #15328 )
...
* Bump ruff from 0.0.252 to 0.0.259
Bumps [ruff](https://github.com/charliermarsh/ruff ) from 0.0.252 to 0.0.259.
- [Release notes](https://github.com/charliermarsh/ruff/releases )
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.252...v0.0.259 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix new warnings
* Mypy
* Newsfile
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Erik Johnston <erik@matrix.org >
2023-03-28 09:46:47 +01:00
Erik Johnston
96f163d932
Prune old typing notifications ( #15332 )
...
Rather than keeping them around forever in memory, slowing things down.
Fixes #11750 .
2023-03-27 14:32:36 +01:00
Dirk Klimpel
4fc85e5a92
Load /password_policy endpoint on workers. ( #15331 )
2023-03-27 07:37:17 -04:00
dependabot[bot]
7a892ce793
Bump cryptography from 40.0.0 to 40.0.1 ( #15329 )
...
* Bump cryptography from 40.0.0 to 40.0.1
Bumps [cryptography](https://github.com/pyca/cryptography ) from 40.0.0 to 40.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/40.0.0...40.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:23:51 +01:00
dependabot[bot]
7d3ea4886c
Bump mypy-zope from 0.9.0 to 0.9.1 ( #15330 )
...
* Bump mypy-zope from 0.9.0 to 0.9.1
Bumps [mypy-zope](https://github.com/Shoobx/mypy-zope ) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/Shoobx/mypy-zope/releases )
- [Changelog](https://github.com/Shoobx/mypy-zope/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Shoobx/mypy-zope/compare/0.9.0...0.9.1 )
---
updated-dependencies:
- dependency-name: mypy-zope
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:05:43 +01:00
dependabot[bot]
316044d6fa
Bump furo from 2022.12.7 to 2023.3.23 ( #15327 )
...
* Bump furo from 2022.12.7 to 2023.3.23
Bumps [furo](https://github.com/pradyunsg/furo ) from 2022.12.7 to 2023.3.23.
- [Release notes](https://github.com/pradyunsg/furo/releases )
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md )
- [Commits](https://github.com/pradyunsg/furo/compare/2022.12.07...2023.03.23 )
---
updated-dependencies:
- dependency-name: furo
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:05:10 +01:00
dependabot[bot]
fae4a2c066
Bump types-pyopenssl from 23.0.0.4 to 23.1.0.0 ( #15326 )
...
* Bump types-pyopenssl from 23.0.0.4 to 23.1.0.0
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 23.0.0.4 to 23.1.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:04:09 +01:00
dependabot[bot]
1ad142782a
Bump regex from 1.7.1 to 1.7.3 ( #15325 )
...
* Bump regex from 1.7.1 to 1.7.3
Bumps [regex](https://github.com/rust-lang/regex ) from 1.7.1 to 1.7.3.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.7.1...1.7.3 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:03:58 +01:00
dependabot[bot]
43411a0fd8
Bump serde from 1.0.157 to 1.0.158 ( #15324 )
...
* Bump serde from 1.0.157 to 1.0.158
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.157 to 1.0.158.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.157...v1.0.158 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-27 11:03:02 +01:00
reivilibre
ce00e57a2a
Fix .gitignore rule for the Complement source tarball downloaded automatically by complement.sh. ( #15319 )
2023-03-24 17:54:58 +00:00
reivilibre
d5324ee111
Add developer documentation for the Federation Sender and add a documentation mechanism using Sphinx. ( #15265 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-03-24 16:41:10 +00:00
reivilibre
5f7c908280
As an optimisation, use TRUNCATE on Postgres when clearing the user directory tables. ( #15316 )
2023-03-24 15:31:12 +00:00
Quentin Gliech
5b70f240cf
Make cleaning up pushers depend on the device_id instead of the token_id ( #15280 )
...
This makes it so that we rely on the `device_id` to delete pushers on logout,
instead of relying on the `access_token_id`. This ensures we're not removing
pushers on token refresh, and prepares for a world without access token IDs
(also known as the OIDC).
This actually runs the `set_device_id_for_pushers` background update, which
was forgotten in #13831 .
Note that for backwards compatibility it still deletes pushers based on the
`access_token` until the background update finishes.
2023-03-24 11:09:39 -04:00
Patrick Cloke
68a6717312
Reject mentions on the C-S API which are invalid. ( #15311 )
...
Invalid mentions data received over the Client-Server API should
be rejected with a 400 error. This will hopefully stop clients from
sending invalid data, although does not help with data received
over federation.
2023-03-24 08:31:14 -04:00
Nick Mills-Barrett
e6af49fbea
Reintroduce membership tables event stream ordering ( #15128 )
...
* Add `event_stream_ordering` column to membership state tables
Specifically this adds the column to `current_state_events`,
`local_current_membership` and `room_memberships`. Each of these tables
is regularly joined with the `events` table to get the stream ordering
and denormalising this into each table will yield significant query
performance improvements once used.
* Make denormalised `event_stream_ordering` columns foreign keys
* Add comment in schema file explaining new denormalised columns
* Add triggers to enforce consistency of `event_stream_ordering` columns
* Re-order purge room tables to account for foreign keys
* Bump schema version to 75
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2023-03-24 11:44:01 +00:00
reivilibre
98fd558382
Add a primitive helper script for listing worker endpoints. ( #15243 )
...
Co-authored-by: Patrick Cloke <patrickc@matrix.org >
2023-03-23 12:11:14 +00:00
David Robertson
3b0083c92a
Use immutabledict instead of frozendict ( #15113 )
...
Additionally:
* Consistently use `freeze()` in test
---------
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: 6543 <6543@obermui.de >
2023-03-22 17:15:34 +00:00
H. Shay
cabe4a3005
Merge branch 'release-v1.80' into develop
2023-03-22 10:00:23 -07:00
Shay
7f02fafa28
Add a check to SQLite port DB script to ensure that the sqlite database passed to the script exists before trying to port from it ( #15306 )
2023-03-22 08:36:42 -07:00
H. Shay
7655bc0542
1.80.0rc2
2023-03-22 08:30:23 -07:00
dependabot[bot]
4b8c9c340c
Bump dtolnay/rust-toolchain from e12eda571dc9a5ee5d58eecf4738ec291c66f295 to fc3253060d0c959bea12a59f10f8391454a0b02d ( #15304 )
...
* Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from e12eda571dc9a5ee5d58eecf4738ec291c66f295 to fc3253060d0c959bea12a59f10f8391454a0b02d.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](e12eda571d...fc3253060d )
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-22 15:27:36 +00:00
David Robertson
1bc9985eb7
Have replication clients remove _INT_STREAM_POS ( #15309 )
...
* Have replication clients remove _INT_STREAM_POS
Suppose worker A makes an internal http request from worker B. B may
make changes that A later learns about over replication. We want A's
request to block until it has seen those changes—mainly to ensure A's
caches are invalidated promptly. This helps provide read-after-write
consistency, eliminating entire categories of races and test flakes.
To implement this, B includes a top-level field `_INT_STREAM_POS` in its
response JSON. Roughly speaking, the field's value tells A what to wait
for. But we weren't removing that internal field before A's request
completed!
Introduced in https://github.com/matrix-org/synapse/pull/14820 .
Fixes #15308 .
* Changelog
2023-03-22 12:53:55 +00:00
Shay
72f3f23c4d
Change the parameter immediate of send_device_messages to default to True ( #15297 )
2023-03-21 17:59:55 -07:00
dependabot[bot]
b32014578a
Bump sentry-sdk from 1.15.0 to 1.17.0 ( #15285 )
...
* Bump sentry-sdk from 1.15.0 to 1.17.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.15.0 to 1.17.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.15.0...1.17.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
2023-03-21 22:37:42 +00:00
Patrick Cloke
8f2a3cbb70
Update 15295.bugfix
2023-03-21 17:05:47 -04:00
Richard van der Hoff
a9216edbaa
Merge commit '96bcc5d902' into release-v1.80
2023-03-21 19:59:28 +00:00
David Robertson
882911a863
Allow running twisted trunk against other branches ( #15302 )
...
* Allow running twisted trunk against other branches
I would like to do this so we can try Synapse's typechecking against a
specific branch that the project solicited tests for, see
https://mail.python.org/archives/list/twisted@python.org/message/GGO5JHA5S475AK6JZ3GCC3GIHGKQYM6Y/
* Changelog
2023-03-21 18:58:38 +00:00
David Robertson
9b1f99ba6b
Remind maintainer to ask #synapse-dev for changelog ( #15303 )
...
* Remind maintainer to ask #synapse-dev for changelog
* Changelog
2023-03-21 18:55:08 +00:00
Patrick Cloke
1bc4feb6c9
Apply & bundle edits for non-message events. ( #15295 )
2023-03-21 14:19:54 -04:00
H. Shay
527512b811
Merge branch 'release-v1.80' of https://github.com/matrix-org/synapse into release-v1.80
2023-03-21 11:07:59 -07:00
H. Shay
9f5d7d5ba2
update changelog
2023-03-21 11:07:37 -07:00
Shay
1e1c220084
Update CHANGES.md
2023-03-21 10:59:41 -07:00
H. Shay
72832a6158
1.80.0rc1
2023-03-21 10:56:21 -07:00
Shay
96bcc5d902
Revert "check sqlite database file exists before porting/#14692" ( #15301 )
2023-03-21 10:49:25 -07:00
Andrew Morgan
ec9224bf9a
Make POST /_matrix/client/v3/rooms/{roomId}/report/{eventId} endpoint return 404 if event exists, but the user lacks access ( #15300 )
2023-03-21 13:24:03 +00:00
Andrew Morgan
b6aef59334
Make EventHandler.get_event return None when the requested event is not found ( #15298 )
2023-03-21 13:23:47 +00:00
reivilibre
f11fe931f5
Document that our Docker images are mirrored to GHCR. ( #15282 )
...
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-03-21 12:51:03 +01:00
Erik Johnston
827f198177
Fix error when sending message into deleted room. ( #15235 )
...
When a room is deleted in Synapse we remove the event forward
extremities in the room, so if (say a bot) tries to send a message into
the room we error out due to not being able to calculate prev events for
the new event *before* we check if the sender is in the room.
Fixes #8094
2023-03-21 09:13:43 +00:00
Patrick Cloke
a5fb382a29
Separate HTTP preview code and URL previewer. ( #15269 )
...
Separates REST layer code from the actual URL previewing.
2023-03-20 14:32:26 -04:00
Shay
5ab7146e19
Add Synapse-Trace-Id to access-control-expose-headers header ( #14974 )
2023-03-20 11:14:05 -07:00
reivilibre
63e25010d6
Mirror images to the GitHub Container Registry (ghcr.io/matrix-org/synapse). ( #15281 )
2023-03-20 16:28:29 +00:00
Patrick Cloke
25006acc17
Add /versions flag for MSC3952. ( #15293 )
2023-03-20 11:47:21 -04:00
dependabot[bot]
f75a041f59
Bump pygithub from 1.57 to 1.58.1 ( #15290 )
2023-03-20 07:40:01 -04:00
dependabot[bot]
eee26138fe
Bump serde from 1.0.155 to 1.0.157 ( #15287 )
2023-03-20 07:38:14 -04:00
dependabot[bot]
099b69fb1c
Bump anyhow from 1.0.69 to 1.0.70 ( #15288 )
2023-03-20 07:37:46 -04:00
dependabot[bot]
1870b44d23
Bump pydantic from 1.10.4 to 1.10.6 ( #15286 )
2023-03-20 07:32:49 -04:00
dependabot[bot]
2cfa6a3001
Bump txredisapi from 1.4.7 to 1.4.9 ( #15289 )
2023-03-20 07:31:22 -04:00
dependabot[bot]
14d8d41658
Bump types-requests from 2.28.11.12 to 2.28.11.15 ( #15291 )
2023-03-20 07:27:58 -04:00
Jason Little
3d70cc393f
Load /register/available endpoint on workers ( #15268 )
2023-03-17 09:50:31 -04:00
reivilibre
66fc166b96
Make configure_workers_and_start script used in Complement tests compatible with older versions of Python. ( #15275 )
2023-03-17 09:02:30 -04:00
Patrick Cloke
afb216c202
Remove no-op send_command for Redis replication. ( #15274 )
...
With Redis commands do not need to be re-issued by the main
process (they fan-out to all processes at once) and thus it is no
longer necessary to worry about them reflecting recursively forever.
2023-03-16 11:13:30 -04:00
Tulir Asokan
b0a0fb5c97
Implement MSC2659: application service ping endpoint ( #15249 )
...
Signed-off-by: Tulir Asokan <tulir@maunium.net >
2023-03-16 15:00:03 +01:00
reivilibre
1f5473465d
Refresh remote profiles that have been marked as stale, in order to fill the user directory. [rei:userdirpriv] ( #14756 )
...
* Scaffolding for background process to refresh profiles
* Add scaffolding for background process to refresh profiles for a given server
* Implement the code to select servers to refresh from
* Ensure we don't build up multiple looping calls
* Make `get_profile` able to respect backoffs
* Add logic for refreshing users
* When backing off, schedule a refresh when the backoff is over
* Wake up the background processes when we receive an interesting state event
* Add tests
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Add comment about 1<<62
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-03-16 11:44:11 +00:00
Andrew Morgan
4953cd71df
Move Account Validity callbacks to a dedicated file ( #15237 )
2023-03-16 10:35:31 +00:00
reivilibre
f54f877f27
Preparatory work to fix the user directory assuming that any remote membership state events represent a profile change. [rei:userdirpriv] ( #14755 )
...
* Remove special-case method for new memberships only, use more generic method
* Only collect profiles from state events in public rooms
* Add a table to track stale remote user profiles
* Add store methods to set and delete rows in this new table
* Mark remote profiles as stale when a member state event comes in to a private room
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Simplify by removing Optionality of `event_id`
* Replace names and avatars with None if they're set to dodgy things
I think this makes more sense anyway.
* Move schema delta to 74 (I missed the boat?)
* Turns out these can be None after all
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-03-16 09:55:19 +00:00
Patrick Cloke
3bf973edc7
Remove unused class: DirectTcpReplicationClientFactory. ( #15272 )
2023-03-15 15:42:20 -04:00
Patrick Cloke
121fce7500
Enable running tests & release artifacts on merge queue. ( #15244 )
2023-03-15 08:07:20 -04:00
reivilibre
63d87c08c8
Add schema comments about the destinations and destination_rooms tables. ( #15247 )
2023-03-15 09:25:58 +00:00
reivilibre
d0fe417f5c
Remove unused store method _set_destination_retry_timings_emulated. ( #15266 )
2023-03-14 17:32:46 +00:00
Mathieu Velten
de92fb6a28
Merge branch 'master' into develop
2023-03-14 17:43:26 +01:00
Jason Little
003a25ae5c
Additional functionality for declaring worker types in Complement ( #14921 )
...
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-03-14 16:29:33 +00:00
Mathieu Velten
8b1af08c6e
1.79.0
2023-03-14 16:15:01 +01:00
Patrick Cloke
e7b559d2ca
Avoid unneeded work if auto-join rooms aren't configured. ( #15262 )
...
It is not necessary to reach out to the database to check some
parameters if the auto-join rooms are not configured, or (in some cases)
if auto-create rooms is not configured.
2023-03-14 08:18:49 -04:00
David Robertson
a1c9869394
Merge branch 'release-v1.79' into develop
2023-03-13 18:35:21 +00:00
dependabot[bot]
5e21e15f96
Bump cryptography from 39.0.1 to 39.0.2 ( #15257 )
...
* Bump cryptography from 39.0.1 to 39.0.2
Bumps [cryptography](https://github.com/pyca/cryptography ) from 39.0.1 to 39.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/39.0.1...39.0.2 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 14:12:03 +00:00
David Robertson
edcf938173
1.79.0rc2
2023-03-13 12:57:56 +00:00
David Robertson
c071cd5a0e
Ensure fed-sender catchup does not block for full state ( #15248 )
...
* Reproduce bad scenario in test
* Avoid catchup optimisation for partial state rooms
2023-03-13 12:31:19 +00:00
David Robertson
d4eba4409f
Install rust during Stage 0 of docker build ( #15239 )
...
* Install rust during Stage 0 of docker build
Thanks to @atomdmac for spotting the fix.
Fixes #15179 .
* Changelog
2023-03-13 12:12:02 +00:00
dependabot[bot]
408f60540f
Bump hiredis from 2.2.1 to 2.2.2 ( #15252 )
...
* Bump hiredis from 2.2.1 to 2.2.2
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.2.1...v2.2.2 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 10:28:32 +00:00
dependabot[bot]
023f215c68
Bump serde from 1.0.152 to 1.0.155 ( #15253 )
...
* Bump serde from 1.0.152 to 1.0.155
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.155 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 10:28:24 +00:00
dependabot[bot]
f167b35de9
Bump pysaml2 from 7.2.1 to 7.3.1 ( #15254 )
...
* Bump pysaml2 from 7.2.1 to 7.3.1
Bumps [pysaml2](https://github.com/IdentityPython/pysaml2 ) from 7.2.1 to 7.3.1.
- [Release notes](https://github.com/IdentityPython/pysaml2/releases )
- [Changelog](https://github.com/IdentityPython/pysaml2/blob/v7.3.1/CHANGELOG.md )
- [Commits](https://github.com/IdentityPython/pysaml2/compare/v7.2.1...v7.3.1 )
---
updated-dependencies:
- dependency-name: pysaml2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 10:28:15 +00:00
dependabot[bot]
6326d744c9
Bump msgpack from 1.0.4 to 1.0.5 ( #15255 )
...
* Bump msgpack from 1.0.4 to 1.0.5
Bumps [msgpack](https://github.com/msgpack/msgpack-python ) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/msgpack/msgpack-python/releases )
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst )
- [Commits](https://github.com/msgpack/msgpack-python/compare/v1.0.4...v1.0.5 )
---
updated-dependencies:
- dependency-name: msgpack
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 10:28:05 +00:00
dependabot[bot]
ff155f7891
Bump gitpython from 3.1.30 to 3.1.31 ( #15256 )
...
* Bump gitpython from 3.1.30 to 3.1.31
Bumps [gitpython](https://github.com/gitpython-developers/GitPython ) from 3.1.30 to 3.1.31.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases )
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES )
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.30...3.1.31 )
---
updated-dependencies:
- dependency-name: gitpython
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-13 10:27:55 +00:00
David Robertson
4bb26c95a9
Refactor filter_events_for_server ( #15240 )
...
* Tweak docstring and type hint
* Flip logic and provide better name
* Separate decision from action
* Track a set of strings, not EventBases
* Require explicit boolean options from callers
* Add explicit option for partial state rooms
* Changelog
* Rename param
2023-03-10 15:31:25 +00:00
Andrew Morgan
e157c63f68
Fix missing conditional for registering on_remove_user_third_party_identifier module api callbacks ( #15227
2023-03-10 10:35:18 +00:00
David Robertson
ce54477f6f
Give PyCharm some help with @cache_in_self ( #15238 )
...
* Give PyCharm some help with `@cache_in_self`
* Changelog
* Fix import for old python versions
2023-03-09 19:12:09 +00:00
Sean Quah
caf43c3d7c
Faster joins: Fix spurious errors on incremental sync ( #15232 )
...
When pushing events in partial state rooms down incremental /sync, we
try to find the `m.room.member` state event for their senders by digging
through their auth events, so that we can present the membership to the
client. Events usually have a membership event in their auth events,
with the exception of the `m.room.create` event and a user's first join
into the room.
When implementing #13477 , we took the case of a user's first join into
account, but forgot to handle the `m.room.create` case. This change
fixes that.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-03-09 14:18:39 +00:00
Patrick Cloke
3d060eae6c
Add missing type hints to synapse.storage.database. ( #15230 )
2023-03-09 07:10:09 -05:00
Patrick Cloke
e7c3832ba6
Pull in netaddr type hints. ( #15231 )
...
And fix any issues from having those type hints.
2023-03-09 07:09:49 -05:00
Shay
be4ea209e8
Add topic and name events to group of events that are batch persisted when creating a room. ( #15229 )
2023-03-08 19:27:20 -08:00
Patrick Cloke
88efc75bab
Include the room ID in more purge room log lines. ( #15222 )
2023-03-08 20:08:56 +00:00
Patrick Cloke
f4fc83ac75
Add a missing endpoint to the workers documentation. ( #15223 )
2023-03-08 07:51:34 -05:00
Shay
a368d30c1c
More speedups/fixes to creating batched events ( #15195 )
2023-03-07 13:54:39 -08:00
David Robertson
9418344db4
Fix typo in changelog
2023-03-07 18:14:51 +00:00
Patrick Cloke
20ed8c926b
Stabilize support for MSC3873: disambuguated event push keys. ( #15190 )
...
This removes the experimental configuration option and
always escapes the push rule condition keys.
Also escapes any (experimental) push rule condition keys
in the base rules which contain dot in a field name.
2023-03-07 11:27:57 -05:00
Quentin Gliech
47bc84dd53
Pass the Requester down to the HttpTransactionCache. ( #15200 )
2023-03-07 16:05:22 +00:00
Patrick Cloke
820f02b70b
Stabilize support for MSC3966: event_property_contains push condition. ( #15187 )
...
This removes the configuration flag & updates the identifiers to
use the stable version.
2023-03-07 10:06:02 -05:00
David Robertson
2af1a982c1
Remove duplicate entry from changelog
2023-03-07 13:34:06 +00:00
David Robertson
8314646cd3
Update changelog
2023-03-07 13:30:47 +00:00
David Robertson
506e24ffc4
1.79.0rc1
2023-03-07 12:11:15 +00:00
David Robertson
c0854ce65a
Hack to rebuild the complement editable image ( #15184 )
...
* Hack to rebuild the complement editable image
* Changelog
2023-03-07 11:51:18 +00:00
dependabot[bot]
869ef75cb7
Bump types-pyopenssl from 22.1.0.2 to 23.0.0.4 ( #15213 )
2023-03-07 10:14:21 +00:00
dependabot[bot]
2a869d257f
Bump types-pillow from 9.4.0.13 to 9.4.0.17 ( #15211 )
2023-03-07 10:14:05 +00:00
dependabot[bot]
a9478e436e
Bump types-setuptools from 67.4.0.3 to 67.5.0.0 ( #15212 )
2023-03-07 10:13:51 +00:00
dependabot[bot]
89ae8ce7ca
Bump types-psycopg2 from 2.9.21.4 to 2.9.21.8 ( #15210 )
2023-03-07 10:13:24 +00:00
dependabot[bot]
c114befd6b
Bump types-commonmark from 0.9.2.1 to 0.9.2.2 ( #15209 )
2023-03-07 10:13:10 +00:00
Erik Johnston
c69aae94cd
Split up txn for fetching device keys ( #15215 )
...
We look up keys in batches, but we should do that outside of the
transaction to avoid starving the database pool.
2023-03-07 08:51:34 +00:00
Quentin Gliech
41f127e068
Pass the requester during event serialization. ( #15174 )
...
This allows Synapse to properly include the transaction ID in the
unsigned data of events.
2023-03-06 16:08:39 +00:00
Patrick Cloke
05e0a4089a
Stop applying edits to event contents (MSC3925). ( #15193 )
...
Enables MSC3925 support by default, which:
* Includes the full edit event in the bundled aggregations of an
edited event.
* Stops modifying the original event's content to return the new
content from the edit event.
This is a backwards-incompatible change that is considered to be
"correct" by the spec.
2023-03-06 09:43:01 -05:00
Patrick Cloke
fd9cadcf53
Stabilize support for MSC3758: event_property_is push condition ( #15185 )
...
This removes the configuration flag & updates the identifiers to
use the stable version.
2023-03-06 08:38:01 -05:00
dependabot[bot]
95876cf5f1
Bump serde_json from 1.0.93 to 1.0.94 ( #15214 )Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
...
* Bump serde_json from 1.0.93 to 1.0.94
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-03-06 12:01:05 +00:00
Erik Johnston
242d2a27ce
Use nightly rustfmt in CI ( #15188 )
...
As we use some nightly only options, e.g. to group and sort imports
consistently.
2023-03-03 14:26:14 +00:00
6543
6b6e91e610
Fix ICU tests on alpine / macOS. ( #15177 )
...
The word boundary behaviour is slightly different, consider it
acceptable for the tests.
2023-03-03 14:22:06 +00:00
Patrick Cloke
02f74f3a99
Combine AbstractStreamIdTracker and AbstractStreamIdGenerator. ( #15192 )
...
AbstractStreamIdTracker (now) has only a single sub-class: AbstractStreamIdGenerator,
combine them to simplify some code and remove any direct references to
AbstractStreamIdTracker.
2023-03-03 08:13:37 -05:00
Quentin Gliech
848f7e3d5f
Remove unspecced and buggy PUT method on the unstable /rooms/<room_id>/batch_send endpoint. ( #15199 )
2023-03-03 12:22:49 +00:00
Patrick Cloke
7ae4f7236a
Configure ruff to automatically fix issues. ( #15194 )
2023-03-03 07:13:03 -05:00
Andrew Morgan
15e975f68f
Experimental MSC3890 Implementation: Fix deleting account data when using an account data writer worker ( #14869 )
2023-03-03 10:51:57 +00:00
Andrew Morgan
1eea662780
Add a get_next_txn method to StreamIdGenerator to match MultiWriterIdGenerator ( #15191
2023-03-02 18:27:00 +00:00
Dirk Klimpel
ecbe0ddbe7
Add support for knocking to workers. ( #15133 )
2023-03-02 12:59:53 -05:00
Quentin Gliech
c8665dd25d
Remove the unspecced and bugged PUT /knock/{roomIdOrAlias} endpoint ( #15189 )
2023-03-02 17:16:54 +00:00
David Robertson
c4f4dc35cd
Dockerfile-workers: spell out when config isn't generated ( #15186 )
...
* Complement: Spell out when config isn't generated
* Changelog
2023-03-02 15:55:26 +00:00
Patrick Cloke
8ef324ea6f
Update intentional mentions (MSC3952) to depend on exact_event_property_contains (MSC3966). ( #15051 )
...
This replaces the specific `is_user_mention` push rule condition
used in MSC3952 with the generic `exact_event_property_contains`
push rule condition from MSC3966.
2023-03-02 08:30:51 -05:00
Patrick Cloke
33a85cf08c
Fix conflicting URLs for dehydrated devices. ( #15180 )
2023-03-02 07:24:29 -05:00
Quentin Gliech
7ec1f096d3
Add Sytest jobs with the asyncio reactor enabled ( #14101 )
2023-03-02 11:14:44 +00:00
Dirk Klimpel
65f10afb64
Move event_reports to RoomWorkerStore ( #15165 )
2023-03-02 10:38:46 +00:00
Hugh Nimmo-Smith
916b8061d2
Implementation of MSC3967: Don't require UIA for initial upload of cross signing keys ( #15077 )
2023-03-02 10:34:59 +00:00
Richard van der Hoff
2b78981736
Remove support for aggregating reactions ( #15172 )
...
It turns out that no clients rely on server-side aggregation of `m.annotation`
relationships: it's just not very useful as currently implemented.
It's also non-trivial to calculate.
I want to remove it from MSC2677, so to keep the implementation in line, let's
remove it here.
2023-02-28 18:49:28 +00:00
H. Shay
b2fd03d075
Merge branch 'master' into develop
2023-02-28 10:14:20 -08:00
Patrick Cloke
69553052cc
Update spam checker documentation for moved media modules. ( #15175 )
2023-02-28 12:51:11 -05:00
reivilibre
d62cd940cb
Fix a long-standing bug where an initial sync would not respond to changes to the list of ignored users if there was an initial sync cached. ( #15163 )
2023-02-28 17:11:26 +00:00
H. Shay
8c3fa748e6
1.78.0
2023-02-28 08:57:09 -08:00
reivilibre
682d31c702
Allow use of the /filter Client-Server APIs on workers. ( #15134 )
2023-02-28 16:37:19 +00:00
Patrick Cloke
c369d82df0
Add missing type hints to InsecureInterceptableContextFactory. ( #15164 )
2023-02-28 10:17:55 -05:00
Patrick Cloke
e746f80b4f
Do not accept pattern_type from user input in push rules. ( #15088 )
...
Internally the push rules module uses a `pattern_type` property for `event_match`
conditions (and `related_event_match`) to mark the condition as matching the
current user's Matrix ID or localpart.
This is leaky to the Client-Server API where a user can successfully set a condition
which provides `pattern_type` instead of `pattern` (note that there's no benefit to
doing this -- the user can just use their own Matrix ID or localpart instead). When
serializing back to the client the `pattern_type` property is converted into a proper
`pattern`.
The following changes are made to avoid this:
* Separate the `KnownCondition::EventMatch` enum value into `EventMatch`
and `EventMatchType`, each with their own expected properties. (Note that a
similar change is made for `RelatedEventMatch`.)
* Make it such that the `pattern_type` variants serialize to the same condition kind,
but cannot be deserialized (since they're only provided by base rules).
* As a final tweak, convert `user_id` vs. `user_localpart` values into an enum.
2023-02-28 10:11:20 -05:00
Brendan Abolivier
521026897c
Add documentation for caching in a module ( #14026 )
...
* Add documentation for caching in a module
* Changelog
* Formatting
* Wrap lines at a length that mdbook is happier with
* Typo fix
Co-authored-by: Erik Johnston <erik@matrix.org >
* Link to recent version of the API
In the longer term I'd like to see us generate markdown with Sphinx.
* Refer to public `cached` decorator
* Mark caching as being added in 1.74
Some of the underlying infrastructure was added in 1.69, but the
public-facing `cached` decorator was only added in 1.74. It is the
latter that I think we should be advertising.
* Update docs/modules/writing_a_module.md
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
---------
Co-authored-by: David Robertson <davidr@element.io >
Co-authored-by: Erik Johnston <erik@matrix.org >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-02-28 14:16:33 +00:00
Dirk Klimpel
93f7955eba
Admin API endpoint to delete a reported event ( #15116 )
...
* Admin api to delete event report
* lint + tests
* newsfile
* Apply suggestions from code review
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
* revert changes - move to WorkerStore
* update unit test
* Note that timestamp is in millseconds
---------
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2023-02-28 12:09:10 +00:00
Evan Krall
1cd4fbc51d
Correct documentation about registration_shared_secret_path ( #15168 )
...
* Correct documentation about registration_shared_secret_path
* Create 15168.doc
* Update changelog.d/15168.doc
---------
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2023-02-28 11:09:31 +00:00
Travis Ralston
189a878a35
Remove dangling reference to being a reference implementation ( #15167 )
...
* Remove dangling reference to being a reference implementation
* Create 15167.misc
2023-02-27 20:08:18 +00:00
Andrew Morgan
b40657314e
Add module API callbacks for adding and deleting local 3PID associations ( #15044
2023-02-27 14:19:19 +00:00
Patrick Cloke
4fc8875876
Refactor media modules. ( #15146 )
...
* Removes the `v1` directory from `test.rest.media.v1`.
* Moves the non-REST code from `synapse.rest.media.v1` to `synapse.media`.
* Flatten the `v1` directory from `synapse.rest.media`, but leave compatiblity
with 3rd party media repositories and spam checkers.
2023-02-27 08:26:05 -05:00
Andrew Morgan
3f2ef205e2
Small fixes to MatrixFederationHttpClient docstrings ( #15148 )
2023-02-27 13:03:22 +00:00
dependabot[bot]
f7e49afb99
Bump ruff from 0.0.237 to 0.0.252 ( #15159 )
...
* Bump ruff from 0.0.237 to 0.0.252
Bumps [ruff](https://github.com/charliermarsh/ruff ) from 0.0.237 to 0.0.252.
- [Release notes](https://github.com/charliermarsh/ruff/releases )
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.237...v0.0.252 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:39:26 +00:00
dependabot[bot]
d3afe59d5a
Bump types-setuptools from 67.3.0.1 to 67.4.0.3 ( #15160 )
...
* Bump types-setuptools from 67.3.0.1 to 67.4.0.3
Bumps [types-setuptools](https://github.com/python/typeshed ) from 67.3.0.1 to 67.4.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:38:10 +00:00
dependabot[bot]
80884579f5
Bump types-opentracing from 2.4.10.1 to 2.4.10.3 ( #15158 )
...
* Bump types-opentracing from 2.4.10.1 to 2.4.10.3
Bumps [types-opentracing](https://github.com/python/typeshed ) from 2.4.10.1 to 2.4.10.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-opentracing
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:37:33 +00:00
dependabot[bot]
229ae5bcec
Bump typing-extensions from 4.4.0 to 4.5.0 ( #15157 )
...
* Bump typing-extensions from 4.4.0 to 4.5.0
Bumps [typing-extensions](https://github.com/python/typing_extensions ) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/python/typing_extensions/releases )
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/python/typing_extensions/compare/4.4.0...4.5.0 )
---
updated-dependencies:
- dependency-name: typing-extensions
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:34:57 +00:00
dependabot[bot]
81a0dc35f7
Bump matrix-org/backend-meta from 1 to 2 ( #15156 )
...
* Bump matrix-org/backend-meta from 1 to 2
Bumps [matrix-org/backend-meta](https://github.com/matrix-org/backend-meta ) from 1 to 2.
- [Release notes](https://github.com/matrix-org/backend-meta/releases )
- [Commits](https://github.com/matrix-org/backend-meta/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: matrix-org/backend-meta
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:33:27 +00:00
dependabot[bot]
965956160a
Bump actions/checkout from 2 to 3 ( #15155 )
...
* Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:32:52 +00:00
dependabot[bot]
1ff2d20a6f
Bump docker/login-action from 1 to 2 ( #15154 )
...
* Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action ) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:29:51 +00:00
dependabot[bot]
a74c099ece
Bump dawidd6/action-download-artifact from 2.25.0 to 2.26.0 ( #15152 )
...
* Bump dawidd6/action-download-artifact from 2.25.0 to 2.26.0
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.25.0 to 2.26.0.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](b59d8c6a6c...5e780fc7bb )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-27 11:28:57 +00:00
Shay
1c95ddd09b
Batch up storing state groups when creating new room ( #14918 )
2023-02-24 13:15:29 -08:00
Erik Johnston
b2357a898c
Fix bug where 5s delays would occasionally happen. ( #15150 )
...
This only affects deployments using workers.
2023-02-24 14:39:50 +00:00
Sean Quah
335f52d595
Improve handling of non-ASCII characters in user directory search ( #15143 )
...
* Fix a long-standing bug where non-ASCII characters in search terms,
including accented letters, would not match characters in a different
case.
* Fix a long-standing bug where search terms using combining accents
would not match display names using precomposed accents and vice
versa.
To fully take effect, the user directory must be rebuilt after this
change.
Fixes #14630 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-02-24 13:39:45 +00:00
Patrick Cloke
682151a464
Do not fail completely if oEmbed autodiscovery fails. ( #15092 )
...
Previously if an autodiscovered oEmbed request failed (e.g. the
oEmbed endpoint is down or does not exist) then the entire URL
preview would fail. Instead we now return everything we can, even
if this additional request fails.
2023-02-23 16:08:53 -05:00
Patrick Cloke
f8a584ed02
Stop parsing the unspecced type parameter on thumbnail requests. ( #15137 )
...
Ideally we would replace this with parsing of the Accept header
or something else, but for now just make Synapse spec compliant
by ignoring the unspecced parameter.
It does not seem that this is ever sent by a client, and even if it is
there's a reasonable fallback.
2023-02-23 16:07:46 -05:00
Patrick Cloke
ec79870f14
Fix a typo in MSC3873 config option. ( #15138 )
...
Previously the experimental configuration option referred to the wrong
MSC number.
2023-02-23 16:06:42 -05:00
Centzilius
1a1738eca2
Fix typo in federation_verify_certificates in config documentation. ( #15139 )
2023-02-23 13:25:56 -05:00
Dirk Klimpel
a068ad7dd4
Add information on uploaded media to user export command. ( #15107 )
2023-02-23 13:14:17 -05:00
Fly
452b009eb0
Documentation using Shibboleth with OIDC Plugin for SSO. ( #15112 )
2023-02-23 12:54:03 -05:00
Patrick Cloke
adac949a41
Update .git-blame-ignore-revs for #15103 .
2023-02-22 15:30:41 -05:00
dependabot[bot]
9bb2eac719
Bump black from 22.12.0 to 23.1.0 ( #15103 )
2023-02-22 15:29:09 -05:00
Patrick Cloke
4ed08ff72e
Tighten the default rate limit of creating new devices. ( #15135 )
2023-02-22 14:37:18 -05:00
Dirk Klimpel
6def779a1a
Use json.dump in FileExfiltrationWriter ( #15095 )
...
To directly write to the open file, instead of writing to an
in-memory string first.
2023-02-22 14:29:39 -05:00
Andrew Morgan
91f8de7b56
Clarify the workers that the ThirdPartyRules' on_new_event callback will run on ( #15071 )
2023-02-22 16:05:34 +00:00
David Robertson
647ff3ef65
Remove unused room_alias field from /createRoom response ( #15093 )
...
* Change `create_room` return type
* Don't return room alias from /createRoom
* Update other callsites
* Fix up mypy complaints
It looks like new_room_user_id is None iff new_room_id is None. It's a
shame we haven't expressed this in a way that mypy can understand.
* Changelog
2023-02-22 11:07:28 +00:00
Olivier Wilkinson (reivilibre)
8219525b66
Tweak changelog
2023-02-21 16:17:37 +00:00
Olivier Wilkinson (reivilibre)
a3d471e929
1.78.0rc1
2023-02-21 14:37:44 +00:00
reivilibre
addd12f16d
Tweak logging for when a worker waits for its view of a replication stream to catch up. ( #15120 )Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
...
* Improve logging messages for the 'wait for repl stream' read-after-write consistency feature
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Update synapse/replication/tcp/client.py
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-02-21 12:26:00 +00:00
David Robertson
8cede528a8
Upper-bound frozendict dependency ( #15114 )
...
* Upper-bound frozendict dependency
This is an ugly kludge to solve
https://github.com/matrix-org/synapse/issues/15109 . It is not the most
friendly thing to do for downstream packagers (apologies), but we are a)
running low on time at the moment, and b) seeking to remove frozendict
anyway.
* Changelog
2023-02-21 11:03:02 +00:00
Erik Johnston
bb374f4320
Add matrix-org-archive-keyring package as Recommends ( #15110 )
...
This is so installations will pull in the keyring package, allowing us
to update the expiry time of the `packages.matrix.org` repository.
2023-02-20 16:33:24 +00:00
jahway603
356ea4e09b
Update database_maintenance_tools.md ( #15083 )
...
* Update database_maintenance_tools.md
Included a blog post by Jackson Chen, which DID work when I followed it to perform Matrix Synapse Maintenance, versus the 2020 blog post by Victor Berger, which DID NOT work when performining maintenance.
* Update database_maintenance_tools.md
* Rephrasing
2023-02-20 14:29:13 +00:00
David Robertson
e26d7d5ae7
Teach portdb about un_partial_stated_event_stream ( #15108 )
...
* Sort BOOLEAN_COLUMNS and APPEND_ONLY_TABLES
So I can see if a given table is present in logarithmic time, rather
than linear.
* Teach portdb about `un_partial_stated_event_streams`
* Comments comments comments
* Changelog
2023-02-20 13:35:24 +00:00
realtyem
490a3675bd
Allow health listener resource to load ( #15096 )
...
* Allow health listener resource to load.
* changelog
* Update changelog.d/15096.bugfix
2023-02-20 12:23:00 +00:00
reivilibre
1cbc3f197c
Fix a bug introduced in Synapse v1.74.0 where searching with colons when using ICU for search term tokenisation would fail with an error. ( #15079 )
...
Co-authored-by: David Robertson <davidr@element.io >
2023-02-20 12:00:18 +00:00
dependabot[bot]
7ee7f49316
Bump types-setuptools from 67.1.0.0 to 67.3.0.1 ( #15105 )
...
* Bump types-setuptools from 67.1.0.0 to 67.3.0.1
Bumps [types-setuptools](https://github.com/python/typeshed ) from 67.1.0.0 to 67.3.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:14:48 +00:00
dependabot[bot]
e38b8262fb
Bump types-pillow from 9.4.0.10 to 9.4.0.13 ( #15104 )
...
* Bump types-pillow from 9.4.0.10 to 9.4.0.13
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.4.0.10 to 9.4.0.13.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:14:37 +00:00
dependabot[bot]
46e9ce5424
Bump dawidd6/action-download-artifact from 2.24.3 to 2.25.0 ( #15102 )
...
* Bump dawidd6/action-download-artifact from 2.24.3 to 2.25.0
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.24.3 to 2.25.0.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](bd10f381a9...b59d8c6a6c )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:14:07 +00:00
dependabot[bot]
349c3a4fee
Bump dtolnay/rust-toolchain from 25dc93b901a87e864900a8aec6c12e9aa794c0c3 to e12eda571dc9a5ee5d58eecf4738ec291c66f295 ( #15101 )
...
* Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from 25dc93b901a87e864900a8aec6c12e9aa794c0c3 to e12eda571dc9a5ee5d58eecf4738ec291c66f295.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](25dc93b901...e12eda571d )
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:13:58 +00:00
dependabot[bot]
e9d01ff3b8
Bump types-bleach from 5.0.3.1 to 6.0.0.0 ( #15100 )
...
* Bump types-bleach from 5.0.3.1 to 6.0.0.0
Bumps [types-bleach](https://github.com/python/typeshed ) from 5.0.3.1 to 6.0.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-bleach
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:13:47 +00:00
dependabot[bot]
77157f21eb
Bump types-jsonschema from 4.17.0.3 to 4.17.0.5 ( #15099 )
...
* Bump types-jsonschema from 4.17.0.3 to 4.17.0.5
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.3 to 4.17.0.5.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-20 08:13:36 +00:00
Patrick Cloke
c9b9143655
Fix-up type hints in tests/server.py. ( #15084 )
...
This file was being ignored by mypy, we remove that
and add the missing type hints & deal with any fallout.
2023-02-17 18:19:38 +00:00
Dirk Klimpel
61bfcd669a
Add account data to export command ( #14969 )
...
* Add account data to to export command
* newsfile
* remove not needed function
* update newsfile
* adopt #14973
2023-02-17 13:54:55 +00:00
Sean Quah
4f4f27e57f
Mitigate a race where /make_join could 403 for restricted rooms ( #15080 )
...
Previously, when creating a join event in /make_join, we would decide
whether to include additional fields to satisfy restricted room checks
based on the current state of the room. Then, when building the event,
we would capture the forward extremities of the room to use as prev
events.
This is subject to race conditions. For example, when leaving and
rejoining a room, the following sequence of events leads to a misleading
403 response:
1. /make_join reads the current state of the room and sees that the user
is still in the room. It decides to omit the field required for
restricted room joins.
2. The leave event is persisted and the room's forward extremities are
updated.
3. /make_join builds the event, using the post-leave forward extremities.
The event then fails the restricted room checks.
To mitigate the race, we move the read of the forward extremities closer
to the read of the current state. Ideally, we would compute the state
based off the chosen prev events, but that can involve state resolution,
which is expensive.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-02-17 09:40:32 +00:00
ZAID BIN TARIQ
ad1f3fa8e1
Document how to start Synapse with Poetry ( #14892 )
...
* Add Start Synapse with Poetry
* Create 14892.doc
* Apply suggestions from code review
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Update docs/workers.md
---------
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-02-16 18:20:02 +00:00
David Robertson
ffc2ee521d
Use mypy 1.0 ( #15052 )
...
* Update mypy and mypy-zope
* Remove unused ignores
These used to suppress
```
synapse/storage/engines/__init__.py:28: error: "__new__" must return a
class instance (got "NoReturn") [misc]
```
and
```
synapse/http/matrixfederationclient.py:1270: error: "BaseException" has no attribute "reasons" [attr-defined]
```
(note that we check `hasattr(e, "reasons")` above)
* Avoid empty body warnings, sometimes by marking methods as abstract
E.g.
```
tests/handlers/test_register.py:58: error: Missing return statement [empty-body]
tests/handlers/test_register.py:108: error: Missing return statement [empty-body]
```
* Suppress false positive about `JaegerConfig`
Complaint was
```
synapse/logging/opentracing.py:450: error: Function "Type[Config]" could always be true in boolean context [truthy-function]
```
* Fix not calling `is_state()`
Oops!
```
tests/rest/client/test_third_party_rules.py:428: error: Function "Callable[[], bool]" could always be true in boolean context [truthy-function]
```
* Suppress false positives from ParamSpecs
````
synapse/logging/opentracing.py:971: error: Argument 2 to "_custom_sync_async_decorator" has incompatible type "Callable[[Arg(Callable[P, R], 'func'), **P], _GeneratorContextManager[None]]"; expected "Callable[[Callable[P, R], **P], _GeneratorContextManager[None]]" [arg-type]
synapse/logging/opentracing.py:1017: error: Argument 2 to "_custom_sync_async_decorator" has incompatible type "Callable[[Arg(Callable[P, R], 'func'), **P], _GeneratorContextManager[None]]"; expected "Callable[[Callable[P, R], **P], _GeneratorContextManager[None]]" [arg-type]
````
* Drive-by improvement to `wrapping_logic` annotation
* Workaround false "unreachable" positives
See https://github.com/Shoobx/mypy-zope/issues/91
```
tests/http/test_proxyagent.py:626: error: Statement is unreachable [unreachable]
tests/http/test_proxyagent.py:762: error: Statement is unreachable [unreachable]
tests/http/test_proxyagent.py:826: error: Statement is unreachable [unreachable]
tests/http/test_proxyagent.py:838: error: Statement is unreachable [unreachable]
tests/http/test_proxyagent.py:845: error: Statement is unreachable [unreachable]
tests/http/federation/test_matrix_federation_agent.py:151: error: Statement is unreachable [unreachable]
tests/http/federation/test_matrix_federation_agent.py:452: error: Statement is unreachable [unreachable]
tests/logging/test_remote_handler.py:60: error: Statement is unreachable [unreachable]
tests/logging/test_remote_handler.py:93: error: Statement is unreachable [unreachable]
tests/logging/test_remote_handler.py:127: error: Statement is unreachable [unreachable]
tests/logging/test_remote_handler.py:152: error: Statement is unreachable [unreachable]
```
* Changelog
* Tweak DBAPI2 Protocol to be accepted by mypy 1.0
Some extra context in:
- https://github.com/matrix-org/python-canonicaljson/pull/57
- https://github.com/python/mypy/issues/6002
- https://mypy.readthedocs.io/en/latest/common_issues.html#covariant-subtyping-of-mutable-protocol-members-is-rejected
* Pull in updated canonicaljson lib
so the protocol check just works
* Improve comments in opentracing
I tried to workaround the ignores but found it too much trouble.
I think the corresponding issue is
https://github.com/python/mypy/issues/12909 . The mypy repo has a PR
claiming to fix this (https://github.com/python/mypy/pull/14677 ) which
might mean this gets resolved soon?
* Better annotation for INTERACTIVE_AUTH_CHECKERS
* Drive-by AUTH_TYPE annotation, to remove an ignore
2023-02-16 16:09:11 +00:00
Patrick Cloke
979f237b28
Update intentional mentions (MSC3952) to depend on exact_event_match (MSC3758). ( #15037 )
...
This replaces the specific `is_room_mention` push rule condition
used in MSC3952 with the generic `exact_event_match` push rule
condition from MSC3758.
No functionality changes due to this.
2023-02-16 09:51:22 -05:00
saddfox
d1efc47925
Fix a mistake in registration_shared_secret_path docs ( #15078 )
...
* fix a typo in registration_shared_secret_path docs
Signed-off-by: Filip Rutar <filip.rutar@gmail.com >
* changelog
2023-02-15 19:51:58 +00:00
Sean Quah
3ad817bfe5
Fix federated joins when the first server in the list is not in the room ( #15074 )
...
Previously we would give up upon receiving a 404 from the first server,
instead of trying the rest of the servers in the list.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-02-15 13:59:06 +00:00
David Robertson
39795b3a4e
Make it easier to use DataGrip w/ Synapse's schema ( #14982 )
...
Also tweak the schema dump script:
- add a note explaining myself how to use it
-Explicitly call `poetry run`, because not everyone uses direnv :(
2023-02-15 13:51:37 +00:00
999lakhisidhu
27a3a72a50
Support for selecting the Redis logical database. ( #15034 )
...
Note that this is only used for key-value store (cached values)
and not for the pub/sub replication used by Synapse.
2023-02-15 07:39:31 -05:00
Richard van der Hoff
5febf88b6c
Update the error code for duplicate annotation ( #15075 )
2023-02-15 11:47:57 +00:00
David Robertson
06ba71083e
Fix order of partial state tables when purging ( #15068 )
...
* Fix order of partial state tables when purging
`partial_state_rooms` has an FK on `events` pointing to the join event we
get from `/send_join`, so we must delete from that table before deleting
from `events`.
**NB:** It would be nice to cancel any resync processes for the room
being purged. We do not do this at present. To do so reliably we'd need
an internal HTTP "replication" endpoint, because the worker doing the
resync process may be different to that handling the purge request.
The first time the resync process tries to write data after the deletion
it will fail because we have deleted necessary data e.g. auth
events. AFAICS it will not retry the resync, so the only downside to
not cancelling the resync is a scary-looking traceback.
(This is presumably extremely race-sensitive.)
* Changelog
* admist(?) -> between
* Warn about a race
* Fix typo, thanks Sean
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
---------
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-02-14 23:42:29 +00:00
Patrick Cloke
42aea0d8af
Add final type hint to tests.unittest. ( #15072 )
...
Adds a return type to HomeServerTestCase.make_homeserver and deal
with any variables which are no longer Any.
2023-02-14 14:03:35 -05:00
Patrick Cloke
119e0795a5
Implement MSC3966: Add a push rule condition to search for a value in an array. ( #15045 )
...
The `exact_event_property_contains` condition can be used to
search for a value inside of an array.
2023-02-14 14:02:19 -05:00
Richard van der Hoff
157c571f3e
Remove spurious dont_notify action from .m.rule.reaction ( #15073 )
...
This does nothing and I want to remove it from the MSC.
2023-02-14 18:19:58 +00:00
reivilibre
e9b1ff9f31
Prevent clients from reporting nonexistent events. ( #13779 )
2023-02-14 15:50:59 +00:00
Mathieu Velten
69324c346c
Merge branch 'master' into develop
2023-02-14 16:28:13 +01:00
Sean Quah
463c19ac36
Faster joins: Omit device list updates from partial state rooms in /sync ( #15069 )
...
...when lazy loading of members is not enabled. It's weird to notify
a client that another user's device list has changed when the client
doesn't think that they share a room.
Note that when a room is un-partial stated, device list updates are
emitted for every member in that room over /sync.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-02-14 12:32:19 +00:00
Mathieu Velten
3e90dfdd81
1.77.0
2023-02-14 12:59:15 +01:00
Erik Johnston
cb262713b7
Fix clashing DB txn name ( #15070 )
...
* Fix clashing DB txn name
* Newsfile
2023-02-14 11:20:25 +00:00
Erik Johnston
f09db5c991
Skip calculating unread push actions in /sync when enable_push is false. ( #14980 )
2023-02-14 11:10:29 +00:00
Harishankar Kumar
db2b105d69
Change collection[str] to StrCollection in event_auth code ( #14929 )
...
Signed-off-by: Harishankar Kumar <hari01584@gmail.com >
2023-02-14 09:37:08 +00:00
reivilibre
c0bf4c3cb4
Add check to ensure locked dependencies have source distributions available. ( #14742 )
2023-02-13 18:15:38 +00:00
reivilibre
3d7aead5d6
Tweak comment on _is_local_room_accessible as part of room visibility in /hierarchy to clarify the condition for a room being visible. ( #14834 )
2023-02-13 16:30:58 +00:00
V02460
bac123c9d3
Update pyo3-log to v0.8.1 ( #15043 )
...
Signed-off-by: Kai A. Hiller <V02460@gmail.com >
2023-02-13 12:25:56 +00:00
Andrew Morgan
bdccfd2477
Refactor arguments of try_unbind_threepid(_with_id_server) from dict to separate args ( #15053 )
2023-02-13 12:12:48 +00:00
David Robertson
c10e131250
Apply logging from hotfixes branch to develop ( #15054 )
...
* Apply logging from hotfixes branch to develop
Part of #4826 .
Originally added in #11882 .
* Changelog
2023-02-13 11:49:20 +00:00
dependabot[bot]
5e1b21e152
Bump sentry-sdk from 1.13.0 to 1.15.0 ( #15065 )
...
* Bump sentry-sdk from 1.13.0 to 1.15.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.13.0 to 1.15.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.13.0...1.15.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:19:56 +00:00
dependabot[bot]
14406d1a08
Bump types-pillow from 9.4.0.5 to 9.4.0.10 ( #15064 )
...
* Bump types-pillow from 9.4.0.5 to 9.4.0.10
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.4.0.5 to 9.4.0.10.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:19:39 +00:00
dependabot[bot]
fa7bbd05e2
Bump types-requests from 2.28.11.8 to 2.28.11.12 ( #15063 )
...
* Bump types-requests from 2.28.11.8 to 2.28.11.12
Bumps [types-requests](https://github.com/python/typeshed ) from 2.28.11.8 to 2.28.11.12.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:19:28 +00:00
dependabot[bot]
02db6cfd28
Bump serde_json from 1.0.92 to 1.0.93 ( #15062 )
...
* Bump serde_json from 1.0.92 to 1.0.93
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:19:18 +00:00
dependabot[bot]
ede0b219eb
Bump systemd-python from 234 to 235 ( #15061 )
...
* Bump systemd-python from 234 to 235
Bumps [systemd-python](https://github.com/systemd/python-systemd ) from 234 to 235.
- [Release notes](https://github.com/systemd/python-systemd/releases )
- [Changelog](https://github.com/systemd/python-systemd/blob/main/NEWS )
- [Commits](https://github.com/systemd/python-systemd/compare/v234...v235 )
---
updated-dependencies:
- dependency-name: systemd-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:18:50 +00:00
dependabot[bot]
81497c752b
Bump dtolnay/rust-toolchain from 9cd00a88a73addc8617065438eff914dd08d0955 to 25dc93b901a87e864900a8aec6c12e9aa794c0c3 ( #15060 )
...
* Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from 9cd00a88a73addc8617065438eff914dd08d0955 to 25dc93b901a87e864900a8aec6c12e9aa794c0c3.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](9cd00a88a7...25dc93b901 )
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:18:26 +00:00
dependabot[bot]
e0bc331a94
Bump bleach from 5.0.1 to 6.0.0 ( #15059 )
...
* Bump bleach from 5.0.1 to 6.0.0
Bumps [bleach](https://github.com/mozilla/bleach ) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/mozilla/bleach/releases )
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES )
- [Commits](https://github.com/mozilla/bleach/compare/v5.0.1...v6.0.0 )
---
updated-dependencies:
- dependency-name: bleach
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-13 09:18:07 +00:00
Mathieu Velten
6cddf24e36
Faster joins: don't stall when a user joins during a fast join ( #14606 )
...
Fixes #12801 .
Complement tests are at
https://github.com/matrix-org/complement/pull/567 .
Avoid blocking on full state when handling a subsequent join into a
partial state room.
Also always perform a remote join into partial state rooms, since we do
not know whether the joining user has been banned and want to avoid
leaking history to banned users.
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <seanq@matrix.org >
Co-authored-by: David Robertson <davidr@element.io >
2023-02-10 23:31:05 +00:00
Sean Quah
d0c713cc85
Return read-only collections from @cached methods ( #13755 )
...
It's important that collections returned from `@cached` methods are not
modified, otherwise future retrievals from the cache will return the
modified collection.
This applies to the return values from `@cached` methods and the values
inside the dictionaries returned by `@cachedList` methods. It's not
necessary for the dictionaries returned by `@cachedList` methods
themselves to be read-only.
Signed-off-by: Sean Quah <seanq@matrix.org >
Co-authored-by: David Robertson <davidr@element.io >
2023-02-10 23:29:00 +00:00
Patrick Cloke
14be78d492
Support for MSC3758: exact_event_match push condition ( #14964 )
...
This specifies to search for an exact value match, instead of
string globbing. It only works across non-compound JSON values
(null, boolean, integer, and strings).
2023-02-10 12:37:07 -05:00
Patrick Cloke
cf5233b783
Avoid fetching unused account data in sync. ( #14973 )
...
The per-room account data is no longer unconditionally
fetched, even if all rooms will be filtered out.
Global account data will not be fetched if it will all be
filtered out.
2023-02-10 14:22:16 +00:00
David Robertson
d793fcd241
Merge branch 'release-v1.77' into develop
2023-02-10 13:43:18 +00:00
Sean Quah
b95407908d
Avoid mutating cached values in _generate_sync_entry_for_account_data ( #15047 )
2023-02-10 08:11:20 -05:00
Patrick Cloke
a481fb9f98
Refactor get_user_devices_from_cache to avoid mutating cached values. ( #15040 )
...
The previous version of the code could mutate a cached value,
but only if the input requested all devices of a user *and* a specific
device.
To avoid this nonsensical situation we no longer fetch a specific
device ID if all of a user's devices are returned.
2023-02-10 08:09:47 -05:00
David Robertson
73b8068ced
1.77.0rc2
2023-02-10 12:44:38 +00:00
Erik Johnston
fd296b7343
Fix exception on start up about device lists ( #15041 )
...
Fixes #15010 .
2023-02-10 09:52:35 +00:00
David Robertson
a5a799722d
Tag federation request spans with the worker name ( #15042 )
...
* Systematically include worker name as process info
* Changelog
* don't bother with inner setdefault
2023-02-09 22:33:39 +00:00
Shay
03bccd542b
Add a class UnpersistedEventContext to allow for the batching up of storing state groups ( #14675 )
...
* add class UnpersistedEventContext
* modify create new client event to create unpersistedeventcontexts
* persist event contexts after creation
* fix tests to persist unpersisted event contexts
* cleanup
* misc lints + cleanup
* changelog + fix comments
* lints
* fix batch insertion?
* reduce redundant calculation
* add unpersisted event classes
* rework compute_event_context, split into function that returns unpersisted event context and then persists it
* use calculate_context_info to create unpersisted event contexts
* update typing
* $%#^&*
* black
* fix comments and consolidate classes, use attr.s for class
* requested changes
* lint
* requested changes
* requested changes
* refactor to be stupidly explicit
* clearer renaming and flow
* make partial state non-optional
* update docstrings
---------
Co-authored-by: Erik Johnston <erik@matrix.org >
2023-02-09 13:05:02 -08:00
Andrew Morgan
c1d2ce2901
Do not always start a db txn on Postgres ( #14840 )
2023-02-09 19:57:01 +00:00
Andrew Morgan
218a383c43
Bump ruff version from 0.0.230 to 0.0.237. ( #15033 )
2023-02-09 18:18:42 +00:00
Patrick Cloke
d22c1c862c
Respond correctly to unknown methods on known endpoints ( #14605 )
...
Respond with a 405 error if a request is received on a known endpoint,
but to an unknown method, per MSC3743.
2023-02-09 13:04:24 -05:00
Patrick Cloke
8a6e043488
Avoid mutating cached room aliases. ( #15038 )
...
This might cause incorrect data in other callers which
are not expecting the canonical alias to be added into
the response.
2023-02-09 15:56:02 +00:00
David Robertson
cd2484dc2e
Bump schema version ( #15036 )
...
* Bump schema version
This should have been included in
f10caa73ee (and #14979 ).
* Changelog
2023-02-09 15:28:26 +00:00
Patrick Cloke
733531ee3e
Add final type hint to synapse.server. ( #15035 )
2023-02-09 09:49:04 -05:00
David Robertson
7081bb56e2
Proper types for tests.module_api ( #15031 )
...
* -> None for test methods
* A first batch of type fixes
* Introduce common parent test case
* Fixup that big test method
* tests.module_api passes mypy
* Changelog
2023-02-09 00:23:35 +00:00
Patrick Cloke
30509a1010
Add more missing type hints to tests. ( #15028 )
2023-02-08 16:29:49 -05:00
Patrick Cloke
4eed7b2ede
Add missing type hints to tests. ( #15027 )
2023-02-08 19:52:37 +00:00
Shay
55e4d27b36
Limit concurrent event creation for a room to avoid state resolution when sending bursts of events to a local room ( #14977 )
2023-02-08 11:25:11 -08:00
Patrick Cloke
975f7ba904
Explicit disabling of disallowed_untyped_defs. ( #15026 )
...
To make it easier to see which files still need to be fixed.
2023-02-08 18:49:18 +00:00
Patrick Cloke
c951fbedcb
MSC3873: Escape keys when flattening dicts. ( #15004 )
...
This disambiguates keys which attempt to match fields
with a dot in them (e.g. m.relates_to).
Disabled by default behind an experimental configuration flag.
2023-02-08 13:09:41 -05:00
Erik Johnston
c78c67c5a9
Fix bug in replication where response is cached ( #15024 )
2023-02-08 16:41:55 +00:00
Andy Balaam
a4126e2861
Document how to run Synapse ( #15022 )
...
* Document how to run Synapse
* Changelog for 15022
* Update docs/development/contributing_guide.md
2023-02-08 12:58:36 +00:00
David Robertson
dccae64083
Merge branch 'release-v1.77' into develop
2023-02-08 12:45:46 +00:00
dependabot[bot]
22aff546d4
Bump cryptography from 38.0.4 to 39.0.1 ( #15020 )
...
* Bump cryptography from 38.0.4 to 39.0.1
Bumps [cryptography](https://github.com/pyca/cryptography ) from 38.0.4 to 39.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/38.0.4...39.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-08 11:26:10 +00:00
William Kray
85d93d003c
Clarify limitations of SRV delegation in documentation ( #14959 )
...
This PR just clarifies in the SRV DNS delegation document that there are
still cases a user may have to serve files from `.well-known` endpoints,
and this may not be a valid case for using SRV delegation. This has
caused some confusion in a few cases.
Signed-off-by: William Kray <github@williamkray.com >
2023-02-08 10:44:19 +00:00
David Robertson
d83178a33a
Permalink to the docs
2023-02-08 00:39:19 +00:00
David Robertson
b7672b4a97
Note the revert (that I didn't PR)
2023-02-08 00:37:23 +00:00
David Robertson
b36c915913
Merge the osx wheel fix with poetry-core 1.5.0
2023-02-08 00:32:38 +00:00
David Robertson
17e0c75eec
Rearrange items
2023-02-08 00:31:54 +00:00
David Robertson
236f6dfc8c
Manually add new news fragments
2023-02-08 00:12:22 +00:00
David Robertson
0c29f5fbb4
Hacky fix to make mac wheels ( #15019 )
...
* Skip testing PyPy wheels
One of the test builds on #15015 failed to install a pp38-* wheel
because it didn't have access to the openssl headers to build
`cryptography` from source. We don't run CI against PyPy so I'm going to
be a meanie and skip testing the wheels. (And I've no idea why 3.8 was
special in the first place, either.)
* Hack the name of the wheel so cibw can test it
I hate hate hate hate hate hate hate hate hate this
* Changelog
* Apply suggestions from code review
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
---------
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-02-07 23:55:22 +00:00
Patrick Cloke
4142dca718
Include no actions instead of dont_notify for suppressing edits. ( #15016 )
2023-02-07 18:11:16 -05:00
David Robertson
f10caa73ee
Disambiguate get_ex_outlier_stream_rows query
...
A backwards-compatible piece of #14979 that's safe to land now.
2023-02-07 15:33:33 +00:00
David Robertson
9cd7610f86
Revert "Add event_stream_ordering column to membership state tables ( #14979 )"
...
This reverts commit 5fdc12f482 .
2023-02-07 15:26:55 +00:00
David Robertson
2dff93099b
Typecheck tests.rest.media.v1.test_media_storage ( #15008 )
...
* Fix MediaStorage type hint
* Typecheck tests.rest.media.v1.test_media_storage
* Changelog
* Remove assert and make the comment succinct
* Fix syntax for olddeps
2023-02-07 15:24:44 +00:00
David Robertson
f630536a94
1.77.0rc1
2023-02-07 13:45:19 +00:00
David Robertson
4dd2b6165c
Proper types for tests.test_terms_auth ( #15007 )
...
* Proper types for tests.test_terms_auth
* Changelog
2023-02-07 12:03:39 +00:00
Patrick Cloke
5b55c32d61
Add tests for using _flatten_dict with an event. ( #15002 )
2023-02-07 06:56:09 -05:00
David Robertson
d0fed7a37b
Properly typecheck types.http ( #14988 )
...
* Tweak http types in Synapse
AFACIS these are correct, and they make mypy happier on tests.http.
* Type hints for test_proxyagent
* type hints for test_srv_resolver
* test_matrix_federation_agent
* tests.http.server._base
* tests.http.__init__
* tests.http.test_additional_resource
* tests.http.test_client
* tests.http.test_endpoint
* tests.http.test_matrixfederationclient
* tests.http.test_servlet
* tests.http.test_simple_client
* tests.http.test_site
* One fixup in tests.server
* Untyped defs
* Changelog
* Fixup syntax for Python 3.7
* Fix olddeps syntax
* Use a twisted IPv4 addr for dummy_address
* Fix typo, thanks Sean
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Remove redundant `Optional`
---------
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-02-07 00:20:04 +00:00
Nick Mills-Barrett
5fdc12f482
Add event_stream_ordering column to membership state tables ( #14979 )
...
This adds an `event_stream_ordering` column to `current_state_events`,
`local_current_membership` and `room_memberships`. Each of these tables
is regularly joined with the `events` table to get the stream ordering
and denormalising this into each table will yield significant query
performance improvements once used. Includes a background job to
populate these values from the `events` table.
Same idea as https://github.com/matrix-org/synapse/pull/13703 .
Signed off by Nick @ Beeper (@fizzadar).
2023-02-07 00:10:54 +00:00
icp
64a631879c
Allow poetry-core 1.5.0 ( #14949 )
2023-02-06 19:34:14 +00:00
Patrick Cloke
d0fa217cd9
Add missing types to test_state. ( #14985 )
2023-02-06 16:11:09 +00:00
David Robertson
0f34abed7c
Type hints for tests.federation ( #14991 )
...
* Make tests.federation pass mypy
* Untyped defs in tests.federation.transport
* test methods return None
* Remaining type hints in tests.federation
* Changelog
* Avoid an uncessary type-ignore
2023-02-06 16:05:06 +00:00
Patrick Cloke
156cd88eef
Add missing type hints to tests.replication. ( #14987 )
2023-02-06 09:55:00 -05:00
David Robertson
b275763c65
Expect type stubs from canonicaljson ( #14992 )
...
* canonicaljson has stubs now
since https://github.com/matrix-org/python-canonicaljson/pull/52
which is included in the lockfile version we use for type checking.
* Changelog
2023-02-06 12:54:11 +00:00
David Robertson
e8269ed391
Type hints for tests.appservice ( #14990 )
...
* Accept a Sequence of events in synapse.appservice
This avoids some casts/ignores in the tests I'm about to fixup. It seems
that `List[Mock]` is not a subtype of `List[EventBase]`, but
`Sequence[Mock]` is a subtype of `Sequence[EventBase]`. So presumably
`Mock` is considered a subtype of anything, much like `Any`.
* make tests.appservice.test_scheduler pass mypy
* Extra hints in tests.appservice.test_scheduler
* Extra hints in tests.appservice.test_api
* Extra hints in tests.appservice.test_appservice
* Disallow untyped defs
* Changelog
2023-02-06 12:49:06 +00:00
dependabot[bot]
3e37ff1a7e
Bump anyhow from 1.0.68 to 1.0.69 ( #14996 )
...
* Bump anyhow from 1.0.68 to 1.0.69
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.68 to 1.0.69.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 12:18:11 +00:00
dependabot[bot]
e3808e53dc
Bump phonenumbers from 8.13.4 to 8.13.5 ( #14999 )
...
* Bump phonenumbers from 8.13.4 to 8.13.5
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.4 to 8.13.5.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.4...v8.13.5 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:35:39 +00:00
dependabot[bot]
4e2b58bc52
Bump isort from 5.11.4 to 5.11.5 ( #14998 )
...
* Bump isort from 5.11.4 to 5.11.5
Bumps [isort](https://github.com/pycqa/isort ) from 5.11.4 to 5.11.5.
- [Release notes](https://github.com/pycqa/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pycqa/isort/compare/5.11.4...5.11.5 )
---
updated-dependencies:
- dependency-name: isort
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:35:06 +00:00
dependabot[bot]
041eab647d
Bump serde_json from 1.0.91 to 1.0.92 ( #14997 )
...
* Bump serde_json from 1.0.91 to 1.0.92
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:54 +00:00
dependabot[bot]
ef23d6b296
Bump prometheus-client from 0.15.0 to 0.16.0 ( #14995 )
...
* Bump prometheus-client from 0.15.0 to 0.16.0
Bumps [prometheus-client](https://github.com/prometheus/client_python ) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/prometheus/client_python/releases )
- [Commits](https://github.com/prometheus/client_python/compare/v0.15.0...v0.16.0 )
---
updated-dependencies:
- dependency-name: prometheus-client
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:22 +00:00
dependabot[bot]
96e67d5cba
Bump types-setuptools from 65.6.0.3 to 67.1.0.0 ( #14994 )
...
* Bump types-setuptools from 65.6.0.3 to 67.1.0.0
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.6.0.3 to 67.1.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:01 +00:00
dependabot[bot]
f3f495c4e3
Bump hiredis from 2.1.1 to 2.2.1 ( #14993 )
...
* Bump hiredis from 2.1.1 to 2.2.1
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.1.1 to 2.2.1.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.1.1...v2.2.1 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:33:23 +00:00
David Robertson
b3bf58a8a5
Only notify the target of a membership event ( #14971 )
...
* Only notify the target of a membership event
Naughty, but should be a big speedup in large rooms
2023-02-06 11:29:51 +00:00
David Robertson
6e6edea6c1
Properly typecheck tests.api ( #14983 )
2023-02-03 20:03:23 +00:00
Patrick Cloke
b2d97bac09
Implement MSC3958: suppress notifications from edits ( #14960 )
...
Co-authored-by: Brad Murray <brad@beeper.com >
Co-authored-by: Nick Barrett <nick@beeper.com >
Copy the suppress_edits push rule from Beeper to implement MSC3958.
9415a1284b/rust/src/push/base_rules.rs (L98-L114)
2023-02-03 14:31:14 -05:00
David Robertson
e301ee6189
Properly typecheck tests.app ( #14984
2023-02-03 19:22:40 +00:00
Patrick Cloke
f0cae26d58
Add a docstring & tests for _flatten_dict. ( #14981 )
2023-02-03 16:48:13 +00:00
Patrick Cloke
52700a0bcf
Support the backwards compatibility features in MSC3952. ( #14958 )
...
If the feature is enabled and the event has a `m.mentions` property,
skip processing of the legacy mentions rules.
2023-02-03 16:28:20 +00:00
Sean Quah
0a686d1d13
Faster joins: Refactor handling of servers in room ( #14954 )
...
Ensure that the list of servers in a partial state room always contains
the server we joined off.
Also refactor `get_partial_state_servers_at_join` to return `None` when
the given room is no longer partial stated, to explicitly indicate when
the room has partial state. Otherwise it's not clear whether an empty
list means that the room has full state, or the room is partial stated,
but the server we joined off told us that there are no servers in the
room.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-02-03 15:39:59 +00:00
Patrick Cloke
8e9fc28c6a
Reload the pyo3-log config when the Python logging config changes. ( #14976 )
...
Since pyo3-log is initialized very early in the Python start-up
it caches the state of the loggers before they're fully initialized
(and thus are essentially disabled). Whenever we reload the
logging configuration we now also tell pyo3-log to discard
any cached logging configuration it has; it will refetch the
current logging configuration from Python at the next point
it logs.
This fixes Rust log lines not appearing in the homeserver logs.
2023-02-03 08:27:31 -05:00
Patrick Cloke
da05b70af5
Skip unused calculations in sync handler. ( #14908 )
...
If a sync request does not need to calculate per-room entries &
is not generating presence & is not generating device list data
(e.g. during initial sync) avoid the expensive calculation of room
specific data.
This is a micro-optimisation for clients syncing simply to receive
to-device information.
2023-02-02 13:45:12 -05:00
Patrick Cloke
f36da501be
Do not calculate presence or ephemeral events when they are filtered out ( #14970 )
...
This expands the previous optimisation from being only for initial
sync to being for all sync requests.
It also inverts some of the logic to be inclusive instead of exclusive.
2023-02-02 11:58:20 -05:00
David Robertson
2186ebed6c
Fetch fewer events when getting hosts in room ( #14962 )
2023-02-02 16:49:14 +00:00
dependabot[bot]
f398886ab8
Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955 ( #14968 )
2023-02-02 07:21:46 -05:00
Patrick Cloke
da8a957113
Make extension-module optional, but default. ( #14965 )
2023-02-01 19:01:06 -05:00
realtyem
58214dbb9b
Allow enabling the asyncio reactor in complement ( #14858 )
...
Signed-off-by: Jason Little realtyem@gmail.com
2023-02-01 23:42:45 +00:00
dependabot[bot]
1d3a54aa30
Bump hiredis from 2.0.0 to 2.1.1 ( #14939 )
...
* Bump hiredis from 2.0.0 to 2.1.1
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.0.0 to 2.1.1.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.0.0...v2.1.1 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-01 23:25:15 +00:00
Patrick Cloke
1182ae5063
Add helper to parse an enum from query args & use it. ( #14956 )
...
The `parse_enum` helper pulls an enum value from the query string
(by delegating down to the parse_string helper with values generated
from the enum).
This is used to pull out "f" and "b" in most places and then we thread
the resulting Direction enum throughout more code.
2023-02-01 21:35:24 +00:00
Patrick Cloke
230a831c73
Attempt to delete more duplicate rows in receipts_linearized table. ( #14915 )
...
The previous assumption was that the stream_id column was unique
(for a room ID, receipt type, user ID tuple), but this turned out to be
incorrect.
Now find the max stream ID, then map this back to a database-specific
row identifier and delete other rows which match the (room ID, receipt type,
user ID) tuple, but *not* the row ID.
2023-02-01 15:45:10 -05:00
dependabot[bot]
bb675913f0
Bump docker/build-push-action from 3 to 4 ( #14952 )
...
* Bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-01 20:06:28 +00:00
Dirk Klimpel
bf82b56bab
Add more user information to export-data command. ( #14894 )
...
* The user's profile information.
* The user's devices.
* The user's connections / IP address information.
2023-02-01 15:45:19 +00:00
David Robertson
1958f9de45
lnav config for synpase logs ( #14953 )
2023-02-01 12:36:04 +00:00
Patrick Cloke
73403d5e5e
Fix inconsistencies between MSC3952 and implementation. ( #14957 )
...
* Correct the push rule IDs.
* Removes the sound tweak for room notifications.
2023-02-01 06:24:02 -05:00
H. Shay
41d177ca4a
Merge branch 'master' into develop
2023-01-31 10:36:31 -08:00
H. Shay
eafdb12dd8
update changelog and upgrade notes
2023-01-31 08:35:22 -08:00
H. Shay
e4bf5f3b05
update changelog
2023-01-31 08:28:16 -08:00
H. Shay
9cb25b20e5
1.76.0
2023-01-31 08:23:07 -08:00
Patrick Cloke
585180594b
Fix running cargo bench & test in CI. ( #14943 )
2023-01-31 08:00:07 -05:00
David Robertson
3b8574b4f2
Tag /send_join responses to detect faster joins ( #14950 )
...
* Tag /send_join responses to detect faster joins
* Changelog
* Define a proper SynapseTag
* isort
2023-01-31 12:43:20 +00:00
Sean Quah
805b641fb6
Fix "Re-starting finished log context" spam when creating events ( #14947 )
...
`run_in_background` calls re-use the current logging context. When they
are not awaited, they can complete after the current logging context has
been marked as finished, which leads to log spam. Use
`run_as_background_process` instead.
Fixes one of the instances of #13090 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-31 11:31:52 +00:00
Sean Quah
6d14fdc271
Make sqlite database migrations transactional again, part two ( #14926 )
...
#14910 fixed the regression introduced by #13873 where sqlite database
migrations would no longer run inside a transaction. However, it
committed the transaction before Synapse updated its bookkeeping of
which migrations have been run, which means that migrations may be run
again after they have completed successfully.
Leave the transaction open at the end of `executescript`, to restore the
old, correct behaviour. Also make the PostgreSQL behaviour consistent
with SQLite.
Fixes #14909 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-31 11:03:55 +00:00
David Robertson
a134e626e4
Reject boolean power levels ( #14944 )
...
* Better test for bad values in power levels events
The previous test only checked that Synapse didn't raise an exception,
but didn't check that we had correctly interpreted the value of the
dodgy power level.
It also conflated two things: bad room notification levels, and bad user
levels. There _is_ logic for converting the latter to integers, but we
should test it separately.
* Check we ignore types that don't convert to int
* Handle `None` values in `notifications.room`
* Changelog
* Also test that bad values are rejected by event auth
* Docstring
* linter scripttttttttt
* Test boolean values in PL content
* Reject boolean power levels
* Changelog
2023-01-31 10:57:02 +00:00
David Robertson
796a4b7482
Prefer type(x) is int to isinstance(x, int) ( #14945 )
...
* Perfer `type(x) is int` to `isinstance(x, int)`
This covered all additional instances I could see where `x` was
user-controlled.
The remaining cases are
```
$ rg -s 'isinstance.*[^_]int'
tests/replication/_base.py
576: if isinstance(obj, int):
synapse/util/caches/stream_change_cache.py
136: assert isinstance(stream_pos, int)
214: assert isinstance(stream_pos, int)
246: assert isinstance(stream_pos, int)
267: assert isinstance(stream_pos, int)
synapse/replication/tcp/external_cache.py
133: if isinstance(result, int):
synapse/metrics/__init__.py
100: if isinstance(calls, (int, float)):
synapse/handlers/appservice.py
262: assert isinstance(new_token, int)
synapse/config/_util.py
62: if isinstance(p, int):
```
which cover metrics, logic related to `jsonschema`, and replication and
data streams. AFAICS these are all internal to Synapse
* Changelog
2023-01-31 10:33:07 +00:00
David Robertson
510d4b06e7
Handle malformed values of notification.room in power level events ( #14942 )
...
* Better test for bad values in power levels events
The previous test only checked that Synapse didn't raise an exception,
but didn't check that we had correctly interpreted the value of the
dodgy power level.
It also conflated two things: bad room notification levels, and bad user
levels. There _is_ logic for converting the latter to integers, but we
should test it separately.
* Check we ignore types that don't convert to int
* Handle `None` values in `notifications.room`
* Changelog
* Also test that bad values are rejected by event auth
* Docstring
* linter scripttttttttt
2023-01-30 21:29:30 +00:00
David Robertson
cbb0ee43cc
Initial batch of notes on faster joins ( #14677 )
...
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Co-authored-by: Shay <hillerys@element.io >
2023-01-30 21:27:52 +00:00
dependabot[bot]
43c7d814e6
Bump types-pillow from 9.4.0.3 to 9.4.0.5 ( #14938 )
...
* Bump types-pillow from 9.4.0.3 to 9.4.0.5
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.4.0.3 to 9.4.0.5.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-30 10:32:51 +00:00
dependabot[bot]
ed2b17bb9f
Bump types-jsonschema from 4.17.0.2 to 4.17.0.3 ( #14937 )
...
* Bump types-jsonschema from 4.17.0.2 to 4.17.0.3
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.2 to 4.17.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-30 10:32:27 +00:00
dependabot[bot]
1b3343c4b4
Bump types-pyyaml from 6.0.12.2 to 6.0.12.3 ( #14936 )
...
* Bump types-pyyaml from 6.0.12.2 to 6.0.12.3
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12.2 to 6.0.12.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-30 10:32:15 +00:00
dependabot[bot]
2b27a33bb6
Bump ijson from 3.1.4 to 3.2.0.post0 ( #14935 )
...
* Bump ijson from 3.1.4 to 3.2.0.post0
Bumps [ijson](https://github.com/ICRAR/ijson ) from 3.1.4 to 3.2.0.post0.
- [Release notes](https://github.com/ICRAR/ijson/releases )
- [Changelog](https://github.com/ICRAR/ijson/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ICRAR/ijson/compare/v3.1.4...v3.2.0.post0 )
---
updated-dependencies:
- dependency-name: ijson
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-30 10:31:05 +00:00
Patrick Cloke
2a51f3ec36
Implement MSC3952: Intentional mentions ( #14823 )
...
MSC3952 defines push rules which searches for mentions in a list of
Matrix IDs in the event body, instead of searching the entire event
body for display name / local part.
This is implemented behind an experimental configuration flag and
does not yet implement the backwards compatibility pieces of the MSC.
2023-01-27 10:16:21 -05:00
David Robertson
fca5617a0d
Describe faster joins
2023-01-27 15:05:29 +00:00
David Robertson
faecc6c083
Merge branch 'release-v1.76' into develop
2023-01-27 13:01:18 +00:00
Patrick Cloke
265735db9d
Use an enum for direction. ( #14927 )
...
For better type safety we use an enum instead of strings to
configure direction (backwards or forwards).
2023-01-27 07:27:55 -05:00
David Robertson
5ef9ff54ef
1.76.0rc2
2023-01-27 11:18:36 +00:00
Patrick Cloke
fc35e0673f
Add missing type hints in tests ( #14879 )
...
* FIx-up type hints in tests.logging.
* Add missing type hints to test_transactions.
2023-01-26 14:45:24 -05:00
Patrick Cloke
345576bc34
Fix paginating /relations with a live token ( #14866 )
...
The `/relations` endpoint was not properly handle "live tokens"
(i.e sync tokens), to do this properly we abstract the code that
`/messages` has and re-use it.
2023-01-26 13:24:15 -05:00
Patrick Cloke
ba79fb4a61
Use StrCollection in place of Collection[str] in (most) handlers code. ( #14922 )
...
Due to the increased safety of StrCollection over Collection[str]
and Sequence[str].
2023-01-26 12:31:58 -05:00
Patrick Cloke
8a05d5de21
Batch look-ups to see if rooms are partial stated. ( #14917 )
...
* Batch look-ups to see if rooms are partial stated.
* Fix issues found in linting.
* Fix typo.
* Apply suggestions from code review
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Clarify comments.
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Also improve the cache size while we're at it
* is_partial_state_rooms -> is_partial_state_room_batched
* Run `black`
* Improve annotation for `simple_select_many_batch`
* Fix is_partial_state_room_batched impl
* Okay, _actually_ fix impl
* Update description.
* Update synapse/storage/databases/main/room.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Run black.
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
Co-authored-by: David Robertson <davidr@element.io >
2023-01-26 17:15:36 +00:00
David Robertson
dc901a885f
Fix typo in release script ( #14920 )
...
* Fix typo in release script
* Changelog
2023-01-26 13:27:27 +00:00
Sean Quah
cf66d712c6
Fix initialization of _device_list_id_gen ( #14914 )
...
On startup, the `_device_list_id_gen` stream id generator is initialized
using the maximum stream id seen in a list of tables. When we started
populating the `device_list_remote_pending` table in #13913 , we forgot
to add it to the aforementioned list of tables, so the stream id
generator can hand out old stream ids after a restart. The end result is
that Synapse can fail to handle device list update EDUs after a restart
when a partial state join is in progress.
Add the `device_list_remote_pending` table to the list of tables to
consider when initializing the `_device_list_id_gen` stream id generator.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-26 10:38:49 +00:00
Andrew Morgan
871ff05add
Fix type hints in typing edu unit tests ( #14886 )
2023-01-26 10:15:50 +00:00
Patrick Cloke
7e8d455280
Fix a bug in the send_local_online_presence_to module API ( #14880 )
...
Destination was being used incorrectly (a single destination instead
of a list of destinations was being passed).
This also updates some of the types in the area to not use Collection[str],
which is a footgun.
2023-01-25 21:34:37 +00:00
Patrick Cloke
3c3ba31507
Add missing type hints for tests.events. ( #14904 )
2023-01-25 15:14:03 -05:00
Patrick Cloke
8bc5d1406c
Document how to handle Dependabot pull requests. ( #14916 )
2023-01-25 14:49:37 -05:00
Andrew Morgan
836c592f15
Fix type hints in knocking tests. ( #14887 )
2023-01-25 14:38:20 -05:00
David Robertson
f51035bc87
Fix link syntax in changelog
2023-01-25 16:44:04 +00:00
David Robertson
58fa1ed21e
Refer to upgrade notes
2023-01-25 16:41:55 +00:00
David Robertson
5f25fa358d
Touch-up the features section
2023-01-25 16:41:42 +00:00
David Robertson
48e3ad8a06
Group dependabot lines
2023-01-25 16:41:32 +00:00
David Robertson
8a7d2de51f
1.76.0rc1
2023-01-25 16:21:27 +00:00
David Robertson
8e37ece015
Bump the client-side timeout for /state ( #14912 )
...
* Bump the client-side timeout for /state
to allow faster joins resyncs the chance to complete for large rooms.
We have seen this fair poorly (~90s for Matrix HQ's /state) in testing,
causing the resync to advance to another HS who hasn't seen our join yet.
* Changelog
* Milliseconds!!!!
2023-01-25 16:11:06 +00:00
Sean Quah
a63d4cc9e9
Make sqlite database migrations transactional again ( #14910 )
...
#13873 introduced a regression which causes sqlite database migrations
to no longer run inside a transaction. Wrap them in a transaction again,
to avoid database corruption when migrations are interrupted.
Fixes #14909 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-25 13:38:53 +00:00
ZAID BIN TARIQ
b15f0758e5
Document the export user data command. ( #14883 )
2023-01-25 07:01:27 -05:00
David Robertson
4607be0b7b
Request partial joins by default ( #14905 )
...
* Request partial joins by default
This is a little sloppy, but we are trying to gain confidence in faster
joins in the upcoming RC.
Admins can still opt out by adding the following to their Synapse
config:
```yaml
experimental:
faster_joins: false
```
We may revert this change before the release proper, depending on how
testing in the wild goes.
* Changelog
* Try to fix the backfill test failures
* Upgrade notes
* Postgres compat?
2023-01-24 15:28:20 +00:00
David Robertson
80d44060c9
Faster joins: omit partial rooms from eager syncs until the resync completes ( #14870 )
...
* Allow `AbstractSet` in `StrCollection`
Or else frozensets are excluded. This will be useful in an upcoming
commit where I plan to change a function that accepts `List[str]` to
accept `StrCollection` instead.
* `rooms_to_exclude` -> `rooms_to_exclude_globally`
I am about to make use of this exclusion mechanism to exclude rooms for
a specific user and a specific sync. This rename helps to clarify the
distinction between the global config and the rooms to exclude for a
specific sync.
* Better function names for internal sync methods
* Track a list of excluded rooms on SyncResultBuilder
I plan to feed a list of partially stated rooms for this sync to ignore
* Exclude partial state rooms during eager sync
using the mechanism established in the previous commit
* Track un-partial-state stream in sync tokens
So that we can work out which rooms have become fully-stated during a
given sync period.
* Fix mutation of `@cached` return value
This was fouling up a complement test added alongside this PR.
Excluding a room would mean the set of forgotten rooms in the cache
would be extended. This means that room could be erroneously considered
forgotten in the future.
Introduced in #12310 , Synapse 1.57.0. I don't think this had any
user-visible side effects (until now).
* SyncResultBuilder: track rooms to force as newly joined
Similar plan as before. We've omitted rooms from certain sync responses;
now we establish the mechanism to reintroduce them into future syncs.
* Read new field, to present rooms as newly joined
* Force un-partial-stated rooms to be newly-joined
for eager incremental syncs only, provided they're still fully stated
* Notify user stream listeners to wake up long polling syncs
* Changelog
* Typo fix
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Unnecessary list cast
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Rephrase comment
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Another comment
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
* Fixup merge(?)
* Poke notifier when receiving un-partial-stated msg over replication
* Fixup merge whoops
Thanks MV :)
Co-authored-by: Mathieu Velen <mathieuv@matrix.org >
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-01-23 15:44:39 +00:00
dependabot[bot]
5e75771ece
Bump ruff from 0.0.224 to 0.0.230 ( #14897 )
2023-01-23 09:32:07 -05:00
dependabot[bot]
19f325387b
Bump types-opentracing from 2.4.10 to 2.4.10.1 ( #14896 )
2023-01-23 09:26:15 -05:00
dependabot[bot]
18ace676d8
Bump types-commonmark from 0.9.2 to 0.9.2.1 ( #14901 )
2023-01-23 09:22:38 -05:00
dependabot[bot]
641d3e3081
Bump types-psycopg2 from 2.9.21.2 to 2.9.21.4 ( #14900 )
2023-01-23 09:21:36 -05:00
dependabot[bot]
6005befa23
Bump types-requests from 2.28.11.7 to 2.28.11.8 ( #14899 )
2023-01-23 09:13:26 -05:00
Patrick Cloke
82d3efa312
Skip processing stats for broken rooms. ( #14873 )
...
* Skip processing stats for broken rooms.
* Newsfragment
* Use a custom exception.
2023-01-23 11:36:20 +00:00
Sean Quah
2ec9c58496
Faster joins: Update room stats and the user directory on workers when finishing join ( #14874 )
...
* Faster joins: Update room stats and user directory on workers when done
When finishing a partial state join to a room, we update the current
state of the room without persisting additional events. Workers receive
notice of the current state update over replication, but neglect to wake
the room stats and user directory updaters, which then get incidentally
triggered the next time an event is persisted or an unrelated event
persister sends out a stream position update.
We wake the room stats and user directory updaters at the appropriate
time in this commit.
Part of #12814 and #12815 .
Signed-off-by: Sean Quah <seanq@matrix.org >
* fixup comment
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-23 10:31:36 +00:00
reivilibre
22cc93afe3
Enable Faster Remote Room Joins against worker-mode Synapse. ( #14752 )
...
* Enable Complement tests for Faster Remote Room Joins on worker-mode
* (dangerous) Add an override to allow Complement to use FRRJ under workers
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Fix race where we didn't send out replication notification
* MORE HACKS
* Fix get_un_partial_stated_rooms_token to take instance_name
* Fix bad merge
* Remove warning
* Correctly advance un_partial_stated_room_stream
* Fix merge
* Add another notify_replication
* Fixups
* Create a separate ReplicationNotifier
* Fix test
* Fix portdb
* Create a separate ReplicationNotifier
* Fix test
* Fix portdb
* Fix presence test
* Newsfile
* Apply suggestions from code review
* Update changelog.d/14752.misc
Co-authored-by: Erik Johnston <erik@matrix.org >
* lint
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Co-authored-by: Erik Johnston <erik@matrix.org >
2023-01-22 21:10:11 +00:00
Sean Quah
d329a566df
Faster joins: Fix incompatibility with restricted joins ( #14882 )
...
* Avoid clearing out forward extremities when doing a second remote join
When joining a restricted room where the local homeserver does not have
a user able to issue invites, we perform a second remote join. We want
to avoid clearing out forward extremities in this case because the
forward extremities we have are up to date and clearing out forward
extremities creates a window in which the room can get bricked if
Synapse crashes.
Signed-off-by: Sean Quah <seanq@matrix.org >
* Do a full join when doing a second remote join into a full state room
We cannot persist a partial state join event into a joined full state
room, so we perform a full state join for such rooms instead. As a
future optimization, we could always perform a partial state join and
compute or retrieve the full state ourselves if necessary.
Signed-off-by: Sean Quah <seanq@matrix.org >
* Add lock around partial state flag for rooms
Signed-off-by: Sean Quah <seanq@matrix.org >
* Preserve partial state info when doing a second partial state join
Signed-off-by: Sean Quah <seanq@matrix.org >
* Add newsfile
* Add a TODO(faster_joins) marker
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-22 19:19:31 +00:00
Andrew Morgan
f075f6ae2b
Fix type hints for Monthly Active Users tests ( #14889 )
2023-01-22 10:50:14 +01:00
Andrew Morgan
8d90e5f200
Add type hints to TestRatelimiter ( #14885 )
2023-01-21 15:59:15 +00:00
Erik Johnston
0ec12a3753
Reduce max time we wait for stream positions ( #14881 )
...
Now that we wait for stream positions whenever we do a HTTP replication
hit, we need to be less brutal in the case where we do timeout (as we
have bugs around this).
2023-01-20 21:04:33 +00:00
Erik Johnston
65d0386693
Always notify replication when a stream advances ( #14877 )
...
This ensures that all other workers are told about stream updates in a timely manner, without having to remember to manually poke replication.
2023-01-20 18:02:18 +00:00
katlol
cf18fea9e1
Dockerfile: Bump Python version from 3.9 to 3.11 ( #14875 )
...
Closes https://github.com/matrix-org/synapse/issues/13234
Signed-off-by: Katia Esposito <1695469+katlol@users.noreply.github.com >
Signed-off-by: Katia Esposito <1695469+katlol@users.noreply.github.com >
2023-01-20 12:07:13 +00:00
Sean Quah
cdea7c11d0
Faster joins: Avoid starting duplicate partial state syncs ( #14844 )
...
Currently, we will try to start a new partial state sync every time we
perform a remote join, which is undesirable if there is already one
running for a given room.
We intend to perform remote joins whenever additional local users wish
to join a partial state room, so let's ensure that we do not start more
than one concurrent partial state sync for any given room.
------------------------------------------------------------------------
There is a race condition where the homeserver leaves a room and later
rejoins while the partial state sync from the previous membership is
still running. There is no guarantee that the previous partial state
sync will process the latest join, so we restart it if needed.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-20 12:06:19 +00:00
Erik Johnston
cdf2707678
Fix bug in wait for stream position ( #14872 )
...
This caused some requests to fail.
This caused some requests to fail.
This really only started causing issues due to #14856
2023-01-19 22:19:56 +00:00
Andrew Morgan
a7b54ca8d8
Implement MSC3930: polls push rules ( #14787 )
2023-01-19 12:47:10 +00:00
Richard van der Hoff
2069231645
Update logging_sample_config.md ( #14868 )
...
You do not have to restart synapse to reload the log config.
2023-01-19 11:58:17 +00:00
Erik Johnston
9187fd940e
Wait for streams to catch up when processing HTTP replication. ( #14820 )
...
This should hopefully mitigate a class of races where data gets out of
sync due a HTTP replication request racing with the replication streams.
2023-01-18 19:35:29 +00:00
Catalan Lover
e8f2bf5c40
Change default room version to 10. Implements MSC3904 ( #14111 )
...
* Change Documentation to have v10 as default room version
* Change Default Room version to 10
* Add changelog entry for default room version swap
* Add changelog entry for v10 default room version in docs
* Clarify doc changelog entry
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
* Improve Documentation changes.
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
* Update Changelog entry to have correct format
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
* Update Spec Version to 1.5
* Only need 1 changelog.
* Fix test.
* Update "Changed in" line
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Patrick Cloke <patrickc@matrix.org >
2023-01-18 18:59:48 +00:00
Patrick Cloke
4d6b1d3c47
Properly check for frozendicts in event auth code. ( #14864 )
...
Check for for an instance of a mapping instead of a dict.
This only affects room version 10 when frozen events are enabled.
2023-01-18 09:27:57 -05:00
dependabot[bot]
e1b2c7095d
Bump packaging from 22.0 to 23.0 ( #14847 )
...
Bumps [packaging](https://github.com/pypa/packaging ) from 22.0 to 23.0.
- [Release notes](https://github.com/pypa/packaging/releases )
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pypa/packaging/compare/22.0...23.0 )
---
updated-dependencies:
- dependency-name: packaging
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 19:16:43 +00:00
dependabot[bot]
87e5f4599a
Bump phonenumbers from 8.13.2 to 8.13.4 ( #14849 )
...
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.2 to 8.13.4.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.2...v8.13.4 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 19:09:15 +00:00
dependabot[bot]
f1135a7930
Bump sentry-sdk from 1.12.1 to 1.13.0 ( #14852 )
...
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.12.1...1.13.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 19:01:29 +00:00
dependabot[bot]
3a777e7dc2
Bump ruff from 0.0.215 to 0.0.224 ( #14862 )
...
* Bump ruff from 0.0.215 to 0.0.224
Bumps [ruff](https://github.com/charliermarsh/ruff ) from 0.0.215 to 0.0.224.
- [Release notes](https://github.com/charliermarsh/ruff/releases )
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.215...v0.0.224 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-17 18:47:47 +00:00
dependabot[bot]
a34682f7d6
Bump types-pillow from 9.4.0.0 to 9.4.0.3 ( #14863 )
...
* Bump types-pillow from 9.4.0.0 to 9.4.0.3
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.4.0.0 to 9.4.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-17 18:39:50 +00:00
dependabot[bot]
4389b8518f
Bump peaceiris/actions-gh-pages from 3.9.1 to 3.9.2 ( #14861 )
...
* Bump peaceiris/actions-gh-pages from 3.9.1 to 3.9.2
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages ) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases )
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md )
- [Commits](64b46b4226...bd8c6b06eb )
---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-17 18:28:04 +00:00
David Robertson
b88cfe6d41
Require poetry>=1.3.2 ( #14860 )
...
* Upgrade to new lockfile format
Now requires poetry >= 1.2.2 to read and poetry >= 1.3.0 to write.
Cheat sheet:
```
poetry --version
poetry show > scratch/before
pipx upgrade poetry
poetry --version
poetry show > scratch/after
diff scratch{before,after} && echo "no change!"
```
* Use Poetry 1.3.2 when reading or writing lockfile
* Remove unneeded(?) poetry dep for cibuildwheel
* Update docs
* Remove redundant call to setup-python
* Remove outdated comments related to Poetry 1.x
* Remove outdated docs line
was fixed in #13082
* Minor improvements to poetry cheat sheet
* Invoke setup-python-poetry with explicit version
Not sure about this. It's hardcoding versions everywhere.
* Changelog
* Check the lockfile is version 2.0
Might one day incorporate other checks like #14742
* Typo fixes, thanks Sean
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-01-17 18:04:44 +00:00
David Robertson
f820740b7d
Merge branch 'master' into develop
2023-01-17 12:45:50 +00:00
David Robertson
5b3af1c7d0
Stabilise serving partial join responses ( #14839 )
...
Serving partial join responses is no longer experimental. They will only be served under the stable identifier if the the undocumented config flag experimental.msc3706_enabled is set to true.
Synapse continues to request a partial join only if the undocumented config flag experimental.faster_joins is set to true; this setting remains present and unaffected.
2023-01-17 12:44:15 +00:00
David Robertson
b6955673bf
1.75.0
2023-01-17 11:36:22 +00:00
Erik Johnston
316590d1ea
Fix bug in wait_for_stream_position ( #14856 )
...
We were incorrectly checking if the *local* token had been advanced, rather than the token for the remote instance.
In practice, I don't think this has caused any bugs due to where we use `wait_for_stream_position`, as critically we don't use it on instances that also write to the given streams (and so the local token will lag behind all remote tokens).
2023-01-17 09:58:22 +00:00
Erik Johnston
2b084c5b71
Merge device list replication streams ( #14833 )
2023-01-17 09:29:58 +00:00
Sean Quah
db5145a31d
Add parameter to control whether we do a partial state join ( #14843 )
...
When the local homeserver is already joined to a room and wants to
perform another remote join, we may find it useful to do a non-partial
state join if we already have the full state for the room.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-16 23:15:17 +00:00
Erik Johnston
4db3331bb9
Add an early return when handling no-op presence updates. ( #14855 )
...
This stops us from incrementing the presence stream position for no-op updates.
2023-01-16 14:20:12 +00:00
Sean Quah
a302d3ecf7
Remove unnecessary reactor reference from _PerHostRatelimiter ( #14842 )
...
Fix up #14812 to avoid introducing a reference to the reactor.
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-16 13:16:19 +00:00
Rhea Danzey
7801fd74da
Fix missing field in AS documentation ( #14845 )
...
* Fix missing field in AS documentation
The [AS Configuration Snippet](https://matrix-org.github.io/synapse/latest/application_services.html ) is missing `id` field, without it Synapse will fail to load:
```
synapse-synapse-main-0 synapse 2023-01-13 23:05:25,450 - synapse.storage.databases - 84 - INFO - main - [database config 'master']: Starting 'main' database
synapse-synapse-main-0 synapse 2023-01-13 23:05:25,452 - synapse.config.appservice - 79 - ERROR - main - Failed to load appservice from '/as/synapse-hookshot-as/registration.yaml'
synapse-synapse-main-0 synapse 2023-01-13 23:05:25,452 - synapse.config.appservice - 80 - ERROR - main - "Required string field: 'id' (/as/synapse-hookshot-as/registration.yaml)"
synapse-synapse-main-0 synapse Traceback (most recent call last):
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/config/appservice.py", line 57, in load_appservices
synapse-synapse-main-0 synapse appservice = _load_appservice(hostname, yaml.safe_load(f), config_file)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/config/appservice.py", line 91, in _load_appservice
synapse-synapse-main-0 synapse raise KeyError(
synapse-synapse-main-0 synapse KeyError: "Required string field: 'id' (/as/synapse-hookshot-as/registration.yaml)"
synapse-synapse-main-0 synapse 2023-01-13 23:05:25,452 - synapse.app._base - 207 - ERROR - main - Exception during startup
synapse-synapse-main-0 synapse Traceback (most recent call last):
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/app/homeserver.py", line 340, in setup
synapse-synapse-main-0 synapse hs.setup()
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/server.py", line 310, in setup
synapse-synapse-main-0 synapse self.datastores = Databases(self.DATASTORE_CLASS, self)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/__init__.py", line 93, in __init__
synapse-synapse-main-0 synapse main = main_store_class(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/__init__.py", line 139, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/events_bg_updates.py", line 98, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/devices.py", line 1584, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/devices.py", line 89, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/roommember.py", line 1494, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/room.py", line 1827, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/room.py", line 1365, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/room.py", line 119, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/registration.py", line 2158, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/presence.py", line 67, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/presence.py", line 48, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/transactions.py", line 73, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/state.py", line 666, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/state.py", line 82, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/state.py", line 470, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/event_federation.py", line 2007, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/media_repository.py", line 148, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/media_repository.py", line 68, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/push_rule.py", line 330, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/event_push_actions.py", line 1938, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/metrics.py", line 68, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/event_push_actions.py", line 249, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/end_to_end_keys.py", line 1181, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/search.py", line 426, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/search.py", line 137, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/account_data.py", line 64, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/push_rule.py", line 114, in __init__
synapse-synapse-main-0 synapse super().__init__(database, db_conn, hs)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/storage/databases/main/appservice.py", line 76, in __init__
synapse-synapse-main-0 synapse self.services_cache = load_appservices(
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/config/appservice.py", line 57, in load_appservices
synapse-synapse-main-0 synapse appservice = _load_appservice(hostname, yaml.safe_load(f), config_file)
synapse-synapse-main-0 synapse File "/usr/local/lib/python3.9/site-packages/synapse/config/appservice.py", line 91, in _load_appservice
synapse-synapse-main-0 synapse raise KeyError(
synapse-synapse-main-0 synapse KeyError: "Required string field: 'id' (/as/synapse-hookshot-as/registration.yaml)"
synapse-synapse-main-0 synapse ******************************************************************************
synapse-synapse-main-0 synapse Error during initialisation:
synapse-synapse-main-0 synapse "Required string field: 'id' (/as/synapse-hookshot-as/registration.yaml)"
synapse-synapse-main-0 synapse There may be more information in the logs.
synapse-synapse-main-0 synapse ******************************************************************************
```
* Changelog
2023-01-16 12:59:15 +00:00
David Robertson
85a7a201fa
Also use stable name in SendJoinResponse struct ( #14841 )
...
* Also use stable name in SendJoinResponse struct
follow-up to #14832
* Changelog
* Fix a rename I missed
* Run black
* Update synapse/federation/federation_client.py
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2023-01-16 12:40:25 +00:00
dependabot[bot]
5f171c1651
Bump regex from 1.7.0 to 1.7.1 ( #14848 )
...
* Bump regex from 1.7.0 to 1.7.1
Bumps [regex](https://github.com/rust-lang/regex ) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.7.0...1.7.1 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-16 10:51:55 +00:00
Andrew Morgan
54cd90ea60
Implement MSC3890: Remotely silence local notifications ( #14775 )
2023-01-13 19:32:10 +00:00
David Robertson
52ae80dd1a
Use stable identifiers for faster joins ( #14832 )
...
* Use new query param when requesting a partial join
* Read new query param when serving partial join
* Provide new field names when serving partial joins
* Read new field names from partial join response
* Changelog
2023-01-13 17:58:53 +00:00
Erik Johnston
73ff493dfb
Merge account data streams ( #14826 )
2023-01-13 14:57:43 +00:00
Tejaswini Gurram
1416096527
Update misleading documentation user_directory.search_all_users ( #14818 )
...
Fixes #13852
2023-01-13 14:46:21 +00:00
Dirk Klimpel
8d5325ec0c
Drop unused table presence ( #14825 )
2023-01-13 14:17:03 +00:00
Dirk Klimpel
1caf16a450
Add worker_manhole to configuration manual ( #14824 )
...
Closes : #13643
2023-01-13 14:14:39 +00:00
villepeh
d344bc8b6e
Include x_forwarded in workers example configs ( #14667 )
2023-01-13 14:06:58 +00:00
Andrew Morgan
3a125625e7
Add some clarifying comments and refactor a portion of the Keyring class for readability ( #14804 )
2023-01-13 12:37:28 +00:00
Sean Quah
772e8c2385
Fix stack overflow in _PerHostRatelimiter due to synchronous requests ( #14812 )
...
When there are many synchronous requests waiting on a
`_PerHostRatelimiter`, each request will be started recursively just
after the previous request has completed. Under the right conditions,
this leads to stack exhaustion.
A common way for requests to become synchronous is when the remote
client disconnects early, because the homeserver is overloaded and slow
to respond.
Avoid stack exhaustion under these conditions by deferring subsequent
requests until the next reactor tick.
Fixes #14480 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2023-01-13 00:16:21 +00:00
H. Shay
12083d37a8
Merge branch 'release-v1.75' into develop
2023-01-12 12:40:09 -08:00
H. Shay
ea45257199
1.75.0rc2
2023-01-12 10:30:54 -08:00
Richard van der Hoff
0f061f39f0
Merge remote-tracking branch 'origin/release-v1.75' into develop
2023-01-12 16:45:23 +00:00
Andrew Morgan
f5ea9f2b1d
Add rust linting commands to scripts-dev/lint.sh ( #14822 )
2023-01-12 16:20:34 +00:00
Erik Johnston
b50c008453
Re-enable some linting ( #14821 )
...
* Re-enable some linting
* Newsfile
* Remove comment
2023-01-12 10:52:07 +00:00
Erik Johnston
84ce93c12f
Fix race calling /members?at= ( #14817 )
...
Fixes #14814
2023-01-12 10:29:09 +00:00
Emelie Graven
dd9e71dc7f
Add set_displayname to the module API ( #14629 )
2023-01-11 18:41:52 +00:00
Patrick Cloke
071f8b0f9b
Factor out common code in tests and fix comments. ( #14819 )
2023-01-11 13:36:41 -05:00
Andrew Morgan
f4d2a734f9
Remove outdated commands from the code style doc & point to the contributing guide. ( #14773 )
2023-01-11 15:21:12 +00:00
reivilibre
5172c8c403
Faster remote room joins (worker mode): do not populate external hosts-in-room cache when sending events as this requires blocking for full state. ( #14749 )
...
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Co-authored-by: Sean Quah <seanq@matrix.org >
2023-01-11 13:21:53 +00:00
Patrick Cloke
7f2cabf271
Fix-up type hints for tests.push module. ( #14816 )
2023-01-11 07:35:40 -05:00
reivilibre
d6bda5addd
Add index to improve performance of the /timestamp_to_event endpoint used for jumping to a specific date in the timeline of a room. ( #14799 )
2023-01-11 12:29:13 +00:00
Patrick Cloke
3952297f6f
Calculate rooms changed for device lists to work. ( #14810 )
...
Back-out some changes from 7e582a25f8
(#14786 ) which skipped necessary logic to calculate device lists properly.
2023-01-11 12:16:41 +00:00
Dirk Klimpel
73f097888e
Add listener health ( #14747 )
...
Fixes : #8780
2023-01-11 12:00:38 +00:00
Andrew Morgan
7b3a8f2b0c
Add poetry.toml to .gitignore ( #14807 )
2023-01-11 11:44:13 +00:00
Dirk Klimpel
bc7ca704dd
Add tag to listeners documentation ( #14803 )
...
* Add `tag` to `listeners` documentation
* newsfile
2023-01-11 10:47:44 +00:00
Richard van der Hoff
06ab64f201
Implement MSC3925: changes to bundling of edits ( #14811 )
...
Two parts to this:
* Bundle the whole of the replacement with any edited events. This is backwards-compatible so I haven't put it behind a flag.
* Optionally, inhibit server-side replacement of edited events. This has scope to break things, so it is currently disabled by default.
2023-01-10 16:31:28 +00:00
David Robertson
f417fb84b8
Update changelog 2
2023-01-10 12:30:01 +00:00
David Robertson
e5c01272a7
Update changelog
2023-01-10 12:26:19 +00:00
David Robertson
9a4c69f59f
1.75.0rc1
2023-01-10 12:18:50 +00:00
reivilibre
ba4ea7d13f
Batch up replication requests to request the resyncing of remote users's devices. ( #14716 )
2023-01-10 11:17:59 +00:00
Dirk Klimpel
3479599387
Add missing worker settings to shared configuration ( #14748 )
...
* Add missing worker settings to shared configuration
* newsfile
* update docs after review
* more update for doc
* This -> These
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2023-01-09 18:35:19 +00:00
Andrew Morgan
54a7228fa6
Skip testing pypy-3.7-linux wheels as we don't have openssl 3.x on manylinux2014 ( #14802 )
2023-01-09 17:51:37 +00:00
Jeyachandran Rathnam
58d2adc3da
Remove undocumented device from pushrules ( #14727 )
...
* Remove undocumented device from pushrules
* Add changelog
* Update changelog.d/14727.misc
* Rename 14727.misc to 14727.bugfix
Co-authored-by: David Robertson <davidr@element.io >
2023-01-09 17:17:24 +00:00
Dirk Klimpel
c7b2c31161
Update link to towncrier in contribution guide ( #14801 )
...
* Update link to towncrier in contribution guide
* newsfile
2023-01-09 16:33:49 +00:00
David Robertson
c0145b06f5
Fix upgrade notes for installing ICU ( #14797 )
...
* Fix upgrade notes for installing ICU
As noticed in https://github.com/matrix-org/synapse/pull/14712/files#r1058433297
* Changelog
2023-01-09 14:43:46 +00:00
Jeyachandran Rathnam
babeeb4e7a
Unescape HTML entities in oEmbed titles. ( #14781 )
...
It doesn't seem valid that HTML entities should appear in
the title field of oEmbed responses, but a popular WordPress
plug-in seems to do it.
There should not be harm in unescaping these.
2023-01-09 14:22:02 +00:00
Patrick Cloke
7e582a25f8
Improve /sync performance of when passing filters with empty arrays. ( #14786 )
...
This has two related changes:
* It enables fast-path processing for an empty filter (`[]`) which was
previously only used for wildcard not-filters (`["*"]`).
* It special cases a `/sync` filter with no-rooms to skip all room
processing, previously we would partially skip processing, but would
generally still calculate intermediate values for each room which were
then unused.
Future changes might consider further optimizations:
* Skip calculating per-room account data when all rooms are filtered (currently
this is thrown away).
* Make similar improvements to other endpoints which support filters.
2023-01-09 08:43:50 -05:00
Jeyachandran Rathnam
5e0888076f
Disable sending confirmation email when 3pid is disabled #14682 ( #14725 )
...
* Fixes #12277 :Disable sending confirmation email when 3pid is disabled
* Fix test_add_email_if_disabled test case to reflect changes to enable_3pid_changes flag
* Add changelog file
* Rename newsfragment.
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2023-01-09 11:12:03 +00:00
dependabot[bot]
b4de0c63df
Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1 ( #14791 )
...
* Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages ) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases )
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md )
- [Commits](de7ea6f8ef...64b46b4226 )
---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:09:13 +00:00
dependabot[bot]
1438f93948
Bump importlib-metadata from 4.2.0 to 6.0.0 ( #14795 )
...
* Bump importlib-metadata from 4.2.0 to 6.0.0
Bumps [importlib-metadata](https://github.com/python/importlib_metadata ) from 4.2.0 to 6.0.0.
- [Release notes](https://github.com/python/importlib_metadata/releases )
- [Changelog](https://github.com/python/importlib_metadata/blob/main/CHANGES.rst )
- [Commits](https://github.com/python/importlib_metadata/compare/v4.2.0...v6.0.0 )
---
updated-dependencies:
- dependency-name: importlib-metadata
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:08:50 +00:00
dependabot[bot]
32c2ff8eab
Bump ruff from 0.0.206 to 0.0.215 ( #14796 )
...
* Bump ruff from 0.0.206 to 0.0.215
Bumps [ruff](https://github.com/charliermarsh/ruff ) from 0.0.206 to 0.0.215.
- [Release notes](https://github.com/charliermarsh/ruff/releases )
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md )
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.206...v0.0.215 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:08:43 +00:00
dependabot[bot]
51c8ebec33
Bump types-setuptools from 65.6.0.2 to 65.6.0.3 ( #14794 )
...
* Bump types-setuptools from 65.6.0.2 to 65.6.0.3
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.6.0.2 to 65.6.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:08:03 +00:00
dependabot[bot]
0ae8feee18
Bump pyopenssl from 22.1.0 to 23.0.0 ( #14793 )
...
* Bump pyopenssl from 22.1.0 to 23.0.0
Bumps [pyopenssl](https://github.com/pyca/pyopenssl ) from 22.1.0 to 23.0.0.
- [Release notes](https://github.com/pyca/pyopenssl/releases )
- [Changelog](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/pyopenssl/compare/22.1.0...23.0.0 )
---
updated-dependencies:
- dependency-name: pyopenssl
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:07:52 +00:00
dependabot[bot]
331797586e
Bump types-pillow from 9.3.0.4 to 9.4.0.0 ( #14792 )
...
* Bump types-pillow from 9.3.0.4 to 9.4.0.0
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.3.0.4 to 9.4.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-09 10:07:24 +00:00
reivilibre
1984fc16f1
Use htmltest to check links in the Synapse documentation. ( #14743 )
...
* Add htmltest to check links in the documentation
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-01-05 18:21:45 +00:00
reivilibre
4eb2f4e02b
Fix broken links in the Synapse documentation. ( #14744 )
...
* Fix stale external links
* Fix some internal links
* Fix URLs without trailing / where needed
* Fix more links
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Reapply docs/openid.md fix after conflict
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2023-01-05 18:18:00 +00:00
dependabot[bot]
7b642167e6
Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1 ( #14731 )
...
* Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1
Bumps [JasonEtco/create-an-issue](https://github.com/JasonEtco/create-an-issue ) from 2.8.2 to 2.9.1.
- [Release notes](https://github.com/JasonEtco/create-an-issue/releases )
- [Commits](3a8ba79651...e27dddc79c )
---
updated-dependencies:
- dependency-name: JasonEtco/create-an-issue
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
2023-01-05 10:10:43 +00:00
dependabot[bot]
70961911a8
Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3 ( #14779 )
...
* Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.24.2 to 2.24.3.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](e6e25ac3a2...bd10f381a9 )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-05 09:51:09 +00:00
dependabot[bot]
da911e9ddf
Bump types-requests from 2.28.11.5 to 2.28.11.7 ( #14763 )
...
* Bump types-requests from 2.28.11.5 to 2.28.11.7
Bumps [types-requests](https://github.com/python/typeshed ) from 2.28.11.5 to 2.28.11.7.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-05 09:50:52 +00:00
dependabot[bot]
bd9ada3860
Bump pillow from 9.3.0 to 9.4.0 ( #14762 )
...
* Bump pillow from 9.3.0 to 9.4.0
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 9.3.0 to 9.4.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/9.3.0...9.4.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-05 09:50:41 +00:00
dependabot[bot]
be26379d00
Bump gitpython from 3.1.29 to 3.1.30 ( #14761 )
...
* Bump gitpython from 3.1.29 to 3.1.30
Bumps [gitpython](https://github.com/gitpython-developers/GitPython ) from 3.1.29 to 3.1.30.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases )
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES )
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.29...3.1.30 )
---
updated-dependencies:
- dependency-name: gitpython
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-01-05 09:50:14 +00:00
dependabot[bot]
62aa5c514d
Bump pydantic from 1.10.2 to 1.10.4 ( #14760 )
2023-01-05 09:50:03 +00:00
dependabot[bot]
f79ef37b8c
Bump ruff from 0.0.189 to 0.0.206 ( #14759 )
2023-01-05 09:49:50 +00:00
dependabot[bot]
827678196e
Bump serde from 1.0.151 to 1.0.152 ( #14758 )
2023-01-05 09:49:35 +00:00
Patrick Cloke
44b476b26e
Document how to use Twitter as an OAuth 2.0 provider. ( #14778 )
...
This also alphabetizes the documentation for the various OpenID providers.
2023-01-04 15:00:27 -05:00
Patrick Cloke
630d0aeaf6
Support RFC7636 PKCE in the OAuth 2.0 flow. ( #14750 )
...
PKCE can protect against certain attacks and is enabled by default. Support
can be controlled manually by setting the pkce_method of each oidc_providers
entry to 'auto' (default), 'always', or 'never'.
This is required by Twitter OAuth 2.0 support.
2023-01-04 14:58:08 -05:00
Erik Johnston
747f8eb231
Use env vars in GHA dependabot changelog ( #14772 )
2023-01-04 16:46:25 +00:00
Andrew Morgan
e787fb776c
Switch to our fork of dh-virtualenv for compatibility with Python 3.11 ( #14774 )
2023-01-04 16:26:29 +00:00
Patrick Cloke
906dfaa2cf
Support non-OpenID compliant user info endpoints ( #14753 )
...
OpenID specifies the format of the user info endpoint and some
OAuth 2.0 IdPs do not follow it, e.g. NextCloud and Twitter.
This adds subject_template and picture_template options to the
default mapping provider for more flexibility in matching those user
info responses.
2023-01-04 08:26:10 -05:00
Nick Mills-Barrett
db1cfe9c80
Update all stream IDs after processing replication rows ( #14723 )
...
This creates a new store method, `process_replication_position` that
is called after `process_replication_rows`. By moving stream ID advances
here this guarantees any relevant cache invalidations will have been
applied before the stream is advanced.
This avoids race conditions where Python switches between threads mid
way through processing the `process_replication_rows` method where stream
IDs may be advanced before caches are invalidated due to class resolution
ordering.
See this comment/issue for further discussion:
https://github.com/matrix-org/synapse/issues/14158#issuecomment-1344048703
2023-01-04 11:49:26 +00:00
Andrew Morgan
c4456114e1
Add experimental support for MSC3391: deleting account data ( #14714 )
2023-01-01 03:40:46 +00:00
Patrick Cloke
044fa1a1de
Actually use the picture_claim as configured in OIDC config. ( #14751 )
...
Previously it was only using the default value ("picture") when
fetching the picture from the user info.
2022-12-29 12:18:06 -05:00
dependabot[bot]
eb9ae47799
Bump attrs from 22.1.0 to 22.2.0 ( #14734 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-29 11:21:56 +01:00
dependabot[bot]
368ad7c5c7
Bump isort from 5.10.1 to 5.11.4 ( #14733 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-29 10:49:30 +01:00
dependabot[bot]
8ea6fd8d0b
Bump setuptools from 65.3.0 to 65.5.1 ( #14738 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-29 10:48:39 +01:00
dependabot[bot]
ba2d38f22d
Bump black from 22.10.0 to 22.12.0 ( #14735 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-28 17:53:25 +00:00
dependabot[bot]
ee0e00a200
Bump sentry-sdk from 1.12.0 to 1.12.1 ( #14736 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-28 17:53:18 +00:00
dependabot[bot]
9aaf27b42a
Bump towncrier from 22.8.0 to 22.12.0 ( #14732 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-28 17:53:11 +00:00
reivilibre
46993770e5
Suppress the update check in the ruff linter. ( #14741 )
...
* Suppress update check in ruff
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-12-28 17:23:19 +00:00
Vertux
8d20b1ba1e
Broken link "request_id_header" ( #14740 )
...
* Broken link "request_id_header"
The link above leads to an ERROR 404
* Update docs/reverse_proxy.md
Co-authored-by: reivilibre <olivier@librepush.net >
2022-12-28 15:45:28 +00:00
Brendan Abolivier
3854d0f949
Add a cached helper to the module API ( #14663 )
2022-12-28 13:48:21 +00:00
Patrick Cloke
a4ca770655
Add missing type hints to tests. ( #14687 )
...
Adds type hints to tests.metrics and tests.crypto.
2022-12-28 08:29:35 -05:00
Dirk Klimpel
2fb4071c1f
Move email to Server section in config file documentation ( #14730 )
...
* Move `email` to server in config file documentation
* changelog
2022-12-28 12:17:51 +00:00
Richard van der Hoff
a52822d39c
Log to-device msgids when we return them over /sync ( #14724 )
2022-12-23 14:04:50 +00:00
Jeyachandran Rathnam
5c9be9c760
Check sqlite database file exists before porting. ( #14692 )
...
To avoid creating an empty SQLite file if the given path
is incorrect.
2022-12-22 13:26:37 -05:00
Patrick Cloke
14abf22dd6
Update docs about ruff vs. flake8.
2022-12-21 13:08:20 -05:00
Patrick Cloke
7010a3d015
Switch to ruff instead of flake8. ( #14633 )
...
ruff is a flake8-compatible Python linter written in Rust.
It supports the flake8 plugins that we use and is significantly
faster in testing.
2022-12-21 13:05:21 -05:00
Patrick Cloke
5831bed450
Bump minimum PyYAML to 3.13. ( #14720 )
...
PyYAML 3.13 fixes some issues with Python 3.7 compatibility
and was released in 2018.
2022-12-21 12:29:19 -05:00
Olivier Wilkinson (reivilibre)
b624e010f1
(remove no-op changelog entry)
2022-12-21 12:28:55 +00:00
reivilibre
ec656be480
Revert update of hiredis in Poetry lockfile: revert from 2.1.0 to 2.0.0. ( #14718 )
...
* Revert "Bump hiredis from 2.0.0 to 2.1.0 (#14699 )"
This reverts commit 9c89707b56 .
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-12-21 12:28:13 +00:00
Sean Quah
43c54ba753
Merge branch 'master' into develop
2022-12-20 18:09:30 +00:00
Sean Quah
774e20b570
1.74.0
2022-12-20 16:08:33 +00:00
Mathieu Velten
eb2defc2f7
Add release note and update doc regarding ICU ( #14712 )
...
Fixes #14704 .
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-12-20 16:06:26 +00:00
dependabot[bot]
4be998add4
Bump lxml from 4.9.1 to 4.9.2 ( #14698 )
...
* Bump lxml from 4.9.1 to 4.9.2
Bumps [lxml](https://github.com/lxml/lxml ) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/lxml/lxml/releases )
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt )
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.1...lxml-4.9.2 )
---
updated-dependencies:
- dependency-name: lxml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:48:20 +00:00
dependabot[bot]
af347e4d69
Bump serde_json from 1.0.89 to 1.0.91 ( #14696 )
...
* Bump serde_json from 1.0.89 to 1.0.91
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.89 to 1.0.91.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.89...v1.0.91 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:48:06 +00:00
dependabot[bot]
4de951180d
Bump anyhow from 1.0.66 to 1.0.68 ( #14694 )
...
* Bump anyhow from 1.0.66 to 1.0.68
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.66 to 1.0.68.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.66...1.0.68 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:47:56 +00:00
Andrew Morgan
a17c4e0590
Add the .direnv/ directory to .gitignore ( #14707 )
2022-12-19 16:44:09 +00:00
dependabot[bot]
e8884cc282
Bump serde from 1.0.150 to 1.0.151 ( #14697 )
...
* Bump serde from 1.0.150 to 1.0.151
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.150 to 1.0.151.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.150...v1.0.151 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:01:02 +00:00
dependabot[bot]
08a881dba4
Bump types-jsonschema from 4.17.0.1 to 4.17.0.2 ( #14700 )
...
* Bump types-jsonschema from 4.17.0.1 to 4.17.0.2
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.1 to 4.17.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:00:27 +00:00
dependabot[bot]
4f1eba469c
Bump types-setuptools from 65.6.0.1 to 65.6.0.2 ( #14702 )
...
* Bump types-setuptools from 65.6.0.1 to 65.6.0.2
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.6.0.1 to 65.6.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-12-19 16:00:05 +00:00
reivilibre
2888d7ec83
Faster remote room joins: invalidate caches and unblock requests when receiving un-partial-stated event notifications over replication. [rei:frrj/streams/unpsr] ( #14546 )
2022-12-19 14:57:51 +00:00
dependabot[bot]
adbf0cffc4
Bump sentry-sdk from 1.11.1 to 1.12.0 ( #14701 )
...
* Bump sentry-sdk from 1.11.1 to 1.12.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.11.1...1.12.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-19 14:15:29 +00:00
dependabot[bot]
9c89707b56
Bump hiredis from 2.0.0 to 2.1.0 ( #14699 )
...
* Bump hiredis from 2.0.0 to 2.1.0
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.0.0...v2.1.0 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-19 14:14:12 +00:00
dependabot[bot]
51abfe5625
Bump blake2 from 0.10.5 to 0.10.6 ( #14695 )
...
* Bump blake2 from 0.10.5 to 0.10.6
Bumps [blake2](https://github.com/RustCrypto/hashes ) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/blake2-v0.10.5...blake2-v0.10.6 )
---
updated-dependencies:
- dependency-name: blake2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-19 14:11:15 +00:00
dependabot[bot]
9205249be7
Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2 ( #14693 )
...
* Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2
Bumps [JasonEtco/create-an-issue](https://github.com/JasonEtco/create-an-issue ) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/JasonEtco/create-an-issue/releases )
- [Commits](77399b6110...3a8ba79651 )
---
updated-dependencies:
- dependency-name: JasonEtco/create-an-issue
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-19 14:10:29 +00:00
Patrick Cloke
3aeca2588b
Add missing type hints to tests.config. ( #14681 )
2022-12-16 08:53:28 -05:00
reivilibre
864c3f85b0
Improve type annotations for the helper methods on a CachedFunction. ( #14685 )
2022-12-16 13:04:54 +00:00
Patrick Cloke
652d1669c5
Add missing type hints to tests.handlers. ( #14680 )
...
And do not allow untyped defs in tests.handlers.
2022-12-16 11:53:01 +00:00
Mathieu Velten
54c012c5a8
Make handle_new_client_event throws PartialStateConflictError ( #14665 )
...
Then adapts calling code to retry when needed so it doesn't 500
to clients.
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-12-15 16:04:23 +00:00
Jeremy Kescher
046320b9b6
Fix missing word in autotune sub-option description ( #14674 )
...
Fix `target_memory_usage` being used in the description for the actual `cache_autotune` sub-option `target_cache_memory_usage`.
Signed-off-by: Jeremy Kescher <jeremy@kescher.at >
Signed-off-by: Jeremy Kescher <jeremy@kescher.at >
2022-12-14 20:03:13 -08:00
David Robertson
4f4d690423
Allow compute_state_after_events to use partial state ( #14676 )
...
* Allow `compute_state_after_events` to use partial state
if fetching a subset of state that is trusted during a partial join.
* Changelog
2022-12-14 14:52:35 +00:00
reivilibre
fb60cb16fe
Faster remote room joins: stream the un-partial-stating of events over replication. [rei:frrj/streams/unpsr] ( #14545 )
2022-12-14 14:47:11 +00:00
Patrick Cloke
24a97b3e71
Delete event_push_summary_unique_index again. ( #14669 )
...
if a Synapse deployment upgraded (from < 1.62.0 to >= 1.70.0) then it
is possible for schema deltas to run before background updates causing
drift in the database schema due to:
1. A delta registered a background update to create an index.
2. A delta dropped the above index if it exists (but it yet exist won't since
the background job hasn't run).
3. The code assumed the index was dropped.
To fix this we:
1. Cancel the background update which could create the index.
2. Drop the index again.
3. Drop a related index which is dropped by the background update.
2022-12-14 09:25:33 -05:00
Jeyachandran Rathnam
e512b25cd1
Fix #11308 : Remove dependency on jquery on reCAPTCHA page ( #14672 )
2022-12-14 12:02:28 +00:00
Sean Quah
5025dbf7a2
Merge tag 'v1.74.0rc1' into develop
...
Synapse 1.74.0rc1 (2022-12-13)
==============================
Features
--------
- Improve user search for international display names. ([\#14464](https://github.com/matrix-org/synapse/issues/14464 ))
- Stop using deprecated `keyIds` parameter when calling `/_matrix/key/v2/server`. ([\#14490](https://github.com/matrix-org/synapse/issues/14490 ), [\#14525](https://github.com/matrix-org/synapse/issues/14525 ))
- Add new `push.enabled` config option to allow opting out of push notification calculation. ([\#14551](https://github.com/matrix-org/synapse/issues/14551 ), [\#14619](https://github.com/matrix-org/synapse/issues/14619 ))
- Advertise support for Matrix 1.5 on `/_matrix/client/versions`. ([\#14576](https://github.com/matrix-org/synapse/issues/14576 ))
- Improve opentracing and logging for to-device message handling. ([\#14598](https://github.com/matrix-org/synapse/issues/14598 ))
- Allow selecting "prejoin" events by state keys in addition to event types. ([\#14642](https://github.com/matrix-org/synapse/issues/14642 ))
Bugfixes
--------
- Fix a long-standing bug where a device list update might not be sent to clients in certain circumstances. ([\#14435](https://github.com/matrix-org/synapse/issues/14435 ), [\#14592](https://github.com/matrix-org/synapse/issues/14592 ), [\#14604](https://github.com/matrix-org/synapse/issues/14604 ))
- Suppress a spurious warning when `POST /rooms/<room_id>/<membership>/`, `POST /join/<room_id_or_alias`, or the unspecced `PUT /join/<room_id_or_alias>/<txn_id>` receive an empty HTTP request body. ([\#14600](https://github.com/matrix-org/synapse/issues/14600 ))
- Return spec-compliant JSON errors when unknown endpoints are requested. ([\#14620](https://github.com/matrix-org/synapse/issues/14620 ), [\#14621](https://github.com/matrix-org/synapse/issues/14621 ))
- Update html templates to load images over HTTPS. Contributed by @ashfame. ([\#14625](https://github.com/matrix-org/synapse/issues/14625 ))
- Fix a long-standing bug where the user directory would return 1 more row than requested. ([\#14631](https://github.com/matrix-org/synapse/issues/14631 ))
- Reject invalid read receipt requests with empty room or event IDs. Contributed by Nick @ Beeper (@fizzadar). ([\#14632](https://github.com/matrix-org/synapse/issues/14632 ))
- Fix a bug introduced in Synapse 1.67.0 where not specifying a config file or a server URL would lead to the `register_new_matrix_user` script failing. ([\#14637](https://github.com/matrix-org/synapse/issues/14637 ))
- Fix a long-standing bug where the user directory and room/user stats might be out of sync. ([\#14639](https://github.com/matrix-org/synapse/issues/14639 ), [\#14643](https://github.com/matrix-org/synapse/issues/14643 ))
- Fix a bug introduced in Synapse 1.72.0 where the background updates to add non-thread unique indexes on receipts would fail if they were previously interrupted. ([\#14650](https://github.com/matrix-org/synapse/issues/14650 ))
- Improve validation of field size limits in events. ([\#14664](https://github.com/matrix-org/synapse/issues/14664 ))
- Fix bugs introduced in Synapse 1.55.0 and 1.69.0 where application services would not be notified of events in the correct rooms, due to stale caches. ([\#14670](https://github.com/matrix-org/synapse/issues/14670 ))
Improved Documentation
----------------------
- Update worker settings for `pusher` and `federation_sender` functionality. ([\#14493](https://github.com/matrix-org/synapse/issues/14493 ))
- Add links to third party package repositories, and point to the bug which highlights Ubuntu's out-of-date packages. ([\#14517](https://github.com/matrix-org/synapse/issues/14517 ))
- Remove old, incorrect minimum postgres version note and replace with a link to the [Dependency Deprecation Policy](https://matrix-org.github.io/synapse/v1.73/deprecation_policy.html ). ([\#14590](https://github.com/matrix-org/synapse/issues/14590 ))
- Add Single-Sign On setup instructions for Mastodon-based instances. ([\#14594](https://github.com/matrix-org/synapse/issues/14594 ))
- Change `turn_allow_guests` example value to lowercase `true`. ([\#14634](https://github.com/matrix-org/synapse/issues/14634 ))
Internal Changes
----------------
- Optimise push badge count calculations. Contributed by Nick @ Beeper (@fizzadar). ([\#14255](https://github.com/matrix-org/synapse/issues/14255 ))
- Faster remote room joins: stream the un-partial-stating of rooms over replication. ([\#14473](https://github.com/matrix-org/synapse/issues/14473 ), [\#14474](https://github.com/matrix-org/synapse/issues/14474 ))
- Share the `ClientRestResource` for both workers and the main process. ([\#14528](https://github.com/matrix-org/synapse/issues/14528 ))
- Add `--editable` flag to `complement.sh` which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. ([\#14548](https://github.com/matrix-org/synapse/issues/14548 ))
- Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room. ([\#14549](https://github.com/matrix-org/synapse/issues/14549 ))
- Modernize unit tests configuration related to workers. ([\#14568](https://github.com/matrix-org/synapse/issues/14568 ))
- Bump jsonschema from 4.17.0 to 4.17.3. ([\#14591](https://github.com/matrix-org/synapse/issues/14591 ))
- Fix Rust lint CI. ([\#14602](https://github.com/matrix-org/synapse/issues/14602 ))
- Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1. ([\#14607](https://github.com/matrix-org/synapse/issues/14607 ))
- Alter some unit test environment parameters to decrease time spent running tests. ([\#14610](https://github.com/matrix-org/synapse/issues/14610 ))
- Switch to Go recommended installation method for `gotestfmt` template in CI. ([\#14611](https://github.com/matrix-org/synapse/issues/14611 ))
- Bump phonenumbers from 8.13.0 to 8.13.1. ([\#14612](https://github.com/matrix-org/synapse/issues/14612 ))
- Bump types-setuptools from 65.5.0.3 to 65.6.0.1. ([\#14613](https://github.com/matrix-org/synapse/issues/14613 ))
- Bump twine from 4.0.1 to 4.0.2. ([\#14614](https://github.com/matrix-org/synapse/issues/14614 ))
- Bump types-requests from 2.28.11.2 to 2.28.11.5. ([\#14615](https://github.com/matrix-org/synapse/issues/14615 ))
- Bump cryptography from 38.0.3 to 38.0.4. ([\#14616](https://github.com/matrix-org/synapse/issues/14616 ))
- Remove useless cargo install with apt from Dockerfile. ([\#14636](https://github.com/matrix-org/synapse/issues/14636 ))
- Bump certifi from 2021.10.8 to 2022.12.7. ([\#14645](https://github.com/matrix-org/synapse/issues/14645 ))
- Bump flake8-bugbear from 22.10.27 to 22.12.6. ([\#14656](https://github.com/matrix-org/synapse/issues/14656 ))
- Bump packaging from 21.3 to 22.0. ([\#14657](https://github.com/matrix-org/synapse/issues/14657 ))
- Bump types-pillow from 9.3.0.1 to 9.3.0.4. ([\#14658](https://github.com/matrix-org/synapse/issues/14658 ))
- Bump serde from 1.0.148 to 1.0.150. ([\#14659](https://github.com/matrix-org/synapse/issues/14659 ))
- Bump phonenumbers from 8.13.1 to 8.13.2. ([\#14660](https://github.com/matrix-org/synapse/issues/14660 ))
- Bump authlib from 1.1.0 to 1.2.0. ([\#14661](https://github.com/matrix-org/synapse/issues/14661 ))
- Move `StateFilter` to `synapse.types`. ([\#14668](https://github.com/matrix-org/synapse/issues/14668 ))
- Improve type hints. ([\#14597](https://github.com/matrix-org/synapse/issues/14597 ), [\#14646](https://github.com/matrix-org/synapse/issues/14646 ), [\#14671](https://github.com/matrix-org/synapse/issues/14671 ))
2022-12-13 18:27:48 +00:00
David Robertson
d567a8265f
Declare support for Python 3.11 ( #14673 )
...
* Declare support for Python 3.11
* Changelog
2022-12-13 15:36:27 +00:00
reivilibre
51e7255fbb
Fix the *MAU Limits* section of the Grafana dashboard relying on a specific job name for the workers of a Synapse deployment. ( #14644 )
2022-12-13 14:19:43 +00:00
Sean Quah
e70f398f4a
Tidy up CHANGES.md
2022-12-13 13:44:19 +00:00
Patrick Cloke
2920e540bf
Use the room type from stats in hierarchy response. ( #14263 )
...
This avoids pulling additional state information (and events) from
the database for each item returned in the hierarchy response.
The room type might be out of date until a background update finishes
running, the worst impact of this would be spaces being treated as rooms
in the hierarchy response. This should self-heal once the background
update finishes.
2022-12-13 08:43:53 -05:00
Sean Quah
822646b636
Tidy up CHANGES.md
2022-12-13 13:41:14 +00:00
Sean Quah
b8cf480fa9
1.74.0rc1
2022-12-13 13:30:07 +00:00
reivilibre
62ed877433
Improve validation of field size limits in events. ( #14664 )
2022-12-13 13:19:19 +00:00
David Robertson
e2a1adbf5d
Allow selecting "prejoin" events by state keys ( #14642 )
...
* Declare new config
* Parse new config
* Read new config
* Don't use trial/our TestCase where it's not needed
Before:
```
$ time trial tests/events/test_utils.py > /dev/null
real 0m2.277s
user 0m2.186s
sys 0m0.083s
```
After:
```
$ time trial tests/events/test_utils.py > /dev/null
real 0m0.566s
user 0m0.508s
sys 0m0.056s
```
* Helper to upsert to event fields
without exceeding size limits.
* Use helper when adding invite/knock state
Now that we allow admins to include events in prejoin room state with
arbitrary state keys, be a good Matrix citizen and ensure they don't
accidentally create an oversized event.
* Changelog
* Move StateFilter tests
should have done this in #14668
* Add extra methods to StateFilter
* Use StateFilter
* Ensure test file enforces typed defs; alphabetise
* Workaround surprising get_current_state_ids
* Whoops, fix mypy
2022-12-13 00:54:46 +00:00
David Robertson
3d87847ecc
Enable --warn-redundant-casts option in mypy ( #14671 )
...
* Enable `--warn-redundant-casts` option in mypy
Doesn't do much but helps me sleep better at night.
* Changelog
* Fix name of the ignore
* Fix one more missed cast
Not sure why I didn't see this one locally, maybe I needed a poetry update
* Remove old comment
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-12-12 21:25:07 +00:00
Sean Quah
7982891794
Fix missing cache invalidation in application service code ( #14670 )
...
#11915 introduced the `@cached` `is_interested_in_room` method in
Synapse 1.55.0, which depends upon `get_aliases_for_room`. Add a missing
cache invalidation callback so that the `is_interested_in_room` cache is
invalidated when `get_aliases_for_room` is invalidated.
#13787 made `get_rooms_for_user` `@cached`. Add a missing cache
invalidation callback so that the `is_interested_in_presence` cache is
invalidated when `get_rooms_for_user` is invalidated.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-12-12 18:13:43 +00:00
David Robertson
b5b5f66084
Move StateFilter to synapse.types ( #14668 )
...
* Move `StateFilter` to `synapse.types`
* Changelog
2022-12-12 16:19:30 +00:00
reivilibre
74b89c2761
Revert the deletion of stale devices due to performance issues. ( #14662 )
2022-12-12 13:55:23 +00:00
dependabot[bot]
527366f962
Bump packaging from 21.3 to 22.0 ( #14657 )
...
* Bump packaging from 21.3 to 22.0
Bumps [packaging](https://github.com/pypa/packaging ) from 21.3 to 22.0.
- [Release notes](https://github.com/pypa/packaging/releases )
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pypa/packaging/compare/21.3...22.0 )
---
updated-dependencies:
- dependency-name: packaging
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 13:05:38 +00:00
dependabot[bot]
b087964875
Bump flake8-bugbear from 22.10.27 to 22.12.6 ( #14656 )
...
* Bump flake8-bugbear from 22.10.27 to 22.12.6
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear ) from 22.10.27 to 22.12.6.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases )
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/22.10.27...22.12.6 )
---
updated-dependencies:
- dependency-name: flake8-bugbear
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 12:22:51 +00:00
Brendan Abolivier
2a3cd59dd0
Add optional ICU support for user search ( #14464 )
...
Fixes #13655
This change uses ICU (International Components for Unicode) to improve boundary detection in user search.
This change also adds a new dependency on libicu-dev and pkg-config for the Debian packages, which are available in all supported distros.
2022-12-12 13:21:17 +01:00
dependabot[bot]
a5d8fee097
Bump phonenumbers from 8.13.1 to 8.13.2 ( #14660 )
...
* Bump phonenumbers from 8.13.1 to 8.13.2
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.1 to 8.13.2.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.1...v8.13.2 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:52:08 +00:00
dependabot[bot]
ceb7be56a6
Bump serde from 1.0.148 to 1.0.150 ( #14659 )
...
* Bump serde from 1.0.148 to 1.0.150
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.148 to 1.0.150.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.150 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:44:17 +00:00
dependabot[bot]
eb32bc5056
Bump authlib from 1.1.0 to 1.2.0 ( #14661 )
...
* Bump authlib from 1.1.0 to 1.2.0
Bumps [authlib](https://github.com/lepture/authlib ) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/lepture/authlib/releases )
- [Changelog](https://github.com/lepture/authlib/blob/master/docs/changelog.rst )
- [Commits](https://github.com/lepture/authlib/compare/v1.1.0...v1.2.0 )
---
updated-dependencies:
- dependency-name: authlib
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:41:40 +00:00
dependabot[bot]
4ea8745724
Bump types-pillow from 9.3.0.1 to 9.3.0.4 ( #14658 )
...
* Bump types-pillow from 9.3.0.1 to 9.3.0.4
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.3.0.1 to 9.3.0.4.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:26:05 +00:00
Sean Quah
373c485d8c
Handle half-created indices in receipts index background update ( #14650 )
...
When Synapse is terminated while running the background update to create
the `receipts_graph` or `receipts_linearized` indexes, the indexes may
be successfully created (or marked as invalid on postgres) while the
background update remains unfinished. When Synapse next starts up, the
background update will fail because the index already exists, or exists
but is invalid on postgres.
Use the existing code to create indices in background updates, since it
handles these edge cases.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-12-09 23:02:11 +00:00
Patrick Cloke
3ac412b4e2
Require types in tests.storage. ( #14646 )
...
Adds missing type hints to `tests.storage` package
and does not allow untyped definitions.
2022-12-09 12:36:32 -05:00
Erik Johnston
94bc21e69f
Limit the number of devices we delete at once ( #14649 )
2022-12-09 13:31:32 +00:00
Erik Johnston
c2de2ca630
Delete stale non-e2e devices for users, take 2 ( #14595 )
...
This should help reduce the number of devices e.g. simple bots the repeatedly login rack up.
We only delete non-e2e devices as they should be safe to delete, whereas if we delete e2e devices for a user we may accidentally break their ability to receive e2e keys for a message.
2022-12-09 09:37:07 +00:00
Ashish Kumar
a58b550eac
Fix html templates to load images only on HTTPS ( #14625 )
...
This PR changes http-based image URLs to be https in html templates.
This impacts the Synapse SSO error page, where browsers report mixed
media content warnings.
Also, https://matrix.org/img/vector-logo-email.png is currently broken
but the URL has been updated to be https anyway.
Signed-off-by: Ashish Kumar <ashfame@users.noreply.github.com >
2022-12-08 17:28:02 +00:00
Patrick Cloke
c369e95691
Rebuild the user directory and stats tables. ( #14643 )
...
Due to the various fixes to the StreamChangeCache it is not
safe to trust the information in the user directory or room/user
stats tables. Rebuild them as background jobs.
In particular see da77720752 (#14639 ),
and 6a8310f3df (#14435 ).
Maybe also be related to fac8a38525
(#14592 ).
2022-12-08 11:40:20 -05:00
Patrick Cloke
9d8a3234ba
Respond with proper error responses on unknown paths. ( #14621 )
...
Returns a proper 404 with an errcode of M_RECOGNIZED for
unknown endpoints per MSC3743.
2022-12-08 11:37:05 -05:00
Patrick Cloke
da77720752
Check the stream position before checking if the cache is empty. ( #14639 )
...
An empty cache does not mean the entity has no changed, if
it is earlier than the earliest known stream position return that
the entity *has* changed since the cache cannot accurately
answer that query.
2022-12-08 11:35:49 -05:00
dependabot[bot]
f3ad68c343
Bump certifi from 2021.10.8 to 2022.12.7 ( #14645 )
...
* Bump certifi from 2021.10.8 to 2022.12.7
Bumps [certifi](https://github.com/certifi/python-certifi ) from 2021.10.8 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases )
- [Commits](https://github.com/certifi/python-certifi/compare/2021.10.08...2022.12.07 )
---
updated-dependencies:
- dependency-name: certifi
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-08 15:45:31 +00:00
Richard van der Hoff
dfe8febe47
Update admin_faq.md
2022-12-07 22:02:20 +00:00
Nick Mills-Barrett
60c3fea327
Reject receipt requests with invalid room or event IDs. ( #14632 )
...
If the room or event IDs are empty or of an invalid form they
should be rejected.
2022-12-07 17:35:41 +00:00
realtyem
2506dd7641
Unit tests CI speedup ( #14610 )
2022-12-07 15:47:05 +00:00
reivilibre
be3a8a85e3
Add --editable flag to complement.sh which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. ( #14548 )
...
Co-authored-by: Mathieu Velten <mathieuv@matrix.org >
2022-12-07 15:45:31 +00:00
Mathieu Velten
22e91b8019
docker: remove useless cargo install with apt ( #14636 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-12-07 15:29:32 +01:00
reivilibre
96251af50d
Fix a bug introduced in v1.67.0 where not specifying a config file or a server URL would lead to the register_new_matrix_user script failing. ( #14637 )
2022-12-07 13:39:27 +00:00
villepeh
d69bf3b24c
Add Mastodon SSO setup instructions to docs ( #14594 )
...
Fixes https://github.com/matrix-org/synapse/issues/14147
2022-12-07 11:44:53 +00:00
villepeh
9a9568168a
Change turn_allow_guests example value to lowercase true ( #14634 )
...
* Set `turn_allow_guests` example value to lowercase
* Create 14634.doc
2022-12-07 11:33:24 +00:00
reivilibre
cf1059d045
Fix a long-standing bug where the user directory would return 1 more row than requested. ( #14631 )
2022-12-07 11:19:43 +00:00
reivilibre
9e82caac45
Faster remote room joins: unblock tasks waiting for full room state when the un-partial-stating of that room is received over the replication stream. [rei:frrj/streams/unpsr] ( #14474 )
2022-12-06 15:48:42 +00:00
Andrew Morgan
66d47b44cd
docs: Replace old note about Postgres 10+ being required with link to our deprecation policy ( #14590 )
2022-12-06 14:36:04 +00:00
Olivier Wilkinson (reivilibre)
bb9f156978
Merge branch 'master' into develop
2022-12-06 13:37:49 +00:00
Patrick Cloke
9b6224577e
Failover on proper error responses. ( #14620 )
...
When querying a remote server handle a 404/405 with an
errcode of M_UNRECOGNIZED as an unimplemented endpoint.
2022-12-06 07:23:03 -05:00
Olivier Wilkinson (reivilibre)
a16931f30d
Minor tweak to tense in changelog
2022-12-06 12:12:37 +00:00
Olivier Wilkinson (reivilibre)
5d7c35b4d9
Tweak changelog
2022-12-06 11:58:15 +00:00
Olivier Wilkinson (reivilibre)
dc6b60f68d
1.73.0
2022-12-06 11:49:37 +00:00
Richard van der Hoff
cb59e08062
Improve logging and opentracing for to-device message handling ( #14598 )
...
A batch of changes intended to make it easier to trace to-device messages through the system.
The intention here is that a client can set a property org.matrix.msgid in any to-device message it sends. That ID is then included in any tracing or logging related to the message. (Suggestions as to where this field should be documented welcome. I'm not enthusiastic about speccing it - it's very much an optional extra to help with debugging.)
I've also generally improved the data we send to opentracing for these messages.
2022-12-06 09:52:55 +00:00
Erik Johnston
cee9445884
Better return type for get_all_entities_changed ( #14604 )
...
Help callers from using the return value incorrectly by ensuring
that callers explicitly check if there was a cache hit or not.
2022-12-05 15:19:14 -05:00
Patrick Cloke
6a8310f3df
Compare to the earliest known stream pos in the stream change cache. ( #14435 )
...
The internal methods of the StreamChangeCache were inconsistently
treating the earliest known stream position as valid. It is now treated as
invalid, meaning the cache cannot determine if an entity at the earliest
known stream position has changed or not.
2022-12-05 09:00:59 -05:00
reivilibre
501f62d1a6
Faster remote room joins: stream the un-partial-stating of rooms over replication. [rei:frrj/streams/unpsr] ( #14473 )
2022-12-05 13:07:55 +00:00
Will Hunt
e1779bc69f
Fix push.enabled config documentation ( #14619 )
...
* Fix push.enabled config documentation
* Create 14619.doc
* Update 14619.doc
2022-12-05 12:47:45 +00:00
David Robertson
93ac3c197e
Suppress empty body warnings in room servelets ( #14600 )
...
* Suppress empty body warnings in room servelets
We've already decided to allow empty bodies for backwards compat. The
change here stops us from emitting a misleading warning; see also
https://github.com/matrix-org/synapse/issues/14478#issuecomment-1319157105
* Changelog
2022-12-05 11:30:41 +00:00
realtyem
05eb55f57d
Handle 'go get' deprecation ( #14611 )
...
* Switch out 'go get' for 'go install'.
* Changelog
2022-12-05 10:29:55 +00:00
dependabot[bot]
057cc7850a
Bump cryptography from 38.0.3 to 38.0.4 ( #14616 )
...
* Bump cryptography from 38.0.3 to 38.0.4
Bumps [cryptography](https://github.com/pyca/cryptography ) from 38.0.3 to 38.0.4.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/38.0.3...38.0.4 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:27:01 +00:00
dependabot[bot]
de6bb61062
Bump types-requests from 2.28.11.2 to 2.28.11.5 ( #14615 )
...
* Bump types-requests from 2.28.11.2 to 2.28.11.5
Bumps [types-requests](https://github.com/python/typeshed ) from 2.28.11.2 to 2.28.11.5.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:10:42 +00:00
dependabot[bot]
7558d294ae
Bump twine from 4.0.1 to 4.0.2 ( #14614 )
...
* Bump twine from 4.0.1 to 4.0.2
Bumps [twine](https://github.com/pypa/twine ) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/4.0.1...4.0.2 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:10:06 +00:00
dependabot[bot]
680a8d4e9e
Bump types-setuptools from 65.5.0.3 to 65.6.0.1 ( #14613 )
...
* Bump types-setuptools from 65.5.0.3 to 65.6.0.1
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.3 to 65.6.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:03:34 +00:00
dependabot[bot]
802539159e
Bump phonenumbers from 8.13.0 to 8.13.1 ( #14612 )
...
* Bump phonenumbers from 8.13.0 to 8.13.1
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.0 to 8.13.1.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.0...v8.13.1 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:01:40 +00:00
dependabot[bot]
e863a99d8d
Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1 ( #14607 )
...
* Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1
Bumps [JasonEtco/create-an-issue](https://github.com/JasonEtco/create-an-issue ) from 2.5.0 to 2.8.1.
- [Release notes](https://github.com/JasonEtco/create-an-issue/releases )
- [Commits](5d9504915f...77399b6110 )
---
updated-dependencies:
- dependency-name: JasonEtco/create-an-issue
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-02 18:36:12 +00:00
Patrick Cloke
f685318c2a
Use ClientRestResource on both the main process and workers. ( #14528 )
...
Add logic to ClientRestResource to decide whether to mount servlets
or not based on whether the current process is a worker.
This is clearer to see what a worker runs than the completely separate /
copy & pasted list of servlets being mounted for workers.
2022-12-02 13:10:05 -05:00
Erik Johnston
890e5f610e
Fix Rust lint CI ( #14602 )
2022-12-02 18:04:28 +00:00
Patrick Cloke
acea4d7a2f
Add missing types to tests.util. ( #14597 )
...
Removes files under tests.util from the ignored by list, then
fully types all tests/util/*.py files.
2022-12-02 17:58:56 +00:00
Patrick Cloke
fac8a38525
Properly handle unknown results for the stream change cache. ( #14592 )
...
StreamChangeCache.get_all_changed_entities can return None to signify
it does not have information at the given stream position. Two callers (related
to device lists and presence) were treating this response the same as an empty
list (i.e. there being no updates).
2022-12-02 10:28:41 -05:00
realtyem
6acb6d772a
Update worker docs to update preferred settings for pusher and federation_sender ( #14493 )
...
* Fix one typo on line 3700(and apparently do something to other lines, no idea)
* Update config_documentation.md with more information about how federation_senders and pushers settings can be handled.
Specifically, that the instance map style of config does not require the special other variables that enable and disable functionality and that a single worker CAN be added to the map not only just two or more.
* Extra line here for consistency and appearance.
* Add link to sygnal repo.
* Add deprecation notice to workers.md and point to the newer alternative method of defining this functionality.
* Changelog
* Correct version number of Synapse the deprecation is happening in.
* Update quiet deprecation with simple notice and suggestion.
2022-12-02 11:38:01 +00:00
dependabot[bot]
656dce4baf
Bump jsonschema from 4.17.0 to 4.17.3 ( #14591 )
...
* Bump jsonschema from 4.17.0 to 4.17.3
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.17.0 to 4.17.3.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.3 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-01 19:05:08 +00:00
dependabot[bot]
058789bada
Bump pyopenssl from 22.0.0 to 22.1.0 ( #14561 )
...
Bumps [pyopenssl](https://github.com/pyca/pyopenssl ) from 22.0.0 to 22.1.0.
- [Release notes](https://github.com/pyca/pyopenssl/releases )
- [Changelog](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/pyopenssl/compare/22.0.0...22.1.0 )
---
updated-dependencies:
- dependency-name: pyopenssl
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-01 19:02:51 +00:00
dependabot[bot]
d32820c7be
Bump sentry-sdk from 1.11.0 to 1.11.1 ( #14562 )
...
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.11.0...1.11.1 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-01 18:54:41 +00:00
dependabot[bot]
6ac35667af
Bump types-bleach from 5.0.3 to 5.0.3.1 ( #14564 )
...
Bumps [types-bleach](https://github.com/python/typeshed ) from 5.0.3 to 5.0.3.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-bleach
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-01 14:24:08 +00:00
dependabot[bot]
c61f1ef716
Bump types-psycopg2 from 2.9.21.1 to 2.9.21.2 ( #14558 )
...
Bumps [types-psycopg2](https://github.com/python/typeshed ) from 2.9.21.1 to 2.9.21.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psycopg2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-01 14:18:27 +00:00
Will Hunt
71f3e53ad0
Add push.enabled option to disable push notification calculation ( #14551 )
...
* Add initial option
* changelog
* Some more linting
2022-12-01 13:46:24 +00:00
David Robertson
781b14ec69
Merge branch 'release-v1.73' into develop
2022-12-01 13:43:30 +00:00
realtyem
854a6884d8
Modernize unit tests configuration settings for workers. ( #14568 )
...
Use the newer foo_instances configuration instead of the
deprecated flags to enable specific features (e.g. start_pushers).
2022-12-01 07:38:27 -05:00
David Robertson
6a41e5022e
1.73.0rc2
2022-12-01 10:02:56 +00:00
David Robertson
89ee169556
Fix MSC3202 link in changelog
2022-12-01 09:59:55 +00:00
David Robertson
7aefc7e9fc
Cite launchpad bug that says ubuntu's pkgs are old ( #14517 )
...
* Cite launchpad bug that says ubuntu's pkgs are old
* Add some cross-references while I'm here
* Changelog
2022-11-30 18:33:35 +00:00
Nick Mills-Barrett
e8bce8999f
Aggregate unread notif count query for badge count calculation ( #14255 )
...
Fetch the unread notification counts used by the badge counts
in push notifications for all rooms at once (instead of fetching
them per room).
2022-11-30 08:45:06 -05:00
Mathieu Velten
4569eda944
Use servers list approx to send read receipts when in partial state ( #14549 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-11-30 13:39:47 +01:00
Richard van der Hoff
ecb6fe9d9c
Stop using deprecated keyIds param on /key/v2/server ( #14525 )
...
Fixes #14523 .
2022-11-30 11:59:57 +00:00
David Robertson
c29e2c6306
Revert "POC delete stale non-e2e devices for users ( #14038 )" ( #14582 )
2022-11-29 17:48:48 +00:00
Patrick Cloke
13aa29db1d
Advertise support for Matrix v1.5. ( #14576 )
...
All features of Matrix v1.5 were already supported: this was
mostly a maintenance release.
2022-11-29 10:49:23 -05:00
David Robertson
99d1897078
Update changelog
2022-11-29 13:41:49 +00:00
David Robertson
807f077db2
Include fixup PR in changelog
2022-11-29 13:24:13 +00:00
David Robertson
e860316818
Fix UndefinedColumn: column "key_json" does not exist errors when handling users with more than 50 non-E2E devices ( #14580 )
2022-11-29 13:05:07 +00:00
David Robertson
8c5b8e6d40
1.73.0rc1
2022-11-29 12:32:02 +00:00
David Robertson
5b0dcda7f0
Fix GHA job for pushing the complement-synapse image ( #14573 )
...
Co-authored-by: Michael Kaye <1917473+michaelkaye@users.noreply.github.com >
2022-11-29 12:22:08 +00:00
Erik Johnston
c7e29ca277
POC delete stale non-e2e devices for users ( #14038 )
...
This should help reduce the number of devices e.g. simple bots the repeatedly login rack up.
We only delete non-e2e devices as they should be safe to delete, whereas if we delete e2e devices for a user we may accidentally break their ability to receive e2e keys for a message.
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-11-29 10:36:41 +00:00
Shay
72f3e38137
Fix possible variable shadow in create_new_client_event ( #14575 )
2022-11-28 19:18:12 -08:00
Travis Ralston
9ccc09fe9e
Support MSC1767's content.body behaviour; Add base rules from MSC3933 ( #14524 )
...
* Support MSC1767's `content.body` behaviour in push rules
* Add the base rules from MSC3933
* Changelog entry
* Flip condition around for finding `m.markup`
* Remove forgotten import
2022-11-28 18:02:41 -07:00
Travis Ralston
dd51828120
Create MSC1767 (extensible events) room version; Implement MSC3932 ( #14521 )
...
* Add MSC1767's dedicated room version, based on v10
* Only enable MSC1767 room version if the config flag is on
Using a similar technique to knocking:
https://github.com/matrix-org/synapse/pull/6739/files#diff-3af529eedb0e00279bafb7369370c9654b37792af8eafa0925400e9281d57f0a
* Support MSC3932: Extensible events room version feature flag
* Changelog entry
2022-11-28 17:22:34 -07:00
Travis Ralston
3da6450327
Initial support for MSC3931: Room version push rule feature flags ( #14520 )
...
* Add support for MSC3931: Room Version Supports push rule condition
* Create experimental flag for future work, and use it to gate MSC3931
* Changelog entry
2022-11-28 16:29:53 -07:00
Eric Eastwood
8f10c8b054
Move MSC3030 /timestamp_to_event endpoint to stable v1 location ( #14471 )
...
Fix https://github.com/matrix-org/synapse/issues/14390
- Client API: `/_matrix/client/unstable/org.matrix.msc3030/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>` -> `/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>`
- Federation API: `/_matrix/federation/unstable/org.matrix.msc3030/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>` -> `/_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>`
Complement test changes: https://github.com/matrix-org/complement/pull/559
2022-11-28 15:54:18 -06:00
Andrew Ferrazzutti
1183c372fa
Use device_one_time_keys_count to match MSC3202 ( #14565 )
...
* Use `device_one_time_keys_count` to match MSC3202
Rename the `device_one_time_key_counts` key in responses to
`device_one_time_keys_count` to match the name specified by MSC3202.
Also change related variable/class names for consistency.
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io >
* Update changelog.d/14565.misc
* Revert name change for `one_time_key_counts` key
as this is a different key altogether from `device_one_time_keys_count`,
which is used for `/sync` instead of appservice transactions.
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io >
2022-11-28 16:17:29 +00:00
Sean Quah
d56f48038a
Fix logging context warnings due to common usage metrics setup ( #14574 )
...
`setup()` is run under the sentinel context manager, so we wrap the
initial update in a background process. Before this change, Synapse
would log two warnings on startup:
Starting db txn 'count_daily_users' from sentinel context
Starting db connection from sentinel context: metrics will be lost
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-28 15:25:18 +00:00
Patrick Cloke
d748bbc8f8
Include thread information when sending receipts over federation. ( #14466 )
...
Include the thread_id field when sending read receipts over
federation. This might result in the same user having multiple
read receipts per-room, meaning multiple EDUs must be sent
to encapsulate those receipts.
This restructures the PerDestinationQueue APIs to support
multiple receipt EDUs, queue_read_receipt now becomes linear
time in the number of queued threaded receipts in the room for
the given user, it is expected this is a small number since receipt
EDUs are sent as filler in transactions.
2022-11-28 14:40:17 +00:00
Sean Quah
f792dd74e1
Remove option to skip locking of tables during emulated upserts ( #14469 )
...
To perform an emulated upsert into a table safely, we must either:
* lock the table,
* be the only writer upserting into the table
* or rely on another unique index being present.
When the 2nd or 3rd cases were applicable, we previously avoided locking
the table as an optimization. However, as seen in #14406 , it is easy to
slip up when adding new schema deltas and corrupt the database.
The only time we lock when performing emulated upserts is while waiting
for background updates on postgres. On sqlite, we do no locking at all.
Let's remove the option to skip locking tables, so that we don't shoot
ourselves in the foot again.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-28 13:42:06 +00:00
Michael Kaye
2dad42a9fb
Push complement image to a docker registry ( #14509 )
...
* GHA workflow to build complement images of key branches.
* Add changelog.d
* GHA workflow to build complement images of key branches.
* Add changelog.d
* Update complement.yml
Remove special casing for michaelk branch.
* Update complement.yml
Should run on master, develop not main, develop
* Rename file to be more obvious
* Merge did not go correctly.
* Setup 5am builds of develop, limit to one run at once.
* Fix crontab---run once at 5AM, not very minute between 5 and 6
* Fix cron syntax again?
* Tweak workflow name
* Allow manual debug runs
* Tweak indentation
Ctrl-Alt-L in PyCharm
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
Co-authored-by: David Robertson <davidr@element.io >
2022-11-28 12:51:40 +00:00
dependabot[bot]
58383c18bd
Bump serde_json from 1.0.88 to 1.0.89 ( #14560 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 12:45:58 +00:00
dependabot[bot]
7a7ee3d6b8
Bump serde from 1.0.147 to 1.0.148 ( #14559 )
...
* Bump serde from 1.0.147 to 1.0.148
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.147 to 1.0.148.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 12:30:12 +00:00
David Robertson
105ab1c3d2
Run Rust CI when Cargo.lock changes too ( #14571 )
...
* Run Rust CI when Cargo.lock changes too
* Changelog
2022-11-28 11:47:16 +00:00
dependabot[bot]
7d24662fdd
Bump dtolnay/rust-toolchain from 55c7845fad90d0ae8b2e83715cb900e5e861e8cb to e645b0cf01249a964ec099494d38d2da0f0b349f ( #14557 )
...
* Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from 55c7845fad90d0ae8b2e83715cb900e5e861e8cb to e645b0cf01249a964ec099494d38d2da0f0b349f.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](55c7845fad...e645b0cf01 )
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 11:08:15 +00:00
Ashish Kumar
09de2aecb0
Add support for handling avatar with SSO login ( #13917 )
...
This commit adds support for handling a provided avatar picture URL
when logging in via SSO.
Signed-off-by: Ashish Kumar <ashfame@users.noreply.github.com >
Fixes #9357 .
2022-11-25 15:16:50 +00:00
Mathieu Velten
39cde585bf
Faster joins: use initial list of servers if we don't have the full state yet ( #14408 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-11-24 18:09:47 +01:00
schmop
c2e06c36d4
Fix crash admin media list api when info is None ( #14537 )
...
Fixes https://github.com/matrix-org/synapse/issues/14536
2022-11-24 10:49:04 +00:00
Benjamin Kampmann
f6c74d1cb2
Implement message forward pagination from start when no from is given, fixes #12383 ( #14149 )
...
Fixes https://github.com/matrix-org/synapse/issues/12383
2022-11-24 09:10:51 +00:00
reivilibre
9af2be192a
Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. ( #14538 )
2022-11-24 09:09:17 +00:00
Mathieu Velten
3b4e150868
Faster joins: use servers list approximation in assert_host_in_room ( #14515 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-11-24 09:10:47 +01:00
Erik Johnston
f38d7d79c8
Add another index to device_lists_changes_in_room ( #14534 )
...
This helps avoid reading unnecessarily large amounts of data from the
table when querying with a set of room IDs.
2022-11-23 14:09:00 +00:00
Patrick Cloke
4ae967cf63
Add missing type hints to test.util.caches ( #14529 )
2022-11-22 17:35:54 -05:00
Eric Eastwood
7f78b383ca
Optimize filter_events_for_client for faster /messages - v2 ( #14527 )
...
Fix #14108
2022-11-22 21:56:28 +00:00
realtyem
df390a8e67
Refactor federation_sender and pusher configuration loading. ( #14496 )
...
To avoid duplicating the same logic for handling legacy configuration
settings.
This should help in applying similar logic to other worker types.
2022-11-22 21:33:58 +00:00
David Robertson
972743051b
Add more prompts to bug report form ( #14522 )
2022-11-22 21:23:22 +00:00
Patrick Cloke
6d47b7e325
Add a type hint for get_device_handler() and fix incorrect types. ( #14055 )
...
This was the last untyped handler from the HomeServer object. Since
it was being treated as Any (and thus unchecked) it was being used
incorrectly in a few places.
2022-11-22 14:08:04 -05:00
Brendan Abolivier
9b4cb1e2ed
Apply correct editorconfig to .pyi files ( #14526 )
...
The current configuration might cause some editors to misbehave when editing stub files.
2022-11-22 18:33:28 +00:00
Sean Quah
9cae44f49e
Track unconverted device list outbound pokes using a position instead ( #14516 )
...
When a local device list change is added to
`device_lists_changes_in_room`, the `converted_to_destinations` flag is
set to `FALSE` and the `_handle_new_device_update_async` background
process is started. This background process looks for unconverted rows
in `device_lists_changes_in_room`, copies them to
`device_lists_outbound_pokes` and updates the flag.
To update the `converted_to_destinations` flag, the database performs a
`DELETE` and `INSERT` internally, which fragments the table. To avoid
this, track unconverted rows using a `(stream ID, room ID)` position
instead of the flag.
From now on, the `converted_to_destinations` column indicates rows that
need converting to outbound pokes, but does not indicate whether the
conversion has already taken place.
Closes #14037 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-22 16:46:52 +00:00
Patrick Cloke
7eb7460042
Parallelize calls to fetch bundled aggregations. ( #14510 )
...
The bundled aggregations for annotations, references, and edits
can be parallelized.
2022-11-22 09:47:32 -05:00
Patrick Cloke
6d7523ef14
Batch fetch bundled references ( #14508 )
...
Avoid an n+1 query problem and fetch the bundled aggregations for
m.reference relations in a single query instead of a query per event.
This applies similar logic for as was previously done for edits in
8b309adb43 (#11660 ; threads
in b65acead42 (#11752 ); and
annotations in 1799a54a54 (#14491 ).
2022-11-22 09:41:09 -05:00
Patrick Cloke
1799a54a54
Batch fetch bundled annotations ( #14491 )
...
Avoid an n+1 query problem and fetch the bundled aggregations for
m.annotation relations in a single query instead of a query per event.
This applies similar logic for as was previously done for edits in
8b309adb43 (#11660 ) and threads
in b65acead42 (#11752 ).
2022-11-22 07:26:11 -05:00
David Robertson
da933bfc3f
Merge branch 'master' into develop
2022-11-22 12:22:01 +00:00
David Robertson
ececb2d6cb
tweak postgres dep notice
2022-11-22 11:10:01 +00:00
David Robertson
7c005b279e
Move postgres warning banner to top of readme
2022-11-22 11:00:31 +00:00
David Robertson
706b6a1ebb
1.72.0
2022-11-22 10:59:39 +00:00
reivilibre
a6514792b2
Update forgotten references to legacy metrics in the included Grafana dashboard. ( #14477 )
...
Fixes https://github.com/matrix-org/synapse/issues/14465
2022-11-22 10:51:01 +00:00
Mathieu Velten
1526ff389f
Faster joins: filter out non local events when a room doesn't have its full state ( #14404 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-11-21 16:46:14 +01:00
Brennan Chapman
640cb3c81c
Fix broken admin API request recommendation link ( #14499 )
...
Signed-off-by: Brennan Chapman <brennan@chapmanb.com >
2022-11-21 12:40:25 +01:00
dependabot[bot]
22036f038e
Bump serde_json from 1.0.87 to 1.0.88 ( #14505 )
...
* Bump serde_json from 1.0.87 to 1.0.88
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.87...v1.0.88 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:30:18 +00:00
dependabot[bot]
6e0cb8de79
Bump phonenumbers from 8.12.56 to 8.13.0 ( #14504 )
...
* Bump phonenumbers from 8.12.56 to 8.13.0
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.12.56 to 8.13.0.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.12.56...v8.13.0 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:30:05 +00:00
dependabot[bot]
d988fb5e7b
Bump towncrier from 21.9.0 to 22.8.0 ( #14503 )
...
* Bump towncrier from 21.9.0 to 22.8.0
Bumps [towncrier](https://github.com/hawkowl/towncrier ) from 21.9.0 to 22.8.0.
- [Release notes](https://github.com/hawkowl/towncrier/releases )
- [Changelog](https://github.com/twisted/towncrier/blob/trunk/NEWS.rst )
- [Commits](https://github.com/hawkowl/towncrier/compare/21.9.0...22.8.0 )
---
updated-dependencies:
- dependency-name: towncrier
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:54 +00:00
dependabot[bot]
8f77418edd
Bump pygithub from 1.56 to 1.57 ( #14500 )
...
* Bump pygithub from 1.56 to 1.57
Bumps [pygithub](https://github.com/pygithub/pygithub ) from 1.56 to 1.57.
- [Release notes](https://github.com/pygithub/pygithub/releases )
- [Changelog](https://github.com/PyGithub/PyGithub/blob/master/doc/changes.rst )
- [Commits](https://github.com/pygithub/pygithub/compare/v1.56...v1.57 )
---
updated-dependencies:
- dependency-name: pygithub
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:42 +00:00
dependabot[bot]
78867f302f
Bump types-pillow from 9.2.2.1 to 9.3.0.1 ( #14502 )
...
* Bump types-pillow from 9.2.2.1 to 9.3.0.1
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.2.2.1 to 9.3.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:24 +00:00
dependabot[bot]
8718322130
Bump sentry-sdk from 1.10.1 to 1.11.0 ( #14501 )
...
* Bump sentry-sdk from 1.10.1 to 1.11.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.10.1...1.11.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:28:57 +00:00
Richard van der Hoff
8d133a8464
Fixes to federation_client dev script ( #14479 )
...
* Attempt to fix federation-client devscript handling of .well-known
The script was setting the wrong value in the Host header
* Fix TLS verification
Turns out that actually doing TLS verification isn't that hard. Let's enable
it.
2022-11-20 17:41:17 +00:00
David Robertson
e1b15f25f3
Fix /key/v2/server calls with URL-unsafe key IDs ( #14490 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-11-18 19:56:42 +00:00
Sean Quah
78e23eea05
Reduce default third party invite rate limit to 216 invites per day ( #14487 )
...
The previous default was the same as the `rc_message` rate limit, which
defaults to 17,280 per day.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-18 18:10:01 +00:00
Andrew Morgan
ae22e6e94f
Enable 'strict_equality' checking for mypy ( #14452 )
2022-11-17 18:34:09 +00:00
David Robertson
01a0527892
Fix version that worker_main_http_uri is redundant from ( #14476 )
...
* Fix version that `worker_main_http_uri` is redundant from
* Changelog
2022-11-17 16:11:08 +00:00
Andrew Morgan
e7132c3f81
Fix check to ignore blank lines in incoming TCP replication ( #14449 )
2022-11-17 16:09:56 +00:00
Mathieu Velten
75888c2b1f
Faster joins: do not wait for full state when creating events to send ( #14403 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-11-17 17:01:14 +01:00
David Robertson
115f0eb233
Reintroduce #14376 , with bugfix for monoliths ( #14468 )
...
* Add tests for StreamIdGenerator
* Drive-by: annotate all defs
* Revert "Revert "Remove slaved id tracker (#14376 )" (#14463 )"
This reverts commit d63814fd73 , which in
turn reverted 36097e88c4 . This restores
the latter.
* Fix StreamIdGenerator not handling unpersisted IDs
Spotted by @erikjohnston.
Closes #14456 .
* Changelog
Co-authored-by: Nick Mills-Barrett <nick@fizzadar.com >
Co-authored-by: Erik Johnston <erik@matrix.org >
2022-11-16 22:16:46 +00:00
realtyem
c15e9a0edb
Remove need for worker_main_http_uri setting to use /keys/upload. ( #14400 )
2022-11-16 22:16:25 +00:00
Erik Johnston
a84744fba0
Merge branch 'release-v1.72' into develop
2022-11-16 18:22:04 +00:00
Erik Johnston
7f44f3aee3
Update changelog
2022-11-16 16:58:03 +00:00
Erik Johnston
f0d18772f3
Point to our deprecation policy
2022-11-16 16:37:22 +00:00
Erik Johnston
e6b5ca1a9f
Update changelog
2022-11-16 16:32:56 +00:00
Andrew Morgan
618e4ab81b
Fix an invalid comparison of UserPresenceState to str ( #14393 )
2022-11-16 15:25:35 +00:00
Patrick Cloke
d8cc86eff4
Remove redundant types from comments. ( #14412 )
...
Remove type hints from comments which have been added
as Python type hints. This helps avoid drift between comments
and reality, as well as removing redundant information.
Also adds some missing type hints which were simple to fill in.
2022-11-16 15:25:24 +00:00
Erik Johnston
1a8cd8bec0
1.72.0rc1
2022-11-16 15:11:06 +00:00
Sean Quah
882277008c
Fix background updates failing to add unique indexes on receipts ( #14453 )
...
As part of the database migration to support threaded receipts, there is
a possible window in between
`73/08thread_receipts_non_null.sql.postgres` removing the original
unique constraints on `receipts_linearized` and `receipts_graph` and the
`reeipts_linearized_unique_index` and `receipts_graph_unique_index`
background updates from `72/08thread_receipts.sql` completing where
the unique constraints on `receipts_linearized` and `receipts_graph` are
missing. Any emulated upserts on these tables must therefore be
performed with a lock held, otherwise duplicate rows can end up in the
tables when there are concurrent emulated upserts. Fix the missing lock.
Note that emulated upserts no longer happen by default on sqlite, since
the minimum supported version of sqlite supports native upserts by
default now.
Finally, clean up any duplicate receipts that may have crept in before
trying to create the `receipts_graph_unique_index` and
`receipts_linearized_unique_index` unique indexes.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-16 15:01:22 +00:00
Erik Johnston
d63814fd73
Revert "Remove slaved id tracker ( #14376 )" ( #14463 )
...
This reverts commit 36097e88c4 .
2022-11-16 13:50:07 +00:00
Erik Johnston
945a0928c7
Don't filter state in /context response ( #14461 )
...
We don't filter state usually, so doing so here is a waste of time. This is not much of an issue for clients that enable lazy loading of members, since there will be fewer state events.
2022-11-16 12:09:33 +00:00
Andrew Morgan
f844b470f6
Fix stub return type of PushRuleEvaluator.run ( #14451 )
2022-11-16 12:03:05 +00:00
Erik Johnston
5cb6ad3b87
Fix HTML templates missing correct HTML tags ( #14448 )
2022-11-16 11:14:38 +00:00
David Robertson
1eed795fc5
Include heroes in partial join responses' state ( #14442 )
...
* Pull out hero selection logic
* Include heroes in partial join response's state
* Changelog
* Fixup trial test
* Remove TODO
2022-11-15 17:35:19 +00:00
David Robertson
258b5285b6
Fix typechecking errors introduced in #14128 ( #14455 )
...
* Fix typechecking errors introduced in #14128
* Changelog
* Correct annotations
so that context_factory works if you don't use TLS
2022-11-15 16:36:43 +00:00
DeepBlueV7.X
63cc56affa
Send content rules with pattern_type to clients ( #14356 )
2022-11-15 15:29:30 +00:00
Tuomas Ojamies
b5ab2c428a
Support using SSL on worker endpoints. ( #14128 )
...
* Fix missing SSL support in worker endpoints.
* Add changelog
* SSL for Replication endpoint
* Remove unit test change
* Refactor listener creation to reduce duplicated code
* Fix the logger message
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Add config documentation for new TLS option
Co-authored-by: Tuomas Ojamies <tojamies@palantir.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-11-15 12:55:00 +00:00
reivilibre
634359b083
Update docstring to clarify that get_partial_state_events_batch does not just give you completely arbitrary partial-state events. ( #14417 )
2022-11-15 10:43:17 +00:00
sando38
64dd8a9c6e
Include additional TURN server example into documentation ( #14293 )
...
* Include eturnal TURN server configuration example
and moving specific configuration examples into sub folders.
* Update docs/turn-howto.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
* Update docs/setup/turn/coturn.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
* Update docs/setup/turn/eturnal.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
* Fix TURN relaying public IP address hint
* lint eturnal installation commands
* Adjust synapse setup to link to existing documentation
..avoid redundant information.
* remove redundant text
* include alpine linux package link
* Create 14293.doc
* Update 14293.doc
add missing dot
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net >
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net >
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net >
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
* Update eturnal.md to link to official documentation
... and to simplify some aspects
* Adjust coturn to link to default prefix
* Mention eturnalctl location
* Update docs/turn-howto.md
Co-authored-by: Saarko <sandomir@tutanotal.com >
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
Co-authored-by: reivilibre <olivier@librepush.net >
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com >
2022-11-14 17:55:10 +00:00
Nick Mills-Barrett
36097e88c4
Remove slaved id tracker ( #14376 )
...
This matches the multi instance writer ID generator class which can
both handle advancing the current token over replication and by calling
the database.
2022-11-14 17:31:36 +00:00
dependabot[bot]
e226513c0f
Bump jsonschema from 4.16.0 to 4.17.0 ( #14439 )
...
* Bump jsonschema from 4.16.0 to 4.17.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.16.0...v4.17.0 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:17:29 +00:00
dependabot[bot]
4d1de6a944
Bump flake8-comprehensions from 3.8.0 to 3.10.1 ( #14438 )
...
* Bump flake8-comprehensions from 3.8.0 to 3.10.1
Bumps [flake8-comprehensions](https://github.com/adamchainz/flake8-comprehensions ) from 3.8.0 to 3.10.1.
- [Release notes](https://github.com/adamchainz/flake8-comprehensions/releases )
- [Changelog](https://github.com/adamchainz/flake8-comprehensions/blob/main/HISTORY.rst )
- [Commits](https://github.com/adamchainz/flake8-comprehensions/compare/3.8.0...3.10.1 )
---
updated-dependencies:
- dependency-name: flake8-comprehensions
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:17:19 +00:00
dependabot[bot]
4a333d638b
Bump types-pyopenssl from 22.0.10 to 22.1.0.2 ( #14437 )
...
* Bump types-pyopenssl from 22.0.10 to 22.1.0.2
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 22.0.10 to 22.1.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:16:53 +00:00
dependabot[bot]
2cecb782c4
Bump canonicaljson from 1.6.3 to 1.6.4 ( #14440 )
...
* Bump canonicaljson from 1.6.3 to 1.6.4
Bumps [canonicaljson](https://github.com/matrix-org/python-canonicaljson ) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/matrix-org/python-canonicaljson/releases )
- [Changelog](https://github.com/matrix-org/python-canonicaljson/blob/main/CHANGES.md )
- [Commits](https://github.com/matrix-org/python-canonicaljson/compare/v1.6.3...v1.6.4 )
---
updated-dependencies:
- dependency-name: canonicaljson
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 16:35:08 +00:00
dependabot[bot]
ae54a94063
Bump types-setuptools from 65.5.0.2 to 65.5.0.3 ( #14436 )
...
* Bump types-setuptools from 65.5.0.2 to 65.5.0.3
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.2 to 65.5.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 16:34:00 +00:00
Erik Johnston
6816300588
Make Dependabot only bump Rust deps in the lock file ( #14434 )
...
This is to help downstream packagers.
2022-11-14 14:45:17 +00:00
David Robertson
2cc592584a
Remove unused type-ignores ( #14433 )
...
* Remove unused type-ignores
Oversights in #14427 and #14429 .
* Changelog
2022-11-14 13:46:29 +00:00
Patrick Cloke
fb66fae84b
Clean-up events persistance code ( #14411 )
...
By removing unused variables and making some arguments
required which are always provided.
2022-11-14 08:13:11 -05:00
dependabot[bot]
95f7a65a56
Bump gitpython from 3.1.27 to 3.1.29 ( #14429 )
...
* Bump gitpython from 3.1.27 to 3.1.29
Bumps [gitpython](https://github.com/gitpython-developers/GitPython ) from 3.1.27 to 3.1.29.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases )
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES )
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.27...3.1.29 )
---
updated-dependencies:
- dependency-name: gitpython
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:15:35 +00:00
dependabot[bot]
683bf4af4b
Bump types-pyyaml from 6.0.12.1 to 6.0.12.2 ( #14428 )
...
* Bump types-pyyaml from 6.0.12.1 to 6.0.12.2
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12.1 to 6.0.12.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:10:40 +00:00
dependabot[bot]
8e38d74313
Bump attrs from 21.4.0 to 22.1.0 ( #14427 )
...
* Bump attrs from 21.4.0 to 22.1.0
Bumps [attrs](https://github.com/python-attrs/attrs ) from 21.4.0 to 22.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases )
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-attrs/attrs/compare/21.4.0...22.1.0 )
---
updated-dependencies:
- dependency-name: attrs
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:07:44 +00:00
dependabot[bot]
b7f5a3aaa6
Bump flake8 from 4.0.1 to 5.0.4 ( #14431 )
...
* Bump flake8 from 4.0.1 to 5.0.4
Bumps [flake8](https://github.com/pycqa/flake8 ) from 4.0.1 to 5.0.4.
- [Release notes](https://github.com/pycqa/flake8/releases )
- [Commits](https://github.com/pycqa/flake8/compare/4.0.1...5.0.4 )
---
updated-dependencies:
- dependency-name: flake8
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:41:55 +00:00
dependabot[bot]
cc45808ea3
Bump types-jsonschema from 4.17.0.0 to 4.17.0.1 ( #14430 )
...
* Bump types-jsonschema from 4.17.0.0 to 4.17.0.1
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.0 to 4.17.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:41:31 +00:00
dependabot[bot]
fec1e2cb52
Bump blake2 from 0.10.4 to 0.10.5 ( #14426 )
...
* Bump blake2 from 0.10.4 to 0.10.5
Bumps [blake2](https://github.com/RustCrypto/hashes ) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/blake2-v0.10.4...blake2-v0.10.5 )
---
updated-dependencies:
- dependency-name: blake2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:55 +00:00
dependabot[bot]
639780fc15
Bump actions/upload-artifact from 2 to 3 ( #14425 )
...
* Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:38 +00:00
dependabot[bot]
2e7c86c129
Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2 ( #14424 )
...
* Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.24.1 to 2.24.2.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](b12b127cf2...e6e25ac3a2 )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:09 +00:00
Brad Jones
334a8324d3
Update sample Nginx configuration to HTTP 1.1 ( #14414 )
...
Signed-off-by: Brad Jones <brad@kinksters.dating >
2022-11-11 17:28:05 +00:00
Ashish Kumar
a3623af74e
Add an Admin API endpoint for looking up users based on 3PID ( #14405 )
2022-11-11 15:38:17 +00:00
Nick Mills-Barrett
3a4f80f8c6
Merge/remove Slaved* stores into WorkerStores ( #14375 )
2022-11-11 10:51:49 +00:00
Patrick Cloke
13ca8bb2fc
Remove duplicated code to evict entries. ( #14410 )
...
This code was factored out to a method, but also left in-place.
Calling this twice in a row makes no sense: the first call will reduce
the size appropriately, but the loop will immediately exit since the
cache size was already reduced.
2022-11-10 15:33:34 -05:00
Sean Quah
b2c2b03079
Fix PostgreSQL sometimes using table scans for event_search ( #14409 )
...
PostgreSQL may underestimate the number of distinct `room_id`s in
`event_search`, which can cause it to use table scans for queries for
multiple rooms.
Fix this by setting `n_distinct` on the column.
Resolves #14402 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-10 19:02:27 +00:00
David Robertson
d10a85ec9e
Quieter logging for stateres failure at missing prev events ( #14346 )
2022-11-10 12:17:46 +00:00
Patrick Cloke
e9a4343cb2
Drop support for Postgres 10 in full text search code. ( #14397 )
2022-11-09 09:55:34 -05:00
dependabot[bot]
21447c9102
Bump dawidd6/action-download-artifact from 2.24.0 to 2.24.1 ( #14398 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-11-09 12:16:12 +00:00
realtyem
e9cbddc8e7
Modernize configure_workers_and_start.py bootstrapping script for Dockerfile-workers. ( #14294 )
2022-11-09 12:02:15 +00:00
Sean Quah
0cf48f2d5f
Build Debian packages for Ubuntu 22.10 Kinetic Kudu ( #14396 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-09 10:33:13 +00:00
Sean Quah
22d46db0ea
Test against PostgreSQL 15 in CI ( #14394 )
...
Resolves #14170 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-09 10:32:52 +00:00
Sean Quah
a5fcdea090
Remove support for PostgreSQL 10 ( #14392 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-08 17:17:13 +00:00
realtyem
d85cba1aa0
Add all Stream Writer worker types to configure_workers_and_start.py ( #14197 )
...
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-11-08 13:14:00 +00:00
Sean Quah
5853d798a1
Merge branch 'master' into develop
2022-11-08 13:07:27 +00:00
realtyem
69814eb282
Allow override for requesting specific worker types for Complement on command line. ( #14324 )
...
* Expose getting SYNAPSE_WORKER_TYPES from external, allowing override of workers requested.
* Add WORKER_TYPES variable option to complement.sh script that passes requested workers into start_for_complement.sh entrypoint.
* Update docs to reflect this new ability.
* Changelog
* Don't rely on soft wrapping to format long strings
Good idea dklimpel. Thanks for catching that.
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
* Small nits just noticed in docs.
* Fixup new line in docs.
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
2022-11-08 12:34:09 +00:00
Sean Quah
f0dec49f01
Update CHANGES.md to mention PostgreSQL 10 end of life
2022-11-08 10:59:36 +00:00
Sean Quah
1d1ab0e41f
Update CHANGES.md
2022-11-08 10:40:34 +00:00
Sean Quah
404404733c
1.71.0
2022-11-08 10:38:16 +00:00
Shay
7894251bce
Correctly create power level event during initial room creation ( #14361 )
2022-11-07 13:38:50 -08:00
Richard van der Hoff
2193513346
Fix background update table-scanning events ( #14374 )
...
When this background update did its last batch, it would try to update all the
events that had been inserted since the bgupdate started, which could cause a
table-scan. Make sure we limit the update correctly.
2022-11-07 14:28:00 +00:00
aceArt-GmbH
42f9d414c2
Add example on how to load balance /sync requests ( #14297 )
...
Signed-off-by: lukas <lukas.walter@aceart.de >
Signed-off-by: lukas <lukas.walter@aceart.de >
2022-11-07 13:51:53 +00:00
Sean Quah
e980982b59
Do not reject /sync requests with unrecognised filter fields ( #14369 )
...
For forward compatibility, Synapse needs to ignore fields it does not
recognise instead of raising an error.
Fixes #14365 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-11-07 13:49:31 +00:00
dependabot[bot]
233fc6e279
Bump types-jsonschema from 4.4.6 to 4.17.0.0 ( #14386 )
...
* Bump types-jsonschema from 4.4.6 to 4.17.0.0
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.4.6 to 4.17.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:26 +00:00
dependabot[bot]
bd70fc1a3c
Bump types-pyyaml from 6.0.12 to 6.0.12.1 ( #14385 )
...
* Bump types-pyyaml from 6.0.12 to 6.0.12.1
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12 to 6.0.12.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:16 +00:00
dependabot[bot]
a2a44e53a6
Bump cryptography from 36.0.1 to 38.0.3 ( #14384 )
...
* Bump cryptography from 36.0.1 to 38.0.3
Bumps [cryptography](https://github.com/pyca/cryptography ) from 36.0.1 to 38.0.3.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/36.0.1...38.0.3 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:08 +00:00
dependabot[bot]
6ac9b5c9a5
Bump pillow from 9.2.0 to 9.3.0 ( #14383 )
...
* Bump pillow from 9.2.0 to 9.3.0
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 9.2.0 to 9.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/9.2.0...9.3.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:50 +00:00
dependabot[bot]
7deee6763c
Bump types-setuptools from 65.5.0.1 to 65.5.0.2 ( #14382 )
...
* Bump types-setuptools from 65.5.0.1 to 65.5.0.2
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.1 to 65.5.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:29 +00:00
dependabot[bot]
b03b5a5a4f
Bump pyo3 from 0.17.2 to 0.17.3 ( #14381 )
...
* Bump pyo3 from 0.17.2 to 0.17.3
Bumps [pyo3](https://github.com/pyo3/pyo3 ) from 0.17.2 to 0.17.3.
- [Release notes](https://github.com/pyo3/pyo3/releases )
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pyo3/pyo3/compare/v0.17.2...v0.17.3 )
---
updated-dependencies:
- dependency-name: pyo3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:19 +00:00
dependabot[bot]
1df4260620
Bump regex from 1.6.0 to 1.7.0 ( #14380 )
...
* Bump regex from 1.6.0 to 1.7.0
Bumps [regex](https://github.com/rust-lang/regex ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:08 +00:00
dependabot[bot]
04359f92f2
Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0 ( #14379 )
...
* Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0
Bumps [peaceiris/actions-mdbook](https://github.com/peaceiris/actions-mdbook ) from 1.1.14 to 1.2.0.
- [Release notes](https://github.com/peaceiris/actions-mdbook/releases )
- [Changelog](https://github.com/peaceiris/actions-mdbook/blob/main/CHANGELOG.md )
- [Commits](https://github.com/peaceiris/actions-mdbook/compare/v1.1.14...adeb05db28a0c0004681db83893d56c0388ea9ea )
---
updated-dependencies:
- dependency-name: peaceiris/actions-mdbook
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:27:52 +00:00
dependabot[bot]
b2a1e75431
Bump dawidd6/action-download-artifact from 2.15.0 to 2.24.0 ( #14378 )
...
* Bump dawidd6/action-download-artifact from 2.15.0 to 2.24.0
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.15.0 to 2.24.0.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](af92a8455a...46b4ae883b )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:27:39 +00:00
dependabot[bot]
8bcdd712b8
Bump flake8-bugbear from 22.9.23 to 22.10.27 ( #14329 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-11-04 18:43:14 +00:00
Brendan Abolivier
bb39fc4366
Fix the trigger path for deploying documentation PRs ( #14370 )
...
This was missed from #12947
2022-11-04 18:33:01 +00:00
Michael Telatynski
79b6c19321
Upload documentation PRs to Netlify ( #12947 )
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
Co-authored-by: Erik Johnston <erik@matrix.org >
Co-authored-by: David Robertson <davidr@element.io >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-11-04 17:08:11 +00:00
Tulir Asokan
a4b1f64562
Fix /refresh endpoint version ( #14364 )
2022-11-04 16:43:51 +00:00
Sean Quah
e5d18956b9
Merge tag 'v1.71.0rc2' into develop
...
Synapse 1.71.0rc2 (2022-11-04)
==============================
Please note that, as announced in the release notes for Synapse 1.69.0, legacy Prometheus metric names are now disabled by default.
They will be removed altogether in Synapse 1.73.0.
If not already done, server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.71/upgrade.html#upgrading-to-v1710 ) for more details.
Improved Documentation
----------------------
- Document the changes to monthly active user metrics due to deprecation of legacy Prometheus metric names. ([\#14358](https://github.com/matrix-org/synapse/issues/14358 ), [\#14360](https://github.com/matrix-org/synapse/issues/14360 ))
Deprecations and Removals
-------------------------
- Disable legacy Prometheus metric names by default. They can still be re-enabled for now, but they will be removed altogether in Synapse 1.73.0. ([\#14353](https://github.com/matrix-org/synapse/issues/14353 ))
Internal Changes
----------------
- Run unit tests against Python 3.11. ([\#13812](https://github.com/matrix-org/synapse/issues/13812 ))
2022-11-04 15:22:06 +00:00
Sean Quah
af592d7d4c
Update CHANGES.md
2022-11-04 12:13:10 +00:00
Sean Quah
b00294b8b1
1.71.0rc2
2022-11-04 12:01:17 +00:00
David Robertson
78909f5028
Include monthly active user metrics in the list of legacy metrics names ( #14360 )
2022-11-04 10:45:01 +00:00
David Robertson
2e2cffe1a2
Cherry-pick "Run trial tests against Python 3.11 ( #13812 )" and fixup commit
...
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.
2022-11-03 21:37:17 +00:00
Will Hunt
b1379a7ca8
Update legacy synapse_admin_mau: metric names in docs ( #14358 )
...
* Rename legacy metrics in MAU docs
* changelog
2022-11-03 20:47:20 +00:00
Brendan Abolivier
86c5a710d8
Implement MSC3912: Relation-based redactions ( #14260 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-11-03 16:21:31 +00:00
David Robertson
e5cd278f3f
Use maintained action to install Rust in latest deps/twisted trunk jobs ( #14351 )
...
* Use maintained action to install Rust
Part of #14203 . Like the changes in #14313 .
* Changelog
2022-11-02 23:19:57 +00:00
reivilibre
6546308c1e
Disable legacy Prometheus metric names by default. They can still be re-enabled for now, but they will be removed altogether in Synapse 1.73.0. ( #14353 )
2022-11-02 17:33:45 +00:00
Kat Gerasimova
19a57f4a37
Fix issue automation for Needs-Info ( #14343 )
...
Run when an issue is labelled with X-Needs-Info only. Add to triage board.
Use itemId which is output by actions/add-to-project to run the mutation to update the field value (i.e. move to the right column).
2022-11-01 19:26:15 +00:00
David Robertson
d4fac8a3e2
Fix typo in #13320 which could cause log spam ( #14347 )
2022-11-01 19:20:35 +00:00
Patrick Cloke
59ca73006c
Enable testing MSC3874 in complement. ( #14339 )
2022-11-01 13:26:28 -04:00
David Robertson
2bd7f3eeab
Allow PUT/GET of aliases during faster join ( #14292 )
...
without blocking on full state.
2022-11-01 15:02:39 +00:00
David Robertson
2b56aaa0b8
Merge branch 'release-v1.71' into develop
2022-11-01 14:43:52 +00:00
dependabot[bot]
1dd16e96c8
Bump twisted from 22.8.0 to 22.10.0 ( #14340 )
...
* Bump twisted from 22.8.0 to 22.10.0
Bumps [twisted](https://github.com/twisted/twisted ) from 22.8.0 to 22.10.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-22.8.0...twisted-22.10.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-01 14:31:12 +00:00
David Robertson
a62c796f63
Deal with another batch of GHA warning messages ( #14313 )
2022-11-01 13:58:39 +00:00
David Robertson
efdcb24328
Revert a testing commit from #13812
...
It (4f5d492cd6a9438de03d1b768f4c220cb662ac06) should have been reverted before the merge to develop.
2022-11-01 13:12:22 +00:00
David Robertson
5905ba12d0
Run trial tests against Python 3.11 ( #13812 )
2022-11-01 13:07:54 +00:00
David Robertson
051402d1df
Adjust changelog
2022-11-01 12:33:19 +00:00
David Robertson
ddbba28d52
1.71.0rc1
2022-11-01 12:10:51 +00:00
David Robertson
9473ebb9e7
Revert "Fix event size checks ( #13710 )"
...
This reverts commit fab495a9e1 .
As noted in
https://github.com/matrix-org/synapse/pull/13710#issuecomment-1298396007 :
> We want to see this change land for the protocol's sake (and plan to
un-revert it) but want to give this a little more time before releasing
this.
2022-11-01 11:47:09 +00:00
reivilibre
b922b54b61
Fix type annotation causing import time error in the Complement forking launcher. ( #14084 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-11-01 10:30:43 +00:00
David Robertson
dbfc9b803e
Fix dehydrated device REST checks ( #14336 )
2022-10-31 20:31:43 +00:00
Quentin Gliech
cc3a52b33d
Support OIDC backchannel logouts ( #11414 )
...
If configured an OIDC IdP can log a user's session out of
Synapse when they log out of the identity provider.
The IdP sends a request directly to Synapse (and must be
configured with an endpoint) when a user logs out.
2022-10-31 13:07:30 -04:00
dependabot[bot]
15bdb0da52
Bump sentry-sdk from 1.5.11 to 1.10.1 ( #14330 )
...
* Bump sentry-sdk from 1.5.11 to 1.10.1
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.5.11 to 1.10.1.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.5.11...1.10.1 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:43:19 +00:00
dependabot[bot]
b2890369cd
Bump psycopg2 from 2.9.4 to 2.9.5 ( #14331 )
...
* Bump psycopg2 from 2.9.4 to 2.9.5
Bumps [psycopg2](https://github.com/psycopg/psycopg2 ) from 2.9.4 to 2.9.5.
- [Release notes](https://github.com/psycopg/psycopg2/releases )
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS )
- [Commits](https://github.com/psycopg/psycopg2/commits )
---
updated-dependencies:
- dependency-name: psycopg2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:34:00 +00:00
dependabot[bot]
278f8543be
Bump twine from 3.8.0 to 4.0.1 ( #14332 )
...
* Bump twine from 3.8.0 to 4.0.1
Bumps [twine](https://github.com/pypa/twine ) from 3.8.0 to 4.0.1.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/3.8.0...4.0.1 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:32:04 +00:00
dependabot[bot]
00d108fce4
Bump black from 22.3.0 to 22.10.0 ( #14328 )
...
* Bump black from 22.3.0 to 22.10.0
Bumps [black](https://github.com/psf/black ) from 22.3.0 to 22.10.0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/22.3.0...22.10.0 )
---
updated-dependencies:
- dependency-name: black
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:29:14 +00:00
David Robertson
2bb2c32e8e
Avoid incrementing bg process utime/stime counters by negative durations ( #14323 )
2022-10-31 13:02:07 +00:00
Andrew Morgan
7911e2835d
Prevent federation user keys query from returning device names if disallowed ( #14304 )
2022-10-28 18:06:02 +01:00
David Robertson
730b13dbc9
Improve RawHeaders type hints ( #14303 )
2022-10-28 16:04:02 +00:00
Patrick Cloke
81815e0561
Switch search SQL to triple-quote strings. ( #14311 )
...
For ease of reading we switch from concatenated strings to
triple quote strings.
2022-10-28 11:44:10 -04:00
Andrew Morgan
453914b472
Merge branch 'master' into develop
2022-10-28 16:30:54 +01:00
Andrew Morgan
d1efa7b3a4
Add a note that #14300 did not get a fix for 1.70.1 ( #14318 )
2022-10-28 16:28:30 +01:00
Olivier Wilkinson (reivilibre)
1335367ca7
Merge branch 'master' into develop
2022-10-28 15:59:51 +01:00
Dirk Klimpel
44f0d573cf
Add docs for an empty trusted_key_servers config option ( #13999 )
...
* Add docs for an empty `trusted_key_servers` config option
* small rewording
* Tweak changelog
2022-10-28 13:55:03 +01:00
Olivier Wilkinson (reivilibre)
e0d9013adf
Tweak changelog
2022-10-28 12:26:40 +01:00
Olivier Wilkinson (reivilibre)
cc3a04876f
1.70.1
2022-10-28 12:10:37 +01:00
reivilibre
6a6e1e8c07
Fix room creation being rate limited too aggressively since Synapse v1.69.0. ( #14314 )
...
* Introduce a test for the old behaviour which we want to restore
* Reintroduce the old behaviour in a simpler way
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Use 1 credit instead of 2 for creating a room: be more lenient than before
Notably, the UI in Element Web was still broken after restoring to prior behaviour.
After discussion, we agreed that it would be sensible to increase the limit.
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-10-28 11:53:34 +01:00
Eric Eastwood
aa70556699
Check appservice user interest against the local users instead of all users (get_users_in_room mis-use) ( #13958 )
2022-10-27 18:29:23 +00:00
Patrick Cloke
67583281e3
Fix tests for change in PostgreSQL 14 behavior change. ( #14310 )
...
PostgreSQL 14 changed the behavior of `websearch_to_tsquery` to
improve some behaviour.
The tests were hitting those edge-cases about handling of hanging double
quotes. This fixes the tests to take into account the PostgreSQL version.
2022-10-27 13:58:12 +00:00
Dirk Klimpel
1357ae869f
Add workers settings to configuration manual ( #14086 )
...
* Add workers settings to configuration manual
* Update `pusher_instances`
* update url to python logger
* update headlines
* update links after headline change
* remove link from `daemon process`
There is no docs in Synapse for this
* extend example for `federation_sender_instances` and `pusher_instances`
* more infos about stream writers
* add link to DAG
* update `pusher_instances`
* update `worker_listeners`
* update `stream_writers`
* Update `worker_name`
Co-authored-by: David Robertson <davidr@element.io >
2022-10-27 14:39:47 +01:00
Mathieu Velten
4dc05f3019
Fix presence bug introduced in 1.64 by #13313 ( #14243 )
...
* Fix presence bug introduced in 1.64 by #13313
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
* Add changelog
* Add DISTINCT
* Apply suggestions from code review
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-10-27 13:16:00 +01:00
David Robertson
cbe01ccc3f
Reject history insertion during partial joins ( #14291 )
2022-10-27 10:52:23 +01:00
Eric Eastwood
40fa8294e3
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
2022-10-26 16:10:55 -05:00
David Robertson
0d59ae706a
Use poetry 1.2 for complement in latest deps ( #14305 )
2022-10-26 17:22:26 +01:00
Ashish Kumar
0cfbb35131
fix broken avatar checks when server_name contains a port ( #13927 )
...
Fixes check_avatar_size_and_mime_type() to successfully update avatars on homeservers running on non-default ports which it would mistakenly treat as remote homeserver while validating the avatar's size and mime type.
Signed-off-by: Ashish Kumar ashfame@users.noreply.github.com
2022-10-26 15:51:23 +01:00
David Robertson
04fd6221de
Fix incorrectly sending authentication tokens to application service as headers ( #14301 )
2022-10-26 14:00:01 +01:00
Olivier Wilkinson (reivilibre)
86b7d9b886
Merge branch 'master' into develop
2022-10-26 13:05:09 +01:00
Quentin Gliech
8756d5c87e
Save login tokens in database ( #13844 )
...
* Save login tokens in database
Signed-off-by: Quentin Gliech <quenting@element.io >
* Add upgrade notes
* Track login token reuse in a Prometheus metric
Signed-off-by: Quentin Gliech <quenting@element.io >
2022-10-26 11:45:41 +01:00
Olivier Wilkinson (reivilibre)
23fa636ed7
1.70.0
2022-10-26 11:13:29 +01:00
James Salter
d902181de9
Unified search query syntax using the full-text search capabilities of the underlying DB. ( #11635 )
...
Support a unified search query syntax which leverages more of the full-text
search of each database supported by Synapse.
Supports, with the same syntax across Postgresql 11+ and Sqlite:
- quoted "search terms"
- `AND`, `OR`, `-` (negation) operators
- Matching words based on their stem, e.g. searches for "dog" matches
documents containing "dogs".
This is achieved by
- If on postgresql 11+, pass the user input to `websearch_to_tsquery`
- If on sqlite, manually parse the query and transform it into the sqlite-specific
query syntax.
Note that postgresql 10, which is close to end-of-life, falls back to using
`phraseto_tsquery`, which only supports a subset of the features.
Multiple terms separated by a space are implicitly ANDed.
Note that:
1. There is no escaping of full-text syntax that might be supported by the database;
e.g. `NOT`, `NEAR`, `*` in sqlite. This runs the risk that people might discover this
as accidental functionality and depend on something we don't guarantee.
2. English text is assumed for stemming. To support other languages, either the target
language needs to be known at the time of indexing the message (via room metadata,
or otherwise), or a separate index for each language supported could be created.
Sqlite docs: https://www.sqlite.org/fts3.html#full_text_index_queries
Postgres docs: https://www.postgresql.org/docs/11/textsearch-controls.html
2022-10-25 14:05:22 -04:00
Olivier Wilkinson (reivilibre)
85fcbba595
Merge branch 'release-v1.70' into develop
2022-10-25 15:39:35 +01:00
Quentin Gliech
9192d74b0b
Refactor OIDC tests to better mimic an actual OIDC provider. ( #13910 )
...
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.
2022-10-25 14:25:02 +00:00
DeepBlueV7.X
2d0ba3f89a
Implementation for MSC3664: Pushrules for relations ( #11804 )
2022-10-25 14:38:01 +01:00
Olivier Wilkinson (reivilibre)
0f1befd0b1
Tweak changelog
2022-10-25 14:16:05 +01:00
Nick Mills-Barrett
c9dffd5b33
Remove unused @lru_cache decorator ( #13595 )
...
* Remove unused `@lru_cache` decorator
Spotted this working on something else.
Co-authored-by: David Robertson <davidr@element.io >
2022-10-25 11:39:25 +01:00
Erik Johnston
d125919963
Cache rust build deps in trial CI ( #14287 )
2022-10-25 11:27:56 +01:00
Olivier Wilkinson (reivilibre)
8c8fcdb87d
1.70.0rc2
2022-10-25 11:02:55 +01:00
asymmetric
8c94dd3a27
Enable WAL for SQLite ( #13897 )
...
Signed-off-by: Lorenzo Manacorda <lorenzo@mailbox.org >
2022-10-25 10:22:55 +01:00
Patrick Cloke
581b37b5d6
Revert behavior change for bundling edits of non-message events ( #14283 )
2022-10-24 17:07:16 +01:00
Ryan Miguel
19c0e55ef7
Return NOT_JSON if decode fails and defer set_timeline_upper_limit ca… ( #14262 )
...
* Return NOT_JSON if decode fails and defer set_timeline_upper_limit call until after check_valid_filter. Fixes #13661 . Signed-off-by: Ryan Miguel <miguel.ryanj@gmail.com >.
* Reword changelog
2022-10-24 16:55:06 +01:00
dependabot[bot]
872ea2f4de
Bump serde_json from 1.0.86 to 1.0.87 ( #14279 )
2022-10-24 14:08:22 +01:00
David Robertson
1e73effebf
Fix typo in cibuildwheel conf introduced in #14253
2022-10-24 13:56:18 +01:00
Erik Johnston
09b588854e
Fix TypeError: 'dict_keys' object is not reversible ( #14280 )
2022-10-24 13:05:14 +01:00
dependabot[bot]
386e72a22d
Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0 ( #14276 )
2022-10-24 10:16:33 +00:00
dependabot[bot]
c6987f65fe
Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0 ( #14275 )
2022-10-24 10:13:29 +00:00
Richard van der Hoff
1469fed0e3
Add debugging to help diagnose lost device-list-update ( #14268 )
2022-10-24 10:45:10 +01:00
dependabot[bot]
6c82b3759f
Bump pysaml2 from 7.1.2 to 7.2.1 ( #14270 )
2022-10-24 10:40:30 +01:00
dependabot[bot]
94f239d911
Bump jinja2 from 3.0.3 to 3.1.2 ( #14271 )
2022-10-24 10:40:08 +01:00
dependabot[bot]
673970bb5a
Bump types-requests from 2.28.11 to 2.28.11.2 ( #14272 )
2022-10-24 10:39:16 +01:00
dependabot[bot]
cb76892c7d
Bump setuptools-rust from 1.5.1 to 1.5.2 ( #14273 )
2022-10-24 10:39:00 +01:00
dependabot[bot]
cd02bfc026
Bump prometheus-client from 0.14.0 to 0.15.0 ( #14274 )
2022-10-24 10:38:40 +01:00
dependabot[bot]
5f06488418
Bump anyhow from 1.0.65 to 1.0.66 ( #14278 )
2022-10-24 10:20:13 +01:00
dependabot[bot]
278b530875
Bump serde from 1.0.145 to 1.0.147 ( #14277 )
2022-10-24 10:19:55 +01:00
Shay
b7a7ff6ee3
Add initial power level event to batch of bulk persisted events when creating a new room. ( #14228 )
2022-10-21 10:46:22 -07:00
Germain
1d45ad8b2a
Improve aesthetics and reusability of HTML templates. ( #13652 )
...
Use a base template to create a cohesive feel across the HTML
templates provided by Synapse.
Adds basic styling to the base template for a more user-friendly
look and feel.
2022-10-21 17:44:00 +00:00
Richard van der Hoff
d24346f530
Fix logging error on SIGHUP ( #14258 )
2022-10-21 16:03:44 +01:00
Erik Johnston
1c642156d7
Only build aarch64 wheels for cpython manylinux ( #14259 )
2022-10-21 14:22:26 +00:00
Erik Johnston
5f77b74215
Try building ABI3 wheels for cpython ( #14253 )
2022-10-21 14:17:19 +00:00
Patrick Cloke
4dd7aa371b
Properly update the threads table when thread events are redacted. ( #14248 )
...
When the last event in a thread is redacted we need to update
the threads table:
* Find the new latest event in the thread and store it into the table; or
* Remove the thread from the table if it is no longer a thread (i.e. all
events in the thread were redacted).
2022-10-21 09:11:19 -04:00
Tadeusz Sośnierz
1433b5d5b6
Show erasure status when listing users in the Admin API ( #14205 )
...
* Show erasure status when listing users in the Admin API
* Use USING when joining erased_users
* Add changelog entry
* Revert "Use USING when joining erased_users"
This reverts commit 30bd2bf106415caadcfdbdd1b234ef2b106cc394.
* Make the erased check work on postgres
* Add a testcase for showing erased user status
* Appease the style linter
* Explicitly convert `erased` to bool to make SQLite consistent with Postgres
This also adds us an easy way in to fix the other accidentally integered columns.
* Move erasure status test to UsersListTestCase
* Include user erased status when fetching user info via the admin API
* Document the erase status in user_admin_api
* Appease the linter and mypy
* Signpost comments in tests
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com >
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-10-21 13:52:44 +01:00
DeepBlueV7.X
fab495a9e1
Fix event size checks ( #13710 )
2022-10-21 09:49:47 +01:00
David Robertson
cacda2d1f5
Build wheels on macos 11, not 10.15 ( #14249 )
2022-10-20 22:01:08 +00:00
David Robertson
7fe3b908a5
Update changelog entry for #10015 .
...
Per https://github.com/matrix-org/synapse/pull/10015#issuecomment-1282773048
2022-10-20 17:42:23 +01:00
Patrick Cloke
755bfeee3a
Use servlets for /key/ endpoints. ( #14229 )
...
To fix the response for unknown endpoints under that prefix.
See MSC3743.
2022-10-20 11:32:47 -04:00
Andrew Morgan
da2c93d4b6
Stop returning unsigned.invite_room_state in PUT /_matrix/federation/v2/invite/{roomId}/{eventId} responses ( #14064 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-10-20 15:17:45 +01:00
Erik Johnston
09c602b558
Merge branch 'release-v1.70' into develop
2022-10-20 09:47:04 +01:00
Eric Eastwood
70b3396506
Explain SynapseError and FederationError better ( #14191 )
...
Explain `SynapseError` and `FederationError` better
Spawning from https://github.com/matrix-org/synapse/pull/13816#discussion_r993262622
2022-10-19 15:39:43 -05:00
dependabot[bot]
3841900aaa
Bump types-opentracing from 2.4.7 to 2.4.10 ( #14133 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-10-19 20:04:40 +00:00
dependabot[bot]
0b7830e457
Bump flake8-bugbear from 21.3.2 to 22.9.23 ( #14042 )
...
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 >
2022-10-19 19:38:24 +00:00
Matthew Hodgson
695a85d1bc
Document encryption_enabled_by_default_for_room_type under the right name ( #14110 )
...
* document encryption_enabled_by_default_for_room_type under the right name
* add changelog
* Update changelog.d/14110.doc
2022-10-19 20:17:37 +01:00
Finn
fe50738e59
let update_synapse_database run on a multi-database configurations ( #13422 )
...
* Allow sharded database in db migrate script
Signed-off-by: Finn Herzfeld <finn@beeper.com >
* Update changelog.d/13422.bugfix
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Remove check entirely
* remove unused import
Signed-off-by: Finn Herzfeld <finn@beeper.com >
Co-authored-by: finn <finn@beeper.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-10-19 19:08:40 +01:00
Erik Johnston
7f6f3ff337
Remove poetry.lock updates
2022-10-19 15:10:55 +01:00
Erik Johnston
6fcdda68d3
Update lockfile
2022-10-19 14:26:21 +01:00
Erik Johnston
15a240f135
1.70.0rc1
2022-10-19 14:12:03 +01:00
Will Hunt
04d7f56f53
Use backend-meta edition of issue triage workflow ( #14230 )
2022-10-19 11:41:25 +01:00
Eric Eastwood
fa8616e65c
Fix MSC3030 /timestamp_to_event returning outliers that it has no idea whether are near a gap or not ( #14215 )
...
Fix MSC3030 `/timestamp_to_event` endpoint returning `outliers` that it has no idea whether are near a gap or not (and therefore unable to determine whether it's actually the closest event). The reason Synapse doesn't know whether an `outlier` is next to a gap is because our gap checks rely on entries in the `event_edges`, `event_forward_extremeties`, and `event_backward_extremities` tables which is [not the case for `outliers`](2c63cdcc3f/docs/development/room-dag-concepts.md (outliers) ).
Also fixes MSC3030 Complement `can_paginate_after_getting_remote_event_from_timestamp_to_event_endpoint` test flake. Although this acted flakey in Complement, if `sync_partial_state` raced and beat us before `/timestamp_to_event`, then even if we retried the failing `/context` request it wouldn't work until we made this Synapse change. With this PR, Synapse will never return an `outlier` event so that test will always go and ask over federation.
Fix https://github.com/matrix-org/synapse/issues/13944
### Why did this fail before? Why was it flakey?
Sleuthing the server logs on the [CI failure](https://github.com/matrix-org/synapse/actions/runs/3149623842/jobs/5121449357#step:5:5805 ), it looks like `hs2:/timestamp_to_event` found `$NP6-oU7mIFVyhtKfGvfrEQX949hQX-T-gvuauG6eurU` as an `outlier` event locally. Then when we went and asked for it via `/context`, since it's an `outlier`, it was filtered out of the results -> `You don't have permission to access that event.`
This is reproducible when `sync_partial_state` races and persists `$NP6-oU7mIFVyhtKfGvfrEQX949hQX-T-gvuauG6eurU` as an `outlier` before we evaluate `get_event_for_timestamp(...)`. To consistently reproduce locally, just add a delay at the [start of `get_event_for_timestamp(...)`](cb20b885cb/synapse/handlers/room.py (L1470-L1496) ) so it always runs after `sync_partial_state` completes.
```py
from twisted.internet import task as twisted_task
d = twisted_task.deferLater(self.hs.get_reactor(), 3.5)
await d
```
In a run where it passes, on `hs2`, `get_event_for_timestamp(...)` finds a different event locally which is next to a gap and we request from a closer one from `hs1` which gets backfilled. And since the backfilled event is not an `outlier`, it's returned as expected during `/context`.
With this PR, Synapse will never return an `outlier` event so that test will always go and ask over federation.
2022-10-18 19:46:25 -05:00
Aaron Raimist
2a76a7369f
Fix hiding devices names over federation ( #10015 )
...
And don't include blank opentracing stuff in device list updates.
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2022-10-18 20:54:27 +00:00
Shay
1c777ef1e8
Fix docstring in EventContext ( #14145 )
2022-10-18 13:40:50 -07:00
MichaIng
06b0c4edfe
Add aarch64 wheels to CI ( #14212 )
...
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-10-18 17:12:21 +00:00
dependabot[bot]
85aa0f513b
Bump twisted from 22.4.0 to 22.8.0 ( #14207 )
...
* Bump twisted from 22.4.0 to 22.8.0
Bumps [twisted](https://github.com/twisted/twisted ) from 22.4.0 to 22.8.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-22.4.0...twisted-22.8.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 18:06:06 +01:00
Shay
847e2393f3
Prepatory work for adding power level event to batched events ( #14214 )
2022-10-18 09:58:47 -07:00
dependabot[bot]
2b940d2668
Bump pygithub from 1.55 to 1.56 ( #14206 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 16:36:31 +00:00
dependabot[bot]
f91b547a07
Bump types-setuptools from 65.4.0.0 to 65.5.0.1 ( #14208 )
...
* Bump types-setuptools from 65.4.0.0 to 65.5.0.1
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.4.0.0 to 65.5.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 16:53:34 +01:00
Hugh Nimmo-Smith
4eaf3eb840
Implementation of HTTP 307 response for MSC3886 POST endpoint ( #14018 )
...
Co-authored-by: reivilibre <olivier@librepush.net >
Co-authored-by: Andrew Morgan <andrewm@element.io >
2022-10-18 15:52:25 +00:00
David Robertson
844ce47b9b
Don't pin dev-deps in pyproject; use lower bounds ( #14227 )
...
* Don't pin dev-deps in pyproject; use lower bounds
This makes it slightly less tedious to update these things via
successive dependabot updates, by reducing the likelihood of a merge
conflict.
* Changelog
* Changelog
2022-10-18 16:44:43 +01:00
David Robertson
b951d6bd4c
Fixes to release-artifacts warnings ( #14224 )
2022-10-18 15:40:05 +00:00
Patrick Cloke
dbf18f514e
Update the thread_id right before use (in case the bg update hasn't finished) ( #14222 )
...
This avoids running a forced-update of a null thread_id rows.
An index is added (in the background) to hopefully make this
easier in the future.
2022-10-18 14:55:41 +00:00
Jonathan de Jong
e440f9674a
Enable URL previews in complement homeserver config. ( #14198 )
2022-10-18 09:52:23 -04:00
David Robertson
8e50299d8b
Fix track_memory_usage on poetry-core 1.3.x installations ( #14221 )
...
* Fix `track_memory_usage` on poetry-core 1.3.x installations
The same kind of problem as discussed in #14085 :
1. we defined an extra with an underscore
2. we look it up at runtime with an underscore
3. but poetry-core 1.3.x. installs it with a dash, causing (2) to fail.
Fix by using a dash everywhere.
* Changelog
2022-10-18 13:59:04 +01:00
David Robertson
a8677bc9b8
Deal with some GHA deprecation warnings ( #14216 )
2022-10-18 13:45:34 +01:00
realtyem
6c5082f3e0
Flush stdout/err in Dockerfile-workers before replacing the current process ( #14195 )
...
Also update `subprocess.check_output` to the slightly newer `subprocess.run`.
Signed-off-by: Jason Little <realtyem@gmail.com >
2022-10-18 11:56:20 +00:00
David Robertson
c3a4780080
When restarting a partial join resync, prioritise the server which actioned a partial join ( #14126 )
2022-10-18 12:33:18 +01:00
Ivan Shapovalov
4af93bd7f6
Allow poetry-core 1.3.2 ( #14217 )
...
Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name >
2022-10-18 10:38:58 +01:00
Andrew Morgan
dc02d9f8c5
Avoid checking the event cache when backfilling events ( #14164 )
2022-10-18 10:33:35 +01:00
Andrew Morgan
828b5502cf
Remove _get_events_cache check optimisation from _have_seen_events_dict ( #14161 )
2022-10-18 10:33:21 +01:00
Eric Eastwood
2c63cdcc3f
Add debug logs to figure out why an event was filtered ( #14095 )
...
Spawned while investigating https://github.com/matrix-org/synapse/issues/13944
This way we might get some more context whenever an `403 Forbidden - body: {"errcode":"M_FORBIDDEN","error":"You don't have permission to access that event."}` error is produced.
`log_config.yaml`
```yaml
loggers:
synapse:
level: INFO
synapse.visibility:
level: DEBUG
```
2022-10-17 16:02:39 -05:00
Erik Johnston
6fee2f49f3
Cache Rust build cache when building docker images ( #14130 )
2022-10-17 17:21:14 +00:00
dependabot[bot]
c101fc6568
Bump click from 8.1.1 to 8.1.3 ( #14201 )
2022-10-17 17:54:11 +01:00
Erik Johnston
130668b66c
Merge branch 'master' into develop
2022-10-17 17:04:40 +01:00
Patrick Cloke
4283bd1cf9
Support filtering the /messages API by relation type (MSC3874). ( #14148 )
...
Gated behind an experimental configuration flag.
2022-10-17 11:32:11 -04:00
dependabot[bot]
6b24235142
Bump psycopg2 from 2.9.3 to 2.9.4 ( #14200 )
2022-10-17 13:24:17 +00:00
dependabot[bot]
2fa1bf598d
Bump bcrypt from 3.2.0 to 4.0.1 ( #14186 )
2022-10-17 13:42:18 +01:00
David Robertson
ccce8cdfc5
Use Pydantic when PUTting room aliases ( #14179 )
2022-10-17 13:39:12 +01:00
Nick Mills-Barrett
2c2c3f8b2c
Invalidate rooms for user caches when receiving membership events ( #14155 )
...
This should fix a race where the event notification comes in over
replication before the state replication, leaving a window during
which a sync may get an incorrect list of rooms for the user.
2022-10-17 13:27:51 +01:00
David Robertson
cd01a1d3b5
Fix dead link to admin registration API ( #14189 )
...
* Fix dead link to admin registration API
* Changelog
2022-10-17 12:10:01 +01:00
Dirk Klimpel
1eb8dcf4c9
Remove not needed replication listener in docker compose example ( #14107 )
2022-10-17 12:00:09 +01:00
Erik Johnston
6b097a3e17
1.69.0
2022-10-17 11:31:15 +01:00
Eric Eastwood
40bb37eb27
Stop getting missing prev_events after we already know their signature is invalid ( #13816 )
...
While https://github.com/matrix-org/synapse/pull/13635 stops us from doing the slow thing after we've already done it once, this PR stops us from doing one of the slow things in the first place.
Related to
- https://github.com/matrix-org/synapse/issues/13622
- https://github.com/matrix-org/synapse/pull/13635
- https://github.com/matrix-org/synapse/issues/13676
Part of https://github.com/matrix-org/synapse/issues/13356
Follow-up to https://github.com/matrix-org/synapse/pull/13815 which tracks event signature failures.
With this PR, we avoid the call to the costly `_get_state_ids_after_missing_prev_event` because the signature failure will count as an attempt before and we filter events based on the backoff before calling `_get_state_ids_after_missing_prev_event` now.
For example, this will save us 156s out of the 185s total that this `matrix.org` `/messages` request. If you want to see the full Jaeger trace of this, you can drag and drop this `trace.json` into your own Jaeger, https://gist.github.com/MadLittleMods/4b12d0d0afe88c2f65ffcc907306b761
To explain this exact scenario around `/messages` -> backfill, we call `/backfill` and first check the signatures of the 100 events. We see bad signature for `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` and `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` (both member events). Then we process the 98 events remaining that have valid signatures but one of the events references `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` as a `prev_event`. So we have to do the whole `_get_state_ids_after_missing_prev_event` rigmarole which pulls in those same events which fail again because the signatures are still invalid.
- `backfill`
- `outgoing-federation-request` `/backfill`
- `_check_sigs_and_hash_and_fetch`
- `_check_sigs_and_hash_and_fetch_one` for each event received over backfill
- ❗ `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` fails with `Signature on retrieved event was invalid.`: `unable to verify signature for sender domain xxx: 401: Failed to find any key to satisfy: _FetchKeyRequest(...)`
- ❗ `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` fails with `Signature on retrieved event was invalid.`: `unable to verify signature for sender domain xxx: 401: Failed to find any key to satisfy: _FetchKeyRequest(...)`
- `_process_pulled_events`
- `_process_pulled_event` for each validated event
- ❗ Event `$Q0iMdqtz3IJYfZQU2Xk2WjB5NDF8Gg8cFSYYyKQgKJ0` references `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` as a `prev_event` which is missing so we try to get it
- `_get_state_ids_after_missing_prev_event`
- `outgoing-federation-request` `/state_ids`
- ❗ `get_pdu` for `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` which fails the signature check again
- ❗ `get_pdu` for `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` which fails the signature check
2022-10-15 00:36:49 -05:00
dependabot[bot]
616dcc1d18
Bump types-bleach from 4.1.4 to 5.0.3 ( #14188 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-14 23:57:55 +00:00
dependabot[bot]
8cd22674a1
Bump types-pillow from 9.2.2 to 9.2.2.1 ( #14187 )
...
* Bump types-pillow from 9.2.2 to 9.2.2.1
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.2.2 to 9.2.2.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-15 00:16:25 +01:00
realtyem
c75836fe77
Strip whitespace from worker types in Dockerfile-workers ( #14165 )
2022-10-14 19:38:04 +00:00
Patrick Cloke
bc2bd92b93
Merge remote-tracking branch 'origin/release-v1.69' into develop
2022-10-14 14:11:27 -04:00
Patrick Cloke
d1bdeccb50
Accept threaded receipts for events related to the root event. ( #14174 )
...
The root node of a thread (and events related to it) are considered
"part of a thread" when validating receipts. This allows clients which
show the root node in both the main timeline and the threaded timeline
to easily send receipts in either.
Note that threaded notifications are not created for these events, these
events created notifications on the main timeline.
2022-10-14 18:05:25 +00:00
Erik Johnston
b43be004b4
1.69.0rc4
2022-10-14 15:05:04 +01:00
Erik Johnston
d241a1350d
Fix background update to use an index ( #14181 )
2022-10-14 13:46:23 +00:00
Patrick Cloke
022f25b309
Advertise support for Matrix 1.4. ( #14184 )
...
All features / changes in Matrix 1.4 are now supported in
Synapse.
2022-10-14 13:21:55 +00:00
Patrick Cloke
5a983cccfb
Fix changelog for #14171 to match #13394/#14175.
2022-10-14 08:56:37 -04:00
Andrew Morgan
97b3d037c0
Don't require optional invite_room_state field on fed v2 invite ( #14083 )
2022-10-14 13:48:33 +01:00
Patrick Cloke
126a15794c
Do not allow a None-limit on PaginationConfig. ( #14146 )
...
The callers either set a default limit or manually handle a None-limit
later on (by setting a default value).
Update the callers to always instantiate PaginationConfig with a default
limit and then assume the limit is non-None.
2022-10-14 12:30:05 +00:00
realtyem
c7446906bd
Set LD_PRELOAD to load jemalloc in Dockerfile-workers. ( #14182 )
2022-10-14 13:29:49 +01:00
Patrick Cloke
c3e4edb4d6
Stabilize the threads API. ( #14175 )
...
Stabilize the threads API (MSC3856) by supporting (only) the v1
path for the endpoint.
This also marks the API as safe for workers since it is a read-only
API.
2022-10-14 07:16:50 -04:00
Patrick Cloke
9ff4155f6c
Properly invalidate get_thread_id cache. ( #14163 )
...
This was missed in 2b6d41ebd6 (#13824 ).
2022-10-14 07:10:44 -04:00
Erik Johnston
6e0dde3215
Revert "Disable push of docker images"
...
This reverts commit f3f303aa22 .
2022-10-14 10:50:24 +01:00
Erik Johnston
424d1d28cc
Fix docker workflow
2022-10-14 09:57:31 +01:00
Erik Johnston
f3f303aa22
Disable push of docker images
2022-10-14 09:54:56 +01:00
Erik Johnston
29ee4b6698
Fix docker build OOMing in CI for arm64 builds ( #14173 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-10-13 18:16:21 +00:00
David Robertson
16c5d95b59
Optimise the event_push_backfill_thread_id bg job ( #14172 )
...
Co-authored-by: Erik Johnston <erik@matrix.org >
2022-10-13 17:32:16 +00:00
Patrick Cloke
2019b60f3b
Fix sqlite syntax for upserts. ( #14171 )
2022-10-13 12:53:24 -04:00
Patrick Cloke
7d59a515bb
Properly return the thread ID down sync. ( #14159 )
...
Fix a broken conflict in e6e876b9b1 ,
by not stomping over a field right after creating it.
2022-10-13 12:15:41 -04:00
Patrick Cloke
3bbe532abb
Add an API for listing threads in a room. ( #13394 )
...
Implement the /threads endpoint from MSC3856.
This is currently unstable and behind an experimental configuration
flag.
It includes a background update to backfill data, results from
the /threads endpoint will be partial until that finishes.
2022-10-13 08:02:11 -04:00
Shay
b6baa46db0
Fix a bug where the joined hosts for a given event were not being properly cached ( #14125 )
2022-10-12 11:01:00 -07:00
Patrick Cloke
e6e876b9b1
Return the thread ID properly down sync. ( #14159 )
...
A receipt's thread ID, if one exists, should be added to the
body of a receipt.
2022-10-12 12:18:34 -04:00
Patrick Cloke
87099b6ea5
Return the main timeline for events which are not part of a thread. ( #14140 )
...
Fixes a bug where threaded receipts could not be sent for the
main timeline.
2022-10-12 12:15:52 -04:00
dependabot[bot]
e4e55f8eef
Bump typing-extensions from 4.1.1 to 4.4.0 ( #14134 )
2022-10-12 14:37:36 +01:00
Andrew Morgan
9c23442ac9
Correct field name for stripped state events when knocking. knock_state_events -> knock_room_state ( #14102 )
2022-10-12 14:37:20 +01:00
dependabot[bot]
c152e58116
Bump bleach from 4.1.0 to 5.0.1 ( #14116 )
2022-10-12 14:37:04 +01:00
dependabot[bot]
10a432a5f0
Bump idna from 3.3 to 3.4 ( #14115 )
2022-10-12 14:34:50 +01:00
Erik Johnston
821f74a8c0
Fixup changelog
2022-10-12 13:29:21 +01:00
Erik Johnston
19eb23bf32
1.69.0rc3
2022-10-12 13:24:22 +01:00
Patrick Cloke
c604d2c218
Mark /relations endpoint as usable on workers. ( #14028 )
...
Co-authored-by: Eric Eastwood <erice@element.io >
2022-10-12 06:46:13 -04:00
Nick Mills-Barrett
f9bc5428c4
Batch up calls to get_rooms_for_users ( #14109 )
2022-10-12 11:36:22 +01:00
Patrick Cloke
09be8ab5f9
Remove the experimental implementation of MSC3772. ( #14094 )
...
MSC3772 has been abandoned.
2022-10-12 06:26:39 -04:00
David Robertson
3f057e4c54
Use minimal Rust installation in docker images and CI ( #14141 )
2022-10-12 10:47:02 +01:00
Shay
a86b2f6837
Fix a bug where redactions were not being sent over federation if we did not have the original event. ( #13813 )
2022-10-11 11:18:45 -07:00
David Robertson
6a92944854
Handle gottestfmt repository move ( #14144 )
2022-10-11 17:54:06 +00:00
Patrick Cloke
6136768e76
Remove the groups config code. ( #14142 )
...
This has been unused for a long time, but missed removal in #11584 .
2022-10-11 13:14:57 -04:00
Erik Johnston
02086e1da0
Fix rotating existing notifications in push summary ( #14138 )
...
Broke by #14045 . Fixes #14120 .
Introduced in v1.69.0rc2.
2022-10-11 15:13:32 +00:00
Abdullah Osama
a9934d48c1
Making parse_server_name more consistent ( #14007 )
...
Fixes #12122
2022-10-11 12:42:11 +00:00
Brendan Abolivier
422cff7df6
Fallback if 'approved' isn't included in a registration replication request ( #14135 )
2022-10-11 14:41:06 +02:00
Erik Johnston
17c031b251
Enable dependabot for Rust dependencies ( #14132 )
2022-10-11 12:26:40 +01:00
Erik Johnston
d94bcbced3
Fix pinning Rust deps in docker images ( #14129 )
2022-10-11 10:53:34 +00:00
Andrew Morgan
e580f03e02
Fix name of "alias_creation_rules" option in config manual ( #14124 )
2022-10-10 20:01:05 +00:00
dependabot[bot]
544cc400e3
Bump types-psycopg2 from 2.9.9 to 2.9.21.1 ( #14114 )
...
* Bump types-psycopg2 from 2.9.9 to 2.9.21.1
Bumps [types-psycopg2](https://github.com/python/typeshed ) from 2.9.9 to 2.9.21.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psycopg2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:41:21 +01:00
dependabot[bot]
475bc8acb9
Bump types-pillow from 9.0.15 to 9.2.2 ( #14113 )
...
* Bump types-pillow from 9.0.15 to 9.2.2
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.0.15 to 9.2.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:36:26 +01:00
Eric Eastwood
1bf2832714
Indicate what endpoint came back with a JSON response we were unable to parse ( #14097 )
...
**Before:**
```
WARNING - POST-11 - Unable to parse JSON: Expecting value: line 1 column 1 (char 0) (b'')
```
**After:**
```
WARNING - POST-11 - Unable to parse JSON from POST /_matrix/client/v3/join/%21ZlmJtelqFroDRJYZaq:hs1?server_name=hs1 response: Expecting value: line 1 column 1 (char 0) (b'')
```
---
It's possible to figure out which endpoint these warnings were coming from before but you had to follow the request ID `POST-11` to the log line that says `Completed request [...]`. Including this key information next to the JSON parsing error makes it much easier to reason whether it matters or not.
```
2022-09-29T08:23:25.7875506Z synapse_main | 2022-09-29 08:21:10,336 - synapse.http.matrixfederationclient - 299 - INFO - POST-11 - {GET-O-13} [hs1] Completed request: 200 OK in 0.53 secs, got 450 bytes - GET matrix://hs1/_matrix/federation/v1/make_join/%21ohtKoQiXlPePSycXwp%3Ahs1/%40charlie%3Ahs2?ver=1&ver=2&ver=3&ver=4&ver=5&ver=6&ver=org.matrix.msc2176&ver=7&ver=8&ver=9&ver=org.matrix.msc3787&ver=10&ver=org.matrix.msc2716v4
```
---
As a note, having no `body` is normal for the `/join` endpoint and it can handle it.
0c853e0970/synapse/rest/client/room.py (L398-L403)
Alternatively we could remove these extra logs but they are probably more usually helpful to figure out what went wrong.
2022-10-07 11:39:45 -05:00
Patrick Cloke
e03d7c5fd0
Remove support for the unstable dir flag on relations. ( #14106 )
...
From MSC3715, this was unused by clients (and there was no
way for clients to know it was supported).
Matrix 1.4 defines the stable field.
2022-10-07 12:38:46 -04:00
Patrick Cloke
ab8047b4bf
Apply & bundle edits for non-message events. ( #14034 )
...
Fixes two related bugs:
* No edit information was bundled for events which aren't `m.room.message`.
* `m.new_content` was not applied for those events.
2022-10-07 15:27:50 +00:00
Paul Tötterman
8074430d25
Document Google OpenID Connect email attribute ( #14081 )
2022-10-07 14:22:25 +00:00
Quentin Gliech
dc37b68a25
Parse SYNAPSE_ASYNC_IO_REACTOR env variable & log the reactor on startup ( #14092 )
2022-10-07 15:19:59 +01:00
dependabot[bot]
8faf7245fd
Bump phonenumbers from 8.12.44 to 8.12.56 ( #14043 )
...
* Bump phonenumbers from 8.12.44 to 8.12.56
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.12.44 to 8.12.56.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.12.44...v8.12.56 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-10-07 15:17:00 +01:00
David Robertson
f1673866ed
Unpin build-system requirements, but impose an upper-bound ( #14085 )
...
* Revert to prior build-system requirements
This reverts #14080 .
* Use normalised extra name, which poetry-core 1.3 will generate anyway
* Changelog
* Upper bound build-system requirements
* Remove upgrade note; expand changelog entry a little.
* Fix typo in build-system comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-10-07 15:15:10 +01:00
dependabot[bot]
cb72c65609
Bump pydantic from 1.9.1 to 1.10.2 ( #14044 )
...
* Bump pydantic from 1.9.1 to 1.10.2
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 1.9.1 to 1.10.2.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v1.9.1...v1.10.2 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-10-07 15:08:24 +01:00
dependabot[bot]
5e2cfb64d7
Bump msgpack from 1.0.3 to 1.0.4 ( #14040 )
...
* Bump msgpack from 1.0.3 to 1.0.4
Bumps [msgpack](https://github.com/msgpack/msgpack-python ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/msgpack/msgpack-python/releases )
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst )
- [Commits](https://github.com/msgpack/msgpack-python/compare/v1.0.3...v1.0.4 )
---
updated-dependencies:
- dependency-name: msgpack
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-10-07 15:08:06 +01:00
Dirk Klimpel
c0e868e423
Improve the listener example on the metrics documentation ( #14078 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-10-07 14:54:01 +01:00
Patrick Cloke
00c93d2e7e
Be more lenient in the oEmbed response parsing. ( #14089 )
...
Attempt to parse any valid information from an oEmbed response
(instead of bailing at the first unexpected data). This should allow
for more partial oEmbed data to be returned, resulting in better /
more URL previews, even if those URL previews are only partial.
2022-10-07 09:29:43 -04:00
Patrick Cloke
66a7857334
Use stable identifiers for MSC3771 & MSC3773. ( #14050 )
...
These are both part of Matrix 1.4 which has now been released.
For now, support both the unstable and stable identifiers.
2022-10-07 09:26:40 -04:00
Dirk Klimpel
0adeccafc6
Add sample worker files for pusher and federation_sender ( #14077 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-10-07 14:25:28 +01:00
David Robertson
2295095c97
Use Pydantic to validate /devices endpoints ( #14054 )
2022-10-07 13:54:07 +01:00
David Robertson
1fa2e58772
Catch BrokenPipeError from metrics server, and log as a warning ( #14072 )
2022-10-07 13:35:44 +01:00
David Robertson
d6ae14e60e
Update frozendict 2.3.3 -> 2.3.4 ( #13955 )
...
* Update frozendict 2.3.3 -> 2.3.4
This claims to fix more memory leaks.
Could have automated this upgrade with #11828 if we wanted.
* Changelog
2022-10-07 12:13:37 +01:00
David Robertson
0c853e0970
Fix broken links to README ( #14093 )
2022-10-06 22:49:51 +00:00
David Robertson
cb20b885cb
Always close _all_ ijson coroutines, even if doing so raises Exceptions ( #14065 )
2022-10-06 18:17:50 +00:00
Sean Quah
44741aa85b
Merge tag 'v1.69.0rc2' into develop
...
Synapse 1.69.0rc2 (2022-10-06)
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Deprecations and Removals
-------------------------
- Deprecate the `generate_short_term_login_token` method in favor of an async `create_login_token` method in the Module API. ([\#13842](https://github.com/matrix-org/synapse/issues/13842 ))
Internal Changes
----------------
- Ensure Synapse v1.69 works with upcoming database changes in v1.70. ([\#14045](https://github.com/matrix-org/synapse/issues/14045 ))
- Fix a bug introduced in Synapse v1.68.0 where messages could not be sent in rooms with non-integer `notifications` power level. ([\#14073](https://github.com/matrix-org/synapse/issues/14073 ))
- Temporarily pin build-system requirements to workaround an incompatibility with poetry-core 1.3.0. This will be reverted before the v1.69.0 release proper, see [\#14079](https://github.com/matrix-org/synapse/issues/14079 ). ([\#14080](https://github.com/matrix-org/synapse/issues/14080 ))
2022-10-06 18:48:47 +01:00
Andre Klärner
b753f63000
The changelog entry ending in a . or ! is not optional ( #14087 )
2022-10-06 17:11:32 +00:00
Sean Quah
a98ac3cc1e
Update 1.69.0rc2 changelog
2022-10-06 14:55:37 +01:00
Sean Quah
b42177f94f
Replace incorrect 1.69.0rc3 version with 1.69.0rc2
2022-10-06 14:48:04 +01:00
Sean Quah
bb69dbf3e3
1.69.0rc3
2022-10-06 14:46:57 +01:00
David Robertson
e9a0419c8d
Fix sending events into rooms with non-integer power levels ( #14073 )
2022-10-06 13:00:03 +00:00
David Robertson
720b12c209
Pin build-system requirements ( #14080 )
...
* Pin build-system requirements
* Changelog
2022-10-06 12:55:07 +01:00
Quentin Gliech
79c592cec6
Deprecate the generate_short_term_login_token method in favor of an async create_login_token method in the Module API. ( #13842 )
...
Signed-off-by: Quentin Gliech <quenting@element.io >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-10-06 10:22:36 +00:00
Sean Quah
f6f6bdc7b3
1.69.0rc2
2022-10-06 10:33:23 +01:00
Richard van der Hoff
a09a7d40e3
openid.md: fix a typo in the facebook example
2022-10-06 09:47:54 +01:00
Shay
7b7478e8b6
Batch up notifications after event persistence ( #14033 )
2022-10-05 10:12:48 -07:00
Richard van der Hoff
51436c8dd5
Complement test image: capture logs from nginx ( #14063 )
...
Have nginx send its logs to stderr/out, so that we can debug
https://github.com/matrix-org/synapse/issues/13334 .
2022-10-05 17:37:34 +01:00
Patrick Cloke
0b037d6c91
Fix handling of public rooms filter with a network tuple. ( #14053 )
...
Fixes two related bugs:
* The handling of `[null]` for a `room_types` filter was incorrect.
* The ordering of arguments when providing both a network tuple
and room type field was incorrect.
2022-10-05 12:49:52 +00:00
Patrick Cloke
e3d4755454
Fix backwards compatibility with upcoming threads schema changes. ( #14045 )
...
Ensure that the upsert will work properly by first updating any existing
rows (in the same way that the background update to backfill data works).
2022-10-05 07:56:05 -04:00
Patrick Cloke
dcced5a8d7
Use threaded receipts when fetching events for push. ( #13878 )
...
Update the HTTP and email pushers to consider threaded read receipts
when fetching unread events.
2022-10-04 12:07:02 -04:00
dependabot[bot]
c3b0e5e178
Bump types-pyyaml from 6.0.4 to 6.0.12 ( #14041 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 15:53:47 +00:00
Nick Mills-Barrett
0506bb100e
Remove get rooms for user with stream ordering ( #13991 )
...
By getting the joined rooms before the current token we avoid any reading
history to confirm a user *was* in a room. We can then use any membership
change events, which we already fetch during sync, to determine the final
list of joined room IDs.
2022-10-04 16:42:59 +01:00
Patrick Cloke
2b6d41ebd6
Recursively fetch the thread for receipts & notifications. ( #13824 )
...
Consider an event to be part of a thread if you can follow a
chain of relations up to a thread root.
Part of MSC3773 & MSC3771.
2022-10-04 11:36:16 -04:00
ffaex
3e74ad20db
update authlib from 0.15.5 to 1.1.0 ( #14006 )
...
Signed-off-by: Fyodor Fomichev <fyodor.fomichev@gmail.com >
2022-10-04 14:49:07 +00:00
Patrick Cloke
a7ba457b2b
Mark events as read using threaded read receipts from MSC3771. ( #13877 )
...
Applies the proper logic for unthreaded and threaded receipts to either
apply to all events in the room or only events in the same thread, respectively.
2022-10-04 10:46:42 -04:00
Sean Quah
f0019f3f3b
Merge tag 'v1.69.0rc1' into develop
...
Synapse 1.69.0rc1 (2022-10-04)
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Features
--------
- Allow application services to set the `origin_server_ts` of a state event by providing the query parameter `ts` in [`PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey ), per [MSC3316](https://github.com/matrix-org/matrix-doc/pull/3316 ). Contributed by @lukasdenk. ([\#11866](https://github.com/matrix-org/synapse/issues/11866 ))
- Allow server admins to require a manual approval process before new accounts can be used (using [MSC3866](https://github.com/matrix-org/matrix-spec-proposals/pull/3866 )). ([\#13556](https://github.com/matrix-org/synapse/issues/13556 ))
- Exponentially backoff from backfilling the same event over and over. ([\#13635](https://github.com/matrix-org/synapse/issues/13635 ), [\#13936](https://github.com/matrix-org/synapse/issues/13936 ))
- Add cache invalidation across workers to module API. ([\#13667](https://github.com/matrix-org/synapse/issues/13667 ), [\#13947](https://github.com/matrix-org/synapse/issues/13947 ))
- Experimental implementation of [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882 ) to allow an existing device/session to generate a login token for use on a new device/session. ([\#13722](https://github.com/matrix-org/synapse/issues/13722 ), [\#13868](https://github.com/matrix-org/synapse/issues/13868 ))
- Experimental support for thread-specific receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771 )). ([\#13782](https://github.com/matrix-org/synapse/issues/13782 ), [\#13893](https://github.com/matrix-org/synapse/issues/13893 ), [\#13932](https://github.com/matrix-org/synapse/issues/13932 ), [\#13937](https://github.com/matrix-org/synapse/issues/13937 ), [\#13939](https://github.com/matrix-org/synapse/issues/13939 ))
- Add experimental support for [MSC3881: Remotely toggle push notifications for another client](https://github.com/matrix-org/matrix-spec-proposals/pull/3881 ). ([\#13799](https://github.com/matrix-org/synapse/issues/13799 ), [\#13831](https://github.com/matrix-org/synapse/issues/13831 ), [\#13860](https://github.com/matrix-org/synapse/issues/13860 ))
- Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. ([\#13815](https://github.com/matrix-org/synapse/issues/13815 ))
- Improve validation for the unspecced, internal-only `_matrix/client/unstable/add_threepid/msisdn/submit_token` endpoint. ([\#13832](https://github.com/matrix-org/synapse/issues/13832 ))
- Faster remote room joins: record _when_ we first partial-join to a room. ([\#13892](https://github.com/matrix-org/synapse/issues/13892 ))
- Support a `dir` parameter on the `/relations` endpoint per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#13920](https://github.com/matrix-org/synapse/issues/13920 ))
- Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). ([\#13957](https://github.com/matrix-org/synapse/issues/13957 ))
Bugfixes
--------
- Send push notifications for invites received over federation. ([\#13719](https://github.com/matrix-org/synapse/issues/13719 ), [\#14014](https://github.com/matrix-org/synapse/issues/14014 ))
- Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. ([\#13830](https://github.com/matrix-org/synapse/issues/13830 ))
- Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715 ) would give incorrect results when paginating forward. ([\#13840](https://github.com/matrix-org/synapse/issues/13840 ))
- Fix access token leak to logs from proxy agent. ([\#13855](https://github.com/matrix-org/synapse/issues/13855 ))
- Fix `have_seen_event` cache not being invalidated after we persist an event which causes inefficiency effects like extra `/state` federation calls. ([\#13863](https://github.com/matrix-org/synapse/issues/13863 ))
- Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. ([\#13872](https://github.com/matrix-org/synapse/issues/13872 ))
- Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. ([\#13904](https://github.com/matrix-org/synapse/issues/13904 ))
- Fix packaging to include `Cargo.lock` in `sdist`. ([\#13909](https://github.com/matrix-org/synapse/issues/13909 ))
- Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. ([\#13922](https://github.com/matrix-org/synapse/issues/13922 ))
- Fix a bug introduced in v1.68.0 where Synapse would require `setuptools_rust` at runtime, even though the package is only required at build time. ([\#13952](https://github.com/matrix-org/synapse/issues/13952 ))
- Fix a long-standing bug where `POST /_matrix/client/v3/keys/query` requests could result in excessively large SQL queries. ([\#13956](https://github.com/matrix-org/synapse/issues/13956 ))
- Fix a performance regression in the `get_users_in_room` database query. Introduced in v1.67.0. ([\#13972](https://github.com/matrix-org/synapse/issues/13972 ))
- Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in `release` mode when using `poetry install`. ([\#14009](https://github.com/matrix-org/synapse/issues/14009 ))
- Do not return an unspecified `original_event` field when using the stable `/relations` endpoint. Introduced in Synapse v1.57.0. ([\#14025](https://github.com/matrix-org/synapse/issues/14025 ))
- Correctly handle a race with device lists when a remote user leaves during a partial join. ([\#13885](https://github.com/matrix-org/synapse/issues/13885 ))
- Correctly handle sending local device list updates to remote servers during a partial join. ([\#13934](https://github.com/matrix-org/synapse/issues/13934 ))
Improved Documentation
----------------------
- Add `worker_main_http_uri` for the worker generator bash script. ([\#13772](https://github.com/matrix-org/synapse/issues/13772 ))
- Update URL for the NixOS module for Synapse. ([\#13818](https://github.com/matrix-org/synapse/issues/13818 ))
- Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name`, not `displayname`. ([\#13836](https://github.com/matrix-org/synapse/issues/13836 ))
- Fix a cross-link from the registration admin API to the `registration_shared_secret` configuration documentation. ([\#13870](https://github.com/matrix-org/synapse/issues/13870 ))
- Update the man page for the `hash_password` script to correct the default number of bcrypt rounds performed. ([\#13911](https://github.com/matrix-org/synapse/issues/13911 ), [\#13930](https://github.com/matrix-org/synapse/issues/13930 ))
- Emphasize the right reasons when to use `(room_id, event_id)` in a database schema. ([\#13915](https://github.com/matrix-org/synapse/issues/13915 ))
- Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. ([\#13928](https://github.com/matrix-org/synapse/issues/13928 ))
- Clarify that the `auto_join_rooms` config option can also be used with Space aliases. ([\#13931](https://github.com/matrix-org/synapse/issues/13931 ))
- Add some cross references to worker documentation. ([\#13974](https://github.com/matrix-org/synapse/issues/13974 ))
- Linkify urls in config documentation. ([\#14003](https://github.com/matrix-org/synapse/issues/14003 ))
Deprecations and Removals
-------------------------
- Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ([\#13843](https://github.com/matrix-org/synapse/issues/13843 ))
- Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. ([\#14024](https://github.com/matrix-org/synapse/issues/14024 ))
Internal Changes
----------------
- Speed up creation of DM rooms. ([\#13487](https://github.com/matrix-org/synapse/issues/13487 ), [\#13800](https://github.com/matrix-org/synapse/issues/13800 ))
- Port push rules to using Rust. ([\#13768](https://github.com/matrix-org/synapse/issues/13768 ), [\#13838](https://github.com/matrix-org/synapse/issues/13838 ), [\#13889](https://github.com/matrix-org/synapse/issues/13889 ))
- Optimise get rooms for user calls. Contributed by Nick @ Beeper (@fizzadar). ([\#13787](https://github.com/matrix-org/synapse/issues/13787 ))
- Update the script which makes full schema dumps. ([\#13792](https://github.com/matrix-org/synapse/issues/13792 ))
- Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@fizzadar). ([\#13796](https://github.com/matrix-org/synapse/issues/13796 ))
- Improve the `synapse.api.auth.Auth` mock used in unit tests. ([\#13809](https://github.com/matrix-org/synapse/issues/13809 ))
- Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ([\#13823](https://github.com/matrix-org/synapse/issues/13823 ))
- Carry IdP Session IDs through user-mapping sessions. ([\#13839](https://github.com/matrix-org/synapse/issues/13839 ))
- Fix the release script not publishing binary wheels. ([\#13850](https://github.com/matrix-org/synapse/issues/13850 ))
- Raise issue if complement fails with latest deps. ([\#13859](https://github.com/matrix-org/synapse/issues/13859 ))
- Correct the comments in the complement dockerfile. ([\#13867](https://github.com/matrix-org/synapse/issues/13867 ))
- Create a new snapshot of the database schema. ([\#13873](https://github.com/matrix-org/synapse/issues/13873 ))
- Faster room joins: Send device list updates to most servers in rooms with partial state. ([\#13874](https://github.com/matrix-org/synapse/issues/13874 ), [\#14013](https://github.com/matrix-org/synapse/issues/14013 ))
- Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ([\#13876](https://github.com/matrix-org/synapse/issues/13876 ))
- Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to `/backfill`. ([\#13879](https://github.com/matrix-org/synapse/issues/13879 ))
- Faster room joins: Avoid waiting for full state when processing `/keys/changes` requests. ([\#13888](https://github.com/matrix-org/synapse/issues/13888 ))
- Improve backfill robustness by trying more servers when we get a `4xx` error back. ([\#13890](https://github.com/matrix-org/synapse/issues/13890 ))
- Fix mypy errors with canonicaljson 1.6.3. ([\#13905](https://github.com/matrix-org/synapse/issues/13905 ))
- Faster remote room joins: correctly handle remote device list updates during a partial join. ([\#13913](https://github.com/matrix-org/synapse/issues/13913 ))
- Complement image: propagate SIGTERM to all workers. ([\#13914](https://github.com/matrix-org/synapse/issues/13914 ))
- Update an innaccurate comment in Synapse's upsert database helper. ([\#13924](https://github.com/matrix-org/synapse/issues/13924 ))
- Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). ([\#13925](https://github.com/matrix-org/synapse/issues/13925 ), [\#13993](https://github.com/matrix-org/synapse/issues/13993 ))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade. ([\#13960](https://github.com/matrix-org/synapse/issues/13960 ))
- Refactor language in user directory `_track_user_joined_room` code to make it more clear that we use both local and remote users. ([\#13966](https://github.com/matrix-org/synapse/issues/13966 ))
- Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). ([\#13969](https://github.com/matrix-org/synapse/issues/13969 ))
- Speed up calculating push actions in large rooms. ([\#13973](https://github.com/matrix-org/synapse/issues/13973 ), [\#13992](https://github.com/matrix-org/synapse/issues/13992 ))
- Enable update notifications from Github's dependabot. ([\#13976](https://github.com/matrix-org/synapse/issues/13976 ))
- Prototype a workflow to automatically add changelogs to dependabot PRs. ([\#13998](https://github.com/matrix-org/synapse/issues/13998 ), [\#14011](https://github.com/matrix-org/synapse/issues/14011 ), [\#14017](https://github.com/matrix-org/synapse/issues/14017 ), [\#14021](https://github.com/matrix-org/synapse/issues/14021 ), [\#14027](https://github.com/matrix-org/synapse/issues/14027 ))
- Fix type annotations to be compatible with new annotations in development versions of twisted. ([\#14012](https://github.com/matrix-org/synapse/issues/14012 ))
- Clear out stale entries in `event_push_actions_staging` table. ([\#14020](https://github.com/matrix-org/synapse/issues/14020 ))
- Bump versions of GitHub actions. ([\#13978](https://github.com/matrix-org/synapse/issues/13978 ), [\#13979](https://github.com/matrix-org/synapse/issues/13979 ), [\#13980](https://github.com/matrix-org/synapse/issues/13980 ), [\#13982](https://github.com/matrix-org/synapse/issues/13982 ), [\#14015](https://github.com/matrix-org/synapse/issues/14015 ), [\#14019](https://github.com/matrix-org/synapse/issues/14019 ), [\#14022](https://github.com/matrix-org/synapse/issues/14022 ), [\#14023](https://github.com/matrix-org/synapse/issues/14023 ))
2022-10-04 15:26:37 +01:00
Patrick Cloke
d8663f5e63
Advertise supporting version 1.3 of the Matrix spec. ( #14032 )
...
Now that all features / changes in 1.3 are supported in Synapse.
2022-10-04 10:21:16 -04:00
David Robertson
04ce2edddc
Fix building wheels on OSX ( #14046 )
...
* Fix building wheels on OSX
Follow-up to #13983 . I missed a breaking change in setup-python v4.
Serves me right for rushing to cut through the dependabot spam.
* Changelog
* Merge changelog
2022-10-04 14:59:30 +01:00
Patrick Cloke
b4ec4f5e71
Track notification counts per thread (implement MSC3773). ( #13776 )
...
When retrieving counts of notifications segment the results based on the
thread ID, but choose whether to return them as individual threads or as
a single summed field by letting the client opt-in via a sync flag.
The summarization code is also updated to be per thread, instead of per
room.
2022-10-04 09:47:04 -04:00
dependabot[bot]
94017e867d
Bump isort from 5.7.0 to 5.10.1 ( #13988 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 13:19:40 +01:00
Sean Quah
17bc4ecff2
Update changelog
2022-10-04 12:50:02 +01:00
dependabot[bot]
6ec9fcc808
Bump jsonschema from 4.4.0 to 4.16.0 ( #13985 )
...
* Bump jsonschema from 4.4.0 to 4.16.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.4.0 to 4.16.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.4.0...v4.16.0 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:34:08 +01:00
dependabot[bot]
b95d8b463e
Bump types-pyopenssl from 22.0.0 to 22.0.10 ( #13984 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:27:41 +01:00
dependabot[bot]
b64b7297f2
Bump actions/setup-python from 2 to 4 ( #13983 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:24:36 +01:00
dependabot[bot]
0e5106a0cc
Bump types-requests from 2.27.11 to 2.28.11 ( #13987 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:24:18 +01:00
dependabot[bot]
23a4973b83
Bump types-setuptools from 57.4.9 to 65.4.0.0 ( #13986 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-10-04 12:21:20 +01:00
Patrick Cloke
e70c6b720e
Disable pushing for server ACL events (MSC3786). ( #13997 )
...
Switches to the stable identifier for MSC3786 and enables it
by default.
This disables pushes of m.room.server_acl events.
2022-10-04 07:08:27 -04:00
Patrick Cloke
27fa0fa698
Send the appservice access token as a header. ( #13996 )
...
Implements MSC2832 by sending application service access
tokens in the Authorization header.
The access token is also still sent as a query parameter until
the application service ecosystem has fully migrated to using
headers. In the future this could be made opt-in, or removed
completely.
2022-10-04 07:06:41 -04:00
Sean Quah
471e13a103
1.69.0rc1
2022-10-04 11:18:37 +01:00
Akshit Tyagi
1613857b90
Linkify config documentation. ( #14003 )
2022-10-04 09:03:31 +00:00
Eric Eastwood
70a4317692
Track when the pulled event signature fails ( #13815 )
...
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.
2022-10-03 14:53:29 -05:00
David Robertson
92ae90aca2
Dependabot changelog: don't require a changelog in lints
2022-10-03 19:30:01 +01:00
dependabot[bot]
0c9c159f45
Bump actions/upload-artifact from 2 to 3 ( #14023 )
...
* Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 19:11:22 +01:00
David Robertson
a34638c126
Dependabot changelog: try using branch name
...
Gonna hope this doesn't use the merge ref and is good enough
2022-10-03 19:09:33 +01:00
Erik Johnston
5a6d025246
Clear out old rows from event_push_actions_staging ( #14020 )
...
On matrix.org we have ~5 million stale rows in `event_push_actions_staging`, let's add a background job to make sure we clear them out.
2022-10-03 18:44:44 +01:00
reivilibre
b381701f8c
Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. ( #14024 )
2022-10-03 17:16:15 +00:00
dependabot[bot]
4cb0f5a99d
Bump actions/cache from 2 to 3 ( #13980 )
...
* Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache ) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:54:06 +01:00
David Robertson
a2c7259827
Dependabot changelog: allow dependabot to trigger actions
2022-10-03 17:53:37 +01:00
dependabot[bot]
8e8638ac40
Bump actions/download-artifact from 2 to 3 ( #13979 )
...
* Bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:50:06 +01:00
Patrick Cloke
b706111b78
Do not return unspecced original_event field when using the stable /relations endpoint. ( #14025 )
...
Keep the old behavior (of including the original_event field) for any
requests to the /unstable version of the endpoint, but do not include
the field when the /v1 version is used.
This should avoid new clients from depending on this field, but will
not help with current dependencies.
2022-10-03 16:47:15 +00:00
dependabot[bot]
d42541733d
Bump docker/login-action from 1 to 2 ( #13978 )
...
* Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action ) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:32:48 +01:00
David Robertson
9f218b73e9
Dependabot changelog: pass GITHUB_TOKEN to gh
2022-10-03 17:31:01 +01:00
David Robertson
2d5ce8c087
Dependabot changelogs: trigger CI explicitly ( #14027 )
...
* Dependabot changelogs: trigger CI explicitly
* Changelog
* Use merge ref, not head ref
ref ref ref ref ref
* explanatory note
2022-10-03 17:16:45 +01:00
dependabot[bot]
4cceb6ba66
Bump docker/build-push-action from 2 to 3 ( #14022 )
...
* Bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2022-10-03 17:15:27 +01:00
David Robertson
ddcb52e455
More WIP dependabot changelog CI
...
Fixes a typo in #14021 , and allows the workflow to trigger on `reopen`
for easier debugging.
2022-10-03 16:10:57 +01:00
dependabot[bot]
6c85796769
Bump docker/setup-qemu-action from 1 to 2 ( #14019 )
...
* Bump docker/setup-qemu-action from 1 to 2
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2022-10-03 16:07:39 +01:00
David Robertson
3ac0e76b79
yet another attempt to make dependabot changelogs work ( #14021 )
...
* yet another attempt to make dependabot changelogs work
* Changelog
2022-10-03 15:59:32 +01:00
dependabot[bot]
a52d27a68b
Bump docker/setup-buildx-action from 1 to 2 ( #14015 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2022-10-03 14:13:15 +00:00
Erik Johnston
2c237debd3
Fix bug where we didn't delete staging push actions ( #14014 )
...
Introduced in #13719
2022-10-03 13:45:19 +00:00
David Robertson
cc8a3582e0
Try again to automate dependabot changelogs ( #14017 )
...
* Try again to automate dependabot changelogs
* Changelog
2022-10-03 14:34:50 +01:00
lukasdenk
719488dda8
Add query parameter ts to allow appservices set the origin_server_ts for state events. ( #11866 )
...
MSC3316 declares that both /rooms/{roomId}/send and /rooms/{roomId}/state
should accept a ts parameter for appservices. This change expands support
to /state and adds tests.
2022-10-03 13:30:45 +00:00
David Robertson
a423f45294
Fix twisted trunk mypy errors ( #14012 )
2022-10-03 13:26:49 +00:00
dependabot[bot]
7f4f2a3782
Bump actions/checkout from 2 to 3 ( #13982 )
...
* Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Changelog
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2022-10-03 14:20:32 +01:00
Erik Johnston
606b2d9009
Add cache to get_partial_state_servers_at_join ( #14013 )
2022-10-03 13:13:11 +00:00
Sean Quah
d65862c41f
Refactor _get_e2e_device_keys_txn to split large queries ( #13956 )
...
Instead of running a single large query, run a single query for
user-only lookups and additional queries for batches of user device
lookups.
Resolves #13580 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-10-03 13:46:36 +01:00
David Robertson
061739d10f
Change dependabot CL suffix ( #14011 )
...
* Change dependabot CL suffix
* Changelog
2022-10-03 11:51:57 +01:00
David Robertson
7a441c4f30
Protoype automatic changelogs for dependabot PRs ( #13998 )
2022-10-03 11:30:21 +01:00
Erik Johnston
343038c3c3
Always build Rust extension in release mode ( #14009 )
...
Fixes #13990
2022-10-03 11:20:18 +01:00
Eric Eastwood
2769ef4df1
Revert the general exception recording introduced in #13814 ( #13969 )
...
* Maybe not catch all errors to avoid things in the nature-of CancelledError
See https://github.com/matrix-org/synapse/pull/13815#discussion_r983384698
* Remove general exception tracking
* Add changelog
2022-10-03 10:14:45 +01:00
Eric Eastwood
a52c40e2a6
Fix get_users_in_room mis-use in transfer_room_state_on_room_upgrade ( #13960 )
...
Spawning from looking into `get_users_in_room` while investigating https://github.com/matrix-org/synapse/issues/13942#issuecomment-1262787050 .
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755 for the original exploration around finding `get_users_in_room` mis-uses.
Related to the following PRs where we also cleaned up some `get_users_in_room` mis-uses:
- https://github.com/matrix-org/synapse/pull/13605
- https://github.com/matrix-org/synapse/pull/13608
- https://github.com/matrix-org/synapse/pull/13606
- https://github.com/matrix-org/synapse/pull/13958
2022-09-30 20:10:50 -05:00
Eric Eastwood
ad4c14e4b0
Clarifications in user directory for users who share rooms tracking ( #13966 )
...
Spawned while working on [`get_users_in_room` mis-uses](https://github.com/matrix-org/synapse/pull/13958#discussion_r984074897 ) and thinking we could use `get_local_users_in_room` here but we can't.
From first glance, it seemed like this was only using local users from all of the `is_mine_id(user_id)` checks but I see that it does actually use remote users. Just making things a little more clear here what it does and mentions remote users so maybe that will be more obvious in the future.
2022-09-30 14:40:18 -05:00
Erik Johnston
535f8c8f7d
Skip filtering during push if there are no push actions ( #13992 )
2022-09-30 17:40:33 +01:00
David Robertson
285d72556b
Update mypy and mypy-zope, attempt 3 ( #13993 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-09-30 17:36:28 +01:00
David Robertson
8e52cb0bce
Revert "Update mypy and mypy-zope ( #13925 )"
...
This reverts commit 6d543d6d9f .
2022-09-30 16:37:48 +01:00
David Robertson
6d543d6d9f
Update mypy and mypy-zope ( #13925 )
...
* Update mypy and mypy-zope
* Unignore assigning to LogRecord attributes
Presumably https://github.com/python/typeshed/pull/8064 makes this ok
Cherry-picked from #13521
* Remove unused ignores due to mypy ParamSpec fixes
https://github.com/python/mypy/pull/12668
Cherry-picked from #13521
* Remove additional unused ignores
* Fix new mypy complaints related to `assertGreater`
Presumably due to https://github.com/python/typeshed/pull/8077
* Changelog
* Reword changelog
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-09-30 16:34:47 +01:00
Richard van der Hoff
b2aadd81a8
Enable dependabot updates ( #13976 )
...
Fixes https://github.com/matrix-org/synapse/issues/11828
2022-09-30 14:28:34 +01:00
Erik Johnston
285b9e9b6c
Speed up calculating push actions in large rooms ( #13973 )
...
We move the expensive check of visibility to after calculating push actions, avoiding the expensive check for users who won't get pushed anyway.
I think this should have a big impact on rooms with large numbers of local users that have pushed disabled.
2022-09-30 14:27:00 +01:00
David Robertson
5507bfa769
Discourage automatic replies to Synapse's emails ( #13957 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-09-30 13:23:37 +00:00
Dirk Klimpel
4490697b98
Add some cross references to worker documentation ( #13974 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-09-30 13:41:32 +01:00
Erik Johnston
3dfc4a08dc
Fix performance regression in get_users_in_room ( #13972 )
...
Fixes #13942 . Introduced in #13575 .
Basically, let's only get the ordered set of hosts out of the DB if we need an ordered set of hosts. Since we split the function up the caching won't be as good, but I think it will still be fine as e.g. multiple backfill requests for the same room will hit the cache.
2022-09-30 13:15:32 +01:00
David Robertson
e8f30a76ca
Fix overflows in /messages backfill calculation ( #13936 )
...
* Reproduce bug
* Compute `least_function` first
* Substitute `least_function` with an f-string
* Bugfix: avoid overflow
Co-authored-by: Eric Eastwood <erice@element.io >
2022-09-30 11:54:53 +01:00
Brendan Abolivier
1cc2ca81ba
Add missing version information in the ModuleApi ( #13947 )
2022-09-30 12:27:21 +02:00
David Robertson
6f0c3e669d
Don't require setuptools_rust at runtime ( #13952 )
2022-09-29 20:16:08 +00:00
David Robertson
15754d720f
Update UPSERT comment now that native upserts are the default ( #13924 )
2022-09-29 19:10:47 +01:00
Erik Johnston
ebd9e2dac6
Implement push rule evaluation in Rust. ( #13838 )
2022-09-29 16:12:09 +01:00
Nick Mills-Barrett
a466164647
Optimise get_rooms_for_user (drop with_stream_ordering) ( #13787 )
2022-09-29 13:55:12 +00:00
Brendan Abolivier
be76cd8200
Allow admins to require a manual approval process before new accounts can be used (using MSC3866) ( #13556 )
2022-09-29 15:23:24 +02:00
Patrick Cloke
8625ad8099
Explicit cast to enforce type hints. ( #13939 )
2022-09-29 07:22:41 -04:00
Hugh Nimmo-Smith
e5fdf16d46
Expose MSC3882 only be under an unstable endpoint. ( #13868 )
2022-09-29 07:22:27 -04:00
Patrick Cloke
568016929f
Clarify that a method returns only unthreaded receipts. ( #13937 )
...
By renaming it and updating the docstring.
Additionally, refactors a method which is used only by tests.
2022-09-29 07:07:31 -04:00
Nicolas Werner
99a7e7e023
Always send default and rule_id to clients ( #13904 )
2022-09-29 11:57:00 +01:00
reivilibre
73ecff7e9e
Improve backfill robustness by trying more servers. ( #13890 )
...
Co-authored-by: Eric Eastwood <erice@element.io >
2022-09-29 10:00:02 +00:00
Erik Johnston
5f659d4a88
Handle local device list updates during partial join ( #13934 )
2022-09-28 23:22:35 +01:00
Eric Eastwood
df8b91ed2b
Limit and filter the number of backfill points to get from the database ( #13879 )
...
There is no need to grab thousands of backfill points when we only need 5 to make the `/backfill` request with. We need to grab a few extra in case the first few aren't visible in the history.
Previously, we grabbed thousands of backfill points from the database, then sorted and filtered them in the app. Fetching the 4.6k backfill points for `#matrix:matrix.org` from the database takes ~50ms - ~570ms so it's not like this saves a lot of time 🤷 . But it might save us more time now that `get_backfill_points_in_room`/`get_insertion_event_backward_extremities_in_room` are more complicated after https://github.com/matrix-org/synapse/pull/13635
This PR moves the filtering and limiting to the SQL query so we just have less data to work with in the first place.
Part of https://github.com/matrix-org/synapse/issues/13356
2022-09-28 15:26:16 -05:00
Patrick Cloke
d768c50c0e
Add upgrade notes for changes to receipts replication. ( #13932 )
2022-09-28 11:33:31 -04:00
Patrick Cloke
1386ce4735
Revert "Stop returning an unused column when handling new receipts. ( #13933 )" ( #13935 )
...
This reverts commit 7766bd5b35 (#13933 ).
The unused column is actually used, but much further down in the function.
2022-09-28 11:01:41 -04:00
Patrick Cloke
7766bd5b35
Stop returning an unused column when handling new receipts. ( #13933 )
2022-09-28 10:58:25 -04:00
Andrew Morgan
25c0e69392
Document that the 'auto_join_rooms' option works with Spaces ( #13931 )
2022-09-28 14:13:19 +00:00
Andrew Morgan
220b21936e
Correct default number of bcrypt hash rounds in .1 man page ( #13930 )
2022-09-28 14:45:13 +01:00
Erik Johnston
4b17a5ace8
Handle remote device list updates during partial join ( #13913 )
...
c.f. #12993 (comment), point 3
This stores all device list updates that we receive while partial joins are ongoing, and processes them once we have the full state.
Note: We don't actually process the device lists in the same ways as if we weren't partially joined. Instead of updating the device list remote cache, we simply notify local users that a change in the remote user's devices has happened. I think this is safe as if the local user requests the keys for the remote user and we don't have them we'll simply fetch them as normal.
2022-09-28 13:42:43 +00:00
Kateřina Churanová
6caa303083
fix: Push notifications for invite over federation ( #13719 )
2022-09-28 12:31:53 +00:00
Ashish Kumar
5c429b86b4
Add instruction for running unit tests in parallel ( #13928 )
2022-09-28 11:14:35 +00:00
Shay
8ab16a92ed
Persist CreateRoom events to DB in a batch ( #13800 )
2022-09-28 10:11:48 +00:00
Shay
a2cf66a94d
Prepatory work for batching events to send ( #13487 )
...
This PR begins work on batching up events during the creation of a room. The PR splits out the creation and sending/persisting of the events. The first three events in the creation of the room-creating the room, joining the creator to the room, and the power levels event are sent sequentially, while the subsequent events are created and collected to be sent at the end of the function. This is currently done by appending them to a list and then iterating over the list to send, the next step (after this PR) would be to send and persist the collected events as a batch.
2022-09-28 10:39:03 +01:00
Eric Eastwood
29269d9d3f
Fix have_seen_event cache not being invalidated ( #13863 )
...
Fix https://github.com/matrix-org/synapse/issues/13856
Fix https://github.com/matrix-org/synapse/issues/13865
> Discovered while trying to make Synapse fast enough for [this MSC2716 test for importing many batches](https://github.com/matrix-org/complement/pull/214#discussion_r741678240 ). As an example, disabling the `have_seen_event` cache saves 10 seconds for each `/messages` request in that MSC2716 Complement test because we're not making as many federation requests for `/state` (speeding up `have_seen_event` itself is related to https://github.com/matrix-org/synapse/issues/13625 )
>
> But this will also make `/messages` faster in general so we can include it in the [faster `/messages` milestone](https://github.com/matrix-org/synapse/milestone/11 ).
>
> *-- https://github.com/matrix-org/synapse/issues/13856 *
### The problem
`_invalidate_caches_for_event` doesn't run in monolith mode which means we never even tried to clear the `have_seen_event` and other caches. And even in worker mode, it only runs on the workers, not the master (AFAICT).
Additionally there was bug with the key being wrong so `_invalidate_caches_for_event` never invalidates the `have_seen_event` cache even when it does run.
Because we were using the `@cachedList` wrong, it was putting items in the cache under keys like `((room_id, event_id),)` with a `set` in a `set` (ex. `(('!TnCIJPKzdQdUlIyXdQ:test', '$Iu0eqEBN7qcyF1S9B3oNB3I91v2o5YOgRNPwi_78s-k'),)`) and we we're trying to invalidate with just `(room_id, event_id)` which did nothing.
2022-09-27 15:55:43 -05:00
Eric Eastwood
35e9d6a616
Emphasize the right reasons to use (room_id, event_id) in a schema ( #13915 )
...
* Emphasize the right reasons to use (room_id, event_id)
Follow-up to:
- https://github.com/matrix-org/synapse/pull/13701
- https://github.com/matrix-org/synapse/pull/13771
2022-09-27 19:43:16 +00:00
David Robertson
f5aaa55e27
Add new columns tracking when we partial-joined ( #13892 )
2022-09-27 17:26:35 +01:00
Patrick Cloke
87fe9db467
Support the stable dir parameter for /relations. ( #13920 )
...
Since MSC3715 has passed FCP, the stable parameter can be used.
This currently falls back to the unstable parameter if the stable
parameter is not provided (and MSC3715 support is enabled in
the configuration).
2022-09-27 10:47:34 -04:00
Erik Johnston
299b00d968
Prioritize outbound to-device over device list updates ( #13922 )
...
Otherwise device list changes for large accounts can temporarily delay to-device messages.
2022-09-27 15:17:41 +01:00
David Robertson
ac1b0d03a5
Merge branch 'master' into develop
2022-09-27 15:05:16 +01:00
David Robertson
9bd442e202
Update upgrade notes ( #13923 )
...
* Update upgrade notes
* Synapse Synapse Synapse Synapse
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-09-27 15:04:24 +01:00
Mathieu Velten
42dd992bb7
Dockerfile for tests: align comments with current behavior ( #13867 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-09-27 15:55:43 +02:00
Quentin Gliech
50c92f3a69
Carry IdP Session IDs through user-mapping sessions. ( #13839 )
...
Since #11482 , we're saving sessions IDs from upstream IdPs, but we've been losing them when the user goes through a user mapping session on account registration.
2022-09-27 14:38:14 +01:00
David Robertson
a95ce6dd08
Merge branch 'master' into develop
2022-09-27 14:32:23 +01:00
Erik Johnston
e8318a4333
Handle the case of remote users leaving a partial join room for device lists ( #13885 )
2022-09-27 13:01:08 +01:00
David Robertson
3853011d01
Clarify who isn't affected by rust
2022-09-27 12:34:31 +01:00
David Robertson
0bebc908ec
s/Synapse v1/Synapse 1/g
2022-09-27 12:21:56 +01:00
David Robertson
3fe2b7f122
tweak upgrade notes
2022-09-27 12:18:40 +01:00
David Robertson
773277482a
typo fixes
2022-09-27 12:09:27 +01:00
David Robertson
7bd9e1dc48
SQLite earlier than -> SQLite older than
2022-09-27 12:06:15 +01:00
David Robertson
1254eb2247
1.68.0
2022-09-27 12:03:58 +01:00
Sean Quah
85e161631a
Faster room joins: Fix spurious error when joining a room ( #13872 )
...
During a `lazy_load_members` `/sync`, we look through auth events in
rooms with partial state to find prior membership events. When such a
membership is not found, an error is logged.
Since the first join event for a user never has a prior membership event
to cite, the error would always be logged when one appeared in the room
timeline.
Avoid logging errors for such events.
Introduced in #13477 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-27 11:17:23 +01:00
Richard van der Hoff
d6b85a2a7d
Complement image: propagate SIGTERM to all workers ( #13914 )
...
This should mean that logs from worker processes are flushed before shutdown.
When a test completes, Complement stops the docker container, which means that
synapse will receive a SIGTERM. Currently, the `complement_fork_starter` exits
immediately (without notifying the worker processes), which means that the
workers never get a chance to flush their logs before the whole container is
vaped. We can fix this by propagating the SIGTERM to the children.
2022-09-26 23:07:02 +01:00
Patrick Cloke
2fae1a3f78
Improve tests for get_unread_push_actions_for_user_in_range_*. ( #13893 )
...
* Adds a docstring.
* Reduces a small amount of duplicated code.
* Improves tests.
2022-09-26 18:28:12 +00:00
Andrew Morgan
58ab96747c
Update the manpage documentation for the hash_password script ( #13911 )
2022-09-26 18:18:41 +00:00
David Robertson
0a38c7ec6d
Snapshot schema 72 ( #13873 )
...
Including another batch of fixes to the schema dump script
2022-09-26 18:28:32 +01:00
Mathieu Velten
41461fd4d6
typing: check origin server of typing event against room's servers ( #13830 )
...
This is also using the partial state approximation if needed so we do
not block here during a fast join.
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-09-26 17:33:32 +02:00
Nick Mills-Barrett
6b4593a80f
Simplify cache invalidation after event persist txn ( #13796 )
...
This moves all the invalidations into a single place and de-duplicates
the code involved in invalidating caches for a given event by using
the base class method.
2022-09-26 16:26:35 +01:00
enterprisey
f34b0bc262
Update NixOS module URL ( #13818 )
...
* Update NixOS module URL
* Create 13818.doc
2022-09-26 15:26:59 +01:00
Erik Johnston
6d3b1497c3
Correctly add Cargo.lock to sdsit ( #13909 )
2022-09-26 15:12:57 +01:00
Erik Johnston
c5defa4cba
Correctly add Cargo.lock to sdsit ( #13909 )
2022-09-26 13:58:10 +00:00
David Robertson
dcdd50e458
Fix mypy errors with latest canonicaljson ( #13905 )
...
* Lockfile: update canonicaljson 1.6.0 -> 1.6.3
* Fix mypy errors with latest canonicaljson
The change to `_encode_json_bytes` definition wasn't sufficient:
```
synapse/http/server.py:751: error: Incompatible types in assignment (expression has type "Callable[[Arg(object, 'json_object')], bytes]", variable has type "Callable[[Arg(object, 'data')], bytes]") [assignment]
```
Which I think is mypy warning us that the two functions accept different
sets of kwargs. Fair enough!
* Changelog
2022-09-26 13:30:00 +01:00
Eric Eastwood
ac1a31740b
Only try to backfill event if we haven't tried before recently ( #13635 )
...
Only try to backfill event if we haven't tried before recently (exponential backoff). No need to keep trying the same backfill point that fails over and over.
Fix https://github.com/matrix-org/synapse/issues/13622
Fix https://github.com/matrix-org/synapse/issues/8451
Follow-up to https://github.com/matrix-org/synapse/pull/13589
Part of https://github.com/matrix-org/synapse/issues/13356
2022-09-23 14:01:29 -05:00
Sean Quah
f49f73c0da
Faster room joins: Avoid blocking /keys/changes ( #13888 )
...
Part of the work for #12993 .
Once #12993 is fully resolved, we expect `/keys/changes` to behave
sensibly when joined to a room with partial state.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-23 17:55:15 +01:00
Eric Eastwood
db868db594
Fix access token leak to logs from proxyagent ( #13855 )
...
This can happen specifically with an application service `/transactions/10722?access_token=leaked` request
Fix https://github.com/matrix-org/synapse/issues/13010
---
Saw an example leak in https://github.com/matrix-org/synapse/issues/13423#issuecomment-1205348482
```
2022-08-04 14:47:57,925 - synapse.http.client - 401 - DEBUG - as-sender-signal-1 - Sending request PUT http://localhost:29328/transactions/10722?access_token= <redacted>
2022-08-04 14:47:57,926 - synapse.http.proxyagent - 223 - DEBUG - as-sender-signal-1 - Requesting b'http://localhost:29328/transactions/10722?access_token=leaked ' via <HostnameEndpoint localhost:29328>
```
2022-09-23 11:49:39 -05:00
Patrick Cloke
e3512a7719
Update Cargo.lock file. ( #13889 )
2022-09-23 11:59:39 -04:00
Patrick Cloke
efd108b45d
Accept & store thread IDs for receipts (implement MSC3771). ( #13782 )
...
Updates the `/receipts` endpoint and receipt EDU handler to parse a
`thread_id` from the body and insert it in the database.
2022-09-23 14:33:28 +00:00
Sean Quah
03c2bfb7f8
Send device list updates out to servers in partially joined rooms ( #13874 )
...
Use the provided list of servers in the room from the `/send_join`
response, since we will not know which users are in the room. This
isn't sufficient to ensure that all remote servers receive the right
device list updates, since the `/send_join` response may be inaccurate
or we may calculate the membership state of new users in the room
incorrectly.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-23 13:44:03 +01:00
reivilibre
c06b2b7142
Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ( #13823 )
2022-09-23 11:47:16 +01:00
reivilibre
ac7e5683d6
Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ( #13876 )
2022-09-23 11:46:45 +01:00
Erik Johnston
c9316f9f76
Merge branch 'release-v1.68' into develop
2022-09-23 10:43:06 +01:00
Erik Johnston
682385917d
Move warnings up
2022-09-23 09:40:46 +01:00
Erik Johnston
11ebcc8a3a
1.68.0rc2
2022-09-23 09:40:16 +01:00
David Robertson
f7c89c44c5
Raise issue if complement fails with latest deps ( #13859 )
2022-09-22 17:33:37 +01:00
Patrick Cloke
8c3dcdf1b9
Fix the cross-link from register admin API to config docs. ( #13870 )
2022-09-22 09:11:50 -04:00
Patrick Cloke
b7272b73aa
Properly paginate forward in the /relations API. ( #13840 )
...
This fixes a bug where the `/relations` API with `dir=f` would
skip the first item of each page (except the first page), causing
incomplete data to be returned to the client.
2022-09-22 12:47:49 +00:00
Erik Johnston
9615e23c29
Fix sdist to include rust build script ( #13866 )
...
* Fix sdist to include rust build script
Fixes #13851
* Newsfile
2022-09-22 11:59:23 +01:00
David Robertson
1a1abdda42
Last batch of Pydantic for synapse/rest/client/account.py ( #13832 )
...
* Validation for `/add_threepid/msisdn/submit_token`
* Don't validate deprecated endpoint
* Changelog
2022-09-21 22:23:44 +01:00
Brendan Abolivier
efabf44c76
Add version flag for MSC3881 ( #13860 )
2022-09-21 18:18:44 +02:00
Brendan Abolivier
ccca14140a
Track device IDs for pushers ( #13831 )
...
Second half of the MSC3881 implementation
2022-09-21 15:31:53 +00:00
Hugh Nimmo-Smith
0fd2f2d460
Implementation of MSC3882 login token request ( #13722 )
2022-09-21 15:12:29 +00:00
villepeh
269eddad6f
Add worker_main_http_uri to the contrib bash script ( #13772 )
...
* Add worker_main_http_uri, replace >> with >
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com >
Co-authored-by: Erik Johnston <erik@matrix.org >
2022-09-21 15:58:46 +01:00
Brendan Abolivier
8ae42ab8fa
Support enabling/disabling pushers (from MSC3881) ( #13799 )
...
Partial implementation of MSC3881
2022-09-21 14:39:01 +00:00
Mathieu Velten
6bd8763804
Add cache invalidation across workers to module API ( #13667 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-09-21 15:32:01 +02:00
Peter Scheu
16e1a9d9a7
Correct documentation for map_user_attributes of OpenID Mapping Providers ( #13836 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-09-21 13:08:16 +00:00
reivilibre
9ce1a53c46
Fix the release script not publishing binary wheels. ( #13850 )
2022-09-21 14:00:46 +01:00
Quentin Gliech
e0804ef898
Improve the synapse.api.auth.Auth mock used in unit tests. ( #13809 )
...
To return the proper type (`Requester`) instead of a `dict`.
2022-09-21 12:40:34 +00:00
Erik Johnston
ab86743f33
Lock rust dependencies ( #13858 )
2022-09-21 09:49:48 +00:00
reivilibre
a35842caec
Fix the release script not publishing binary wheels. ( #13850 )
2022-09-21 09:43:08 +00:00
Erik Johnston
b7508b1538
Lower minimum rustc version to 1.58.1 ( #13857 )
2022-09-21 09:42:03 +00:00
Olivier Wilkinson (reivilibre)
2b522cceb6
Merge branch 'release-v1.68' into develop
2022-09-20 14:54:05 +01:00
Quentin Gliech
85fc7ea1a1
Remove the complete_sso_login method from the Module API which was deprecated in Synapse 1.13.0. ( #13843 )
...
Signed-off-by: Quentin Gliech <quenting@element.io >
2022-09-20 15:18:07 +02:00
David Robertson
fff9b955fa
Generate separate snapshots for logical databases ( #13792 )
...
* Generate separate snapshots for sqlite, postgres and common
* Cleanup postgres dbs in the TRAP
* Say which logical DB we're applying updates to
* Run background updates on the state DB
* Add new option for accepting a SCHEMA_NUMBER
2022-09-20 14:14:12 +01:00
Olivier Wilkinson (reivilibre)
cfe486b041
Tweak changelog
2022-09-20 12:21:59 +01:00
Olivier Wilkinson (reivilibre)
ec4dca6064
Edit description of cache invalidation bug
2022-09-20 12:11:45 +01:00
Erik Johnston
42d261c32f
Port the push rule classes to Rust. ( #13768 )
2022-09-20 12:10:31 +01:00
Olivier Wilkinson (reivilibre)
bffb71b04a
Edit changelog in response to feedback
2022-09-20 12:05:15 +01:00
Olivier Wilkinson (reivilibre)
e124b24ad9
1.68.0rc1
2022-09-20 11:30:48 +01:00
Denis
c802ef1411
Don't include redundant prev_state in new events ( #13791 )
2022-09-20 09:44:38 +01:00
Eric Eastwood
44be42338e
Add support to purge rows from MSC2716 and other tables when purging a room ( #13825 )
...
`event_failed_pull_attempts` added in https://github.com/matrix-org/synapse/pull/13589
MSC2716 related tables added in:
- https://github.com/matrix-org/synapse/pull/10245/files#diff-3d42dfb44d02f7de3aada105e0bdc1cc9dd7f953cbf0f36c5d0f50827bf0320aR1
- Renamed in https://github.com/matrix-org/synapse/pull/10838/files#diff-2730bfbe9e688b55e46f9371aefe67dac2bd2b2b7d9d6b92774eea1fcfae156dR1
- https://github.com/matrix-org/synapse/pull/10498/files#diff-c52bbfbb5921a3f6f023b24343668479d966fac164f13b7c39d2197ce3afa7a5R1
2022-09-16 10:56:56 -05:00
Mathieu Velten
d5292b8017
Fix Docker build when Rust .so has been build locally first ( #13811 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-09-16 15:38:54 +00:00
David Robertson
642c4b253d
Compare ported to unported PG schemas in portdb test job ( #13808 )
2022-09-16 16:25:54 +01:00
David Robertson
5e84461653
Minor speedups to CI linting ( #13827 )
2022-09-16 16:18:32 +01:00
Sean Quah
d64e85197a
Remove error spam when users query the keys of departed remote users ( #13826 )
...
The error message introduced in #13749 has turned out to be very spammy.
Remove it for now.
2022-09-16 16:16:05 +01:00
Mathieu Velten
384dca53d6
complement: init postgres DB directly inside the target image ( #13819 )
...
Doing so in the base postgres image doesn't work with buildah because
changes in a declared VOLUME in the Dockerfile is supposed to be
discarded, cf https://docs.docker.com/engine/reference/builder/#volume
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-09-16 17:12:45 +02:00
Quentin Gliech
74f60cec92
Add an admin API endpoint to find a user based on its external ID in an auth provider. ( #13810 )
2022-09-16 12:29:03 +00:00
reivilibre
f7a77ad717
Update request log format documentation to mention the format used when the authenticated user is controlling another user. ( #13794 )
2022-09-16 11:48:41 +00:00
Sean Quah
b73cbb8215
Avoid putting rejected events in room state ( #13723 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-16 12:45:04 +01:00
Eric Eastwood
6986bcbf39
Document common fix of Poetry problems by removing egg-info ( #13785 )
...
`matrix_synapse.egg-info/`
Mentioned at https://matrix.to/#/!vcyiEtMVHIhWXcJAfl:sw1v.org/$aKy_IjrKwb70aTVZWeW_6zt0k7OIZ1YkyZpkP9uiRaM?via=matrix.org&via=element.io&via=beeper.com and many other places.
2022-09-15 16:28:03 -05:00
Eric Eastwood
5093cbf88d
Be able to correlate timeouts in reverse-proxy layer in front of Synapse (pull request ID from header) ( #13801 )
...
Fix https://github.com/matrix-org/synapse/issues/13685
New config:
```diff
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
+ request_id_header: "cf-ray"
bind_addresses: ['::1', '127.0.0.1', '0.0.0.0']
```
2022-09-15 15:32:25 -05:00
Eric Eastwood
140af0cdb6
Record any exception when processing a pulled event ( #13814 )
...
Part of https://github.com/matrix-org/synapse/issues/13700 and https://github.com/matrix-org/synapse/issues/13356
Follow-up to https://github.com/matrix-org/synapse/pull/13589
2022-09-15 14:40:49 -05:00
Patrick Cloke
b2b0c85279
Support providing an index predicate for upserts. ( #13822 )
...
This is useful to upsert against a table which has a unique
partial index while avoiding conflicts.
2022-09-15 18:28:48 +00:00
David Robertson
742f9f9d78
A third batch of Pydantic validation for rest/client/account.py ( #13736 )
2022-09-15 18:36:02 +01:00
Andrew Morgan
918c74bfb5
Add a MXCUri class to make working with mxc uri's easier. ( #13162 )
2022-09-15 12:57:16 +00:00
Eric Eastwood
957e3d74fc
Keep track when we try and fail to process a pulled event ( #13589 )
...
We can follow-up this PR with:
1. Only try to backfill from an event if we haven't tried recently -> https://github.com/matrix-org/synapse/issues/13622
1. When we decide to backfill that event again, process it in the background so it doesn't block and make `/messages` slow when we know it will probably fail again -> https://github.com/matrix-org/synapse/issues/13623
1. Generally track failures everywhere we try and fail to pull an event over federation -> https://github.com/matrix-org/synapse/issues/13700
Fix https://github.com/matrix-org/synapse/issues/13621
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.qv7cj51sv9i5 )
2022-09-14 13:57:50 -05:00
Patrick Cloke
666ae87729
Update event push action and receipt tables to support threads. ( #13753 )
...
Adds a `thread_id` column to the `event_push_actions`, `event_push_actions_staging`,
and `event_push_summary` tables. This will notifications to be segmented by the thread
in a future pull request. The `thread_id` column stores the root event ID or the special
value `"main"`.
The `thread_id` column for `event_push_actions` and `event_push_summary` is
backfilled with `"main"` for all existing rows. New entries into `event_push_actions`
and `event_push_actions_staging` will get the proper thread ID.
`receipts_linearized` and `receipts_graph` also gain a `thread_id` column, which is similar,
except `NULL` is a special value meaning the receipt is "unthreaded".
See MSC3771 and MSC3773 for where this data will be useful.
2022-09-14 17:11:16 +00:00
Patrick Cloke
f2d12ccabe
Use partial indices on SQLIte. ( #13802 )
...
Partial indices have been supported since SQLite 3.8, but Synapse
now requires >= 3.27, so we can enable support for them.
This requires rebuilding previous indices which were partial on
PostgreSQL, but not on SQLite.
2022-09-14 12:01:42 -04:00
reivilibre
6302753012
Deduplicate is_server_notices_room. ( #13780 )
2022-09-14 15:53:18 +00:00
reivilibre
cf65433de2
Fix a memory leak when running the unit tests. ( #13798 )
2022-09-14 15:29:05 +00:00
Quentin Gliech
eaed4e6113
Remove unused method in synapse.api.auth.Auth. ( #13795 )
...
Clean-up from b19060a29b (#13094 )
and 73af10f419 (#13093 ) which removed
all callers.
2022-09-14 10:33:54 -04:00
David Robertson
51a77e990b
Remove incorrect migration file from state logical DB ( #13788 )
...
* Remove incorrect migration file from `state` logical DB
The table `ex_outlier_stream` is part of the `main` logical DB; it
should not have been created in the `state` logical DB. We remove this
migration now as a tidy-up.
Note: we cannot `DROP TABLE IF EXISTS ex_outlier_stream` in a new
migration, because some (most) instances of Synapse host both of these
logical DBs on the same DB cluster.
* Changelog
2022-09-14 14:16:12 +01:00
Sean Quah
c73774467e
Fix bug in device list caching when remote users leave rooms ( #13749 )
...
When a remote user leaves the last room shared with the homeserver, we
have to mark their device list as unsubscribed, otherwise we would hold
on to a stale device list in our cache. Crucially, the device list would
remain cached even after the remote user rejoined the room, which could
lead to E2EE failures until the next change to the remote user's device
list.
Fixes #13651 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-14 10:42:57 +01:00
reivilibre
21687ec189
Fix a long-standing spec compliance bug where Synapse would accept a trailing slash on the end of /get_missing_events federation requests. ( #13789 )
...
* Don't accept a trailing slash on the end of /get_missing_events
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-09-14 09:28:12 +01:00
Mathieu Velten
12dacecabd
Make sequence cache_invalidation_stream_seq begin at 2 ( #13766 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-09-13 16:14:28 +02:00
Erik Johnston
9772e362aa
Merge branch 'master' into develop
2022-09-13 12:11:53 +01:00
David Robertson
b60d47ab2c
Updates to the schema dump script ( #13770 )
2022-09-13 10:53:11 +01:00
David Robertson
540afb0bfc
Simplify CI tests DAG ( #13784 )
...
* Simplify CI tests DAG
* Changelog
2022-09-13 10:17:23 +01:00
Richard van der Hoff
41df25bbbd
installation.md: require libpq on M1 macs ( #13480 )
2022-09-13 09:01:21 +00:00
Erik Johnston
80bb098d87
Fixup changelog
2022-09-13 09:55:10 +01:00
Erik Johnston
4b678b20a2
1.67.0
2022-09-13 09:20:28 +01:00
Nick Mills-Barrett
cdbb641232
Add receipts event stream ordering ( #13703 )
2022-09-13 08:16:37 +01:00
Mathieu Velten
fa2f3d8d0c
Fix GHA skippable syntax ( #13778 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org >
2022-09-12 17:31:23 +00:00
Brendan Abolivier
7571337445
Fix typo in ratelimiting documentation ( #13727 )
2022-09-12 14:11:18 +01:00
Erik Johnston
dd7484b562
Fix CI on non-PR builds ( #13769 )
...
Mark cargo-test as skippable since it only runs on Rust code change.
2022-09-12 13:26:33 +01:00
Nick Mills-Barrett
da41a7cd61
Remove check current state membership up to date ( #13745 )
...
* Remove checks for membership column in current_state_events
* Add schema script to force through the
`current_state_events_membership` background job
Contributed by Nick @ Beeper (@fizzadar).
2022-09-12 12:58:33 +01:00
Erik Johnston
ebfeac7c5d
Check if Rust lib needs rebuilding. ( #13759 )
...
This protects against the common mistake of failing to remember to rebuild Rust code after making changes.
2022-09-12 10:03:42 +00:00
Nick Mills-Barrett
4c4889cac0
Concurrently collect room unread counts for push badges ( #13765 )
...
Most of the time this function is heavily cached, but when that isn't
the case fetching the counts room by room slows down push delivery on
users with many (thousands) of rooms.
Signed off by Nick @ Beeper.
2022-09-09 19:00:21 +01:00
Eric Eastwood
a911ffb42c
Tag trace with instance name ( #13761 )
...
We tag the Synapse instance name so that it's an easy jumping off point into the logs. Can also be used to filter for an instance that is under load.
As suggested by @clokep and @reivilibre in,
- https://github.com/matrix-org/synapse/pull/13729#discussion_r964719258
- https://github.com/matrix-org/synapse/pull/13729#discussion_r964733578
2022-09-09 11:31:37 -05:00
Eric Eastwood
f694bb71b7
Strip number suffix from instance name to consolidate services that traces are spread over ( #13729 )
...
The problem with many services is that it makes it hard to find which service has the trace you want, see https://github.com/jaegertracing/jaeger-ui/issues/985
Previously, we split traces out into services based on their instance name like `matrix.org client_reader-1`, etc but there are many worker instances of the same `client_reader` so there is a lot to click through.
With this PR, all of the traces are just collected under the worker type like `client_reader`, `event_persister` 😇
Note: A Synapse worker instance name is an opaque string with the number convention only being our own thing for the `matrix.org` deployment. But seems pretty sensible to group things this way.
2022-09-09 11:30:06 -05:00
Patrick Cloke
3d9f82efcb
Use an upsert for receipts_graph. ( #13752 )
...
Instead of a delete, then insert.
This was previously done for `receipts_linearized` in
2dc430d36e (#7607 ).
2022-09-09 07:08:41 -04:00
Erik Johnston
c85c5ace52
Add rust to CI ( #13763 )
2022-09-09 11:29:04 +01:00
David Robertson
f2d2481e56
Require SQLite >= 3.27.0 ( #13760 )
2022-09-09 11:14:10 +01:00
Sean Quah
69fa29700e
Re-type hint some collections in /sync code as read-only ( #13754 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-08 20:13:39 +01:00
reivilibre
5261d2e2e8
Remove unused Prometheus recording rules from synapse-v2.rules and add comments describing where the rest are used. ( #13756 )
2022-09-08 17:50:15 +00:00
Dirk Klimpel
f799eac7ea
Add timestamp to user's consent ( #13741 )
...
Co-authored-by: reivilibre <olivier@librepush.net >
2022-09-08 15:41:48 +00:00
Sean Quah
906cead9ca
Update docstrings to explain the impact of partial state ( #13750 )
...
Update the docstrings for `get_users_in_room` and
`get_current_hosts_in_room` to explain the impact of partial state.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-08 15:55:29 +01:00
Sean Quah
89e8b98b65
Avoid raising errors due to malformed IDs in get_current_hosts_in_room ( #13748 )
...
Handle malformed user IDs with no colons in `get_current_hosts_in_room`.
It's not currently possible for a malformed user ID to join a room, so
this error would never be hit.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-08 15:55:03 +01:00
Sean Quah
8ef0c8ff14
Fix error in is_mine_id when encountering a malformed ID ( #13746 )
...
Previously, `is_mine_id` would raise an exception when passed an ID with
no colons. Return `False` instead.
Fixes #13040 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-09-08 15:54:36 +01:00
reivilibre
cf11919ddd
Fix cache metrics not being updated when not using the legacy exposition module. ( #13717 )
2022-09-08 15:30:48 +01:00
reivilibre
526f84bc2e
Fix Prometheus recording rules to not use legacy metric names. ( #13718 )
2022-09-08 15:01:42 +01:00
Erik Johnston
1cc729c177
Fix latest deps ( #13743 )
2022-09-08 13:58:31 +01:00
David Robertson
9d11842562
Also cite upgrade notes
2022-09-08 12:04:29 +01:00
David Robertson
a7c71686ca
Add minimum version bump for sqlite to the release notes ( #13742 )
...
* Notify that SQLite min version will be bumped
* Mention in upgrade notes
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-09-08 12:00:03 +01:00
reivilibre
b7e4bfd005
Fix a bug where Synapse fails to start if a signing key file contains an empty line. ( #13738 )
2022-09-08 11:18:03 +01:00
Eric Eastwood
d4d3249ded
Instrument get_metadata_for_events for tracing ( #13730 )
...
When backfilling, `_get_state_ids_after_missing_prev_event` calls [`get_metadata_for_events`](26bc26586b/synapse/handlers/federation_event.py (L1133) ). For `#matrix:matrix.org`, it's called with 77k `state_events` which means 77 calls to the database and takes 28 seconds.
2022-09-07 11:41:52 -05:00
Erik Johnston
8d7fcf9b76
Fix latest deps CI ( #13734 )
2022-09-07 14:07:06 +00:00
Erik Johnston
dc0e896b68
Add some rust caching to CI ( #13735 )
2022-09-07 13:56:59 +00:00
David Robertson
c46fecd1f2
Correct out-of-date doc for event_cache_size ( #13726 )
2022-09-07 14:46:11 +01:00
David Robertson
77f3986451
Define SQLite compat policy ( #13728 )
2022-09-07 12:07:42 +00:00
David Robertson
b58386e37e
A second batch of Pydantic models for rest/client/account.py ( #13687 )
2022-09-07 12:16:10 +01:00
reivilibre
d3d9ca156e
Cancel the processing of key query requests when they time out. ( #13680 )
2022-09-07 12:03:32 +01:00
reivilibre
c2fe48a6ff
Rename the EventFormatVersions enum values so that they line up with room version numbers. ( #13706 )
2022-09-07 11:08:20 +01:00
Connor Davis
bb5b47b62a
Add Admin API to Fetch Messages Within a Particular Window ( #13672 )
...
This adds two new admin APIs that allow us to fetch messages from a room within a particular time.
2022-09-07 10:54:44 +01:00
reivilibre
26bc26586b
Remove the unspecced room_id field in the /hierarchy response. ( #13506 )
...
This is a re-do of 57d334a13d (#13365 ),
which was backed out in 12abd72497 (#13501 ).
The `room_id` field represented the parent space for each room
and was made redundant by changes in the API shape where the
`children_state` is now nested underneath each `room`.
The room ID of each child is in the `state_key` field and is still
available.
2022-09-06 15:28:44 -04:00
Erik Johnston
c9b7e97355
Add a stub Rust crate ( #12595 )
2022-09-06 19:01:37 +01:00
Erik Johnston
3d20115115
Fix trial-olddeps ( #13725 )
2022-09-06 14:21:55 +00:00
David Robertson
a4ecb8e353
Actually fix typechecking with latest types-jsonschema ( #13724 )
2022-09-06 14:29:16 +01:00
Erik Johnston
ec2fe7bb53
Fixup changelog
2022-09-06 13:04:22 +01:00
Erik Johnston
b5effc7201
Update trial old deps CI to use poetry 1.2.0 ( #13707 )
2022-09-06 11:43:04 +00:00
reivilibre
b455c2a5ec
Update Grafana dashboard to not use legacy metric names. ( #13714 )
2022-09-06 12:21:21 +01:00
Erik Johnston
571f565c1f
Update changelog
2022-09-06 09:25:32 +01:00
Erik Johnston
cdf7fb737b
1.67.0rc1
2022-09-06 09:01:26 +01:00
Patrick Cloke
32fc3b7ba4
Remove configuration options for direct TCP replication. ( #13647 )
...
Removes the ability to configure legacy direct TCP replication. Workers now require Redis to run.
2022-09-06 07:50:02 +00:00
Erik Johnston
8edf3f66d5
Reduce number of CI jobs run on PRs ( #13713 )
...
* Reduce number of CI jobs run on PRs
* Newsfile
* Also limit sytest jobs
* Fix typo
* Fix up
* Fixup
2022-09-05 13:31:42 +01:00
reivilibre
c7b18d9d44
Extend the release script to wait for GitHub Actions to finish and to be usable as a guide for the whole process. ( #13483 )
2022-09-05 12:16:59 +01:00
David Robertson
8cb9261598
Fix typechecking with latest types-jsonschema ( #13712 )
2022-09-05 11:13:13 +00:00
Brendan Abolivier
898fef2789
Share some metrics between the Prometheus exporter and the phone home stats ( #13671 )
2022-09-05 10:26:43 +00:00
Matthew Hodgson
ad7fc8e92f
fix grammar
2022-09-03 11:08:28 +01:00
Eric Eastwood
877bdfa889
Clarify (room_id, event_id) global uniqueness ( #13701 )
...
Summarized from @richvdh's reply at https://github.com/matrix-org/synapse/pull/13589#discussion_r961116999
2022-09-02 14:05:39 -05:00
Eric Eastwood
36b184b782
Update docs to make enabling metrics more clear ( #13678 )
...
It was really easy to miss the `enable_metrics: True` step with the previous language.
2022-09-02 11:29:51 -05:00
Erik Johnston
4fee4a339d
Update lock file for Poetry v1.2.0 ( #13689 )
2022-09-02 13:20:03 +00:00
Erik Johnston
0fdb685c2b
Only run trial CI on all python versions on non-PRs ( #13698 )
2022-09-02 13:12:47 +01:00
Dirk Klimpel
044900af6c
Fix two typos with colon in headlines ( #13665 )
2022-09-01 20:38:37 +00:00
Patrick Cloke
48a5c47a9f
Add a schema delta to drop unstable private read receipts. ( #13692 )
...
Otherwise they'll be leaked due to the filtering code only respecting
the stable identifiers for private read receipts.
2022-09-01 14:57:47 -04:00
Patrick Cloke
390b7ce946
Disable calculating unread counts unless the config flag is enabled. ( #13694 )
...
This avoids doing work that will never be used (since the
resulting unread counts will never be sent in a /sync
response).
The negative of doing this is that unread counts will be
incorrect when the feature is initially enabled.
2022-09-01 16:52:03 +00:00
reivilibre
f48f4dd59e
Update the Grafana dashboard that is included with Synapse in the contrib directory. ( #13697 )
...
* Add missing graph to contrib
* Update with minor but plausible changes, including positioning changes
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-09-01 16:27:06 +01:00
Erik Johnston
9d2823ab70
Cache is_partial_state_room ( #13693 )
...
Fixes #13613 .
2022-09-01 16:07:01 +01:00
Will Hunt
c913e440c0
Add monthly active users documentation ( #13617 )
...
* Add monthly active users documentation
* changelog
* Tidy up notes
* more tidyup
* Rewrite #1
* link back to mau docs
* fix links
* s/appservice|AS/application service
* further review
* a newline
* Remove bit about shadow banned users.
I think talking about them is confusing, and the current text doesn't imply they get any special treatment.
* Update docs/usage/administration/monthly_active_users.md
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
* Update docs/usage/administration/monthly_active_users.md
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-09-01 14:48:43 +00:00
Erik Johnston
dcfb006f8a
Use poetry 1.2.0 rather than prerelease for deb packages ( #13695 )
2022-09-01 14:11:44 +00:00
Erik Johnston
2318603772
Add some logging to help track down #13444 ( #13679 )
2022-09-01 13:54:52 +01:00
Richard van der Hoff
e8130f219b
Return keys for unwhitelisted servers from /_matrix/key/v2/query ( #13683 )
2022-09-01 13:54:02 +01:00
Erik Johnston
18e4092801
Bump docker image to use stable poetry version ( #13688 )
2022-09-01 13:46:47 +01:00
Šimon Brandner
0e99f07952
Remove support for unstable private read receipts ( #13653 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-09-01 13:31:54 +01:00
Sean Quah
737968b8e0
Merge branch 'master' into develop
2022-08-31 13:56:50 +01:00
Jacek Kuśnierz
84ddcd7bbf
Drop support for calling /_matrix/client/v3/rooms/{roomId}/invite without an id_access_token ( #13241 )
...
Fixes #13206
Signed-off-by: Jacek Kusnierz jacek.kusnierz@tum.de
2022-08-31 12:10:25 +00:00
Sean Quah
6f80fe1e1b
Tweak changelog formatting
2022-08-31 12:51:57 +01:00
Sean Quah
838d722eba
Move notice from 1.66.0rc1 to 1.66.0 section in changelog
2022-08-31 12:40:14 +01:00
Sean Quah
c01f21d31d
Tweak changelog wording
2022-08-31 12:35:25 +01:00
Sean Quah
d1fb46fbc9
Improve clarity on deprecation of TCP replication
...
Borrows some text from https://github.com/matrix-org/synapse/pull/13647
for the changelog.
2022-08-31 12:19:40 +01:00
Nick Mills-Barrett
42b11d5565
Remove cached wrap on _get_joined_users_from_context method ( #13569 )
...
The method doesn't actually do any data fetching and the method that
does, `_get_joined_profile_from_event_id`, has its own cache.
Signed off by Nick @ Beeper (@Fizzadar).
2022-08-31 12:19:39 +01:00
reivilibre
7bc110a19e
Generalise the @cancellable annotation so it can be used on functions other than just servlet methods. ( #13662 )
2022-08-31 11:16:05 +00:00
Sean Quah
90c99fb3aa
Fix dead link in 1.18.0 upgrade notes
2022-08-31 11:53:30 +01:00
David Robertson
a160406d24
Fix admin List Room API return type on sqlite ( #13509 )
2022-08-31 10:38:16 +00:00
Sean Quah
5634267d33
Update changelog to link to the Synapse docs instead of markdown
2022-08-31 11:37:15 +01:00
Sean Quah
ef88bc0775
1.66.0
2022-08-31 11:21:09 +01:00
Sean Quah
d48b70fd37
Update changelog for v1.62.0
2022-08-31 11:18:56 +01:00
Jörg Behrmann
b9924df264
Change dpkg-statoverride to use --force-statoverride-add ( #13638 )
...
The --force flag of dpkg-statoverride has been deprecated (apparently starting
with the dpkg version in Debian buster). It offers --force-all as q quick fix,
but the usage in the Debian postinst script is probably covered by
--force-statoverride-add.
Fixes : #8391
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de >
2022-08-31 11:15:28 +01:00
Patrick Cloke
61b37ddd37
Remind people that direct TCP replication is disabled. ( #13674 )
2022-08-31 10:43:00 +01:00
Eric Eastwood
92c5817e34
Give the correct next event when the message timestamps are the same - MSC3030 ( #13658 )
...
Discovered while working on https://github.com/matrix-org/synapse/pull/13589 and I had all the messages at the same timestamp in the tests.
Part of https://github.com/matrix-org/matrix-spec-proposals/pull/3030
Complement tests: https://github.com/matrix-org/complement/pull/457
2022-08-30 14:50:06 -05:00
Shay
20c76cecb9
Drop unused column application_services_state.last_txn ( #13627 )
2022-08-30 10:29:16 -07:00
Richard van der Hoff
372136d3a8
Remove documentation of legacy frontend_proxy worker app ( #13645 )
...
This has been the same as a generic_worker since #6964 , so let's get rid of it.
Fixes #3717
2022-08-30 18:01:51 +01:00
David Robertson
4249082eed
Merge branch 'release-v1.66' into develop
2022-08-30 15:31:51 +01:00
David Robertson
31f2a3fbc3
Update changes
2022-08-30 14:19:52 +01:00
Patrick Cloke
e761e8b475
Clarify documentation about replication traffic. ( #13656 )
...
It can be authenticated with the worker_replication_secret setting,
but is always unencrypted.
2022-08-30 12:21:19 +00:00
David Robertson
8f6aa015a8
1.66.0rc2
2022-08-30 12:25:44 +01:00
Erik Johnston
1c26acd815
Fix bug where we wedge media plugins if clients disconnect early ( #13660 )
...
We incorrectly didn't use the returned `Responder` if the client had
disconnected, which meant that the resource used by the Responder
wasn't correctly released.
In particular, this exhausted the thread pools so that *all* requests
timed out.
2022-08-30 12:17:48 +01:00
Patrick Cloke
303b40b988
Do not wait for background updates to complete do expire URL cache. ( #13657 )
...
Media downloaded as part of a URL preview is normally deleted after two days.
However, while a background database migration is running, the process is
stopped. A long-running database migration can therefore cause the media
store to fill up with old preview files.
This logic was added in #2697 to make sure that we didn't try to run the expiry
without an index on `local_media_repository.created_ts`; the original logic that
needs that index was added in #2478 (in `get_url_cache_media_before`, as
amended by 93247a424a ), and is still present.
Given that the background update was added before Synapse v1.0.0, just drop
this check and assume the index exists.
2022-08-30 07:15:54 -04:00
Patrick Cloke
20df96a7a7
Speed up inserting event_push_actions_staging. ( #13634 )
...
By using `execute_values` instead of `execute_batch`.
2022-08-30 07:12:48 -04:00
Eric Eastwood
1eea73b413
Fix rate limit metrics registering twice and misreporting ( #13649 )
...
* Fix rate limit metrics registering twice and misreporting
Fix https://github.com/matrix-org/synapse/issues/13641
* Fix lints
* Add changelog
* Document `metrics_name=None`.
2022-08-30 12:08:29 +01:00
Dirk Klimpel
682dfcfc0d
Fix that user cannot /forget rooms after the last member has left ( #13546 )
2022-08-30 09:58:38 +00:00
Eric Eastwood
51d732db3b
Optimize how we calculate likely_domains during backfill ( #13575 )
...
Optimize how we calculate `likely_domains` during backfill because I've seen this take 17s in production just to `get_current_state` which is used to `get_domains_from_state` (see case [*2. Loading tons of events* in the `/messages` investigation issue](https://github.com/matrix-org/synapse/issues/13356 )).
There are 3 ways we currently calculate hosts that are in the room:
1. `get_current_state` -> `get_domains_from_state`
- Used in `backfill` to calculate `likely_domains` and `/timestamp_to_event` because it was cargo-culted from `backfill`
- This one is being eliminated in favor of `get_current_hosts_in_room` in this PR 🕳
1. `get_current_hosts_in_room`
- Used for other federation things like sending read receipts and typing indicators
1. `get_hosts_in_room_at_events`
- Used when pushing out events over federation to other servers in the `_process_event_queue_loop`
Fix https://github.com/matrix-org/synapse/issues/13626
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.2tvwz3yhcafh )
### Query performance
#### Before
The query from `get_current_state` sucks just because we have to get all 80k events. And we see almost the exact same performance locally trying to get all of these events (16s vs 17s):
```
synapse=# SELECT type, state_key, event_id FROM current_state_events WHERE room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
Time: 16035.612 ms (00:16.036)
synapse=# SELECT type, state_key, event_id FROM current_state_events WHERE room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
Time: 4243.237 ms (00:04.243)
```
But what about `get_current_hosts_in_room`: When there is 8M rows in the `current_state_events` table, the previous query in `get_current_hosts_in_room` took 13s from complete freshness (when the events were first added). But takes 930ms after a Postgres restart or 390ms if running back to back to back.
```sh
$ psql synapse
synapse=# \timing on
synapse=# SELECT COUNT(DISTINCT substring(state_key FROM '@[^:]*:(.*)$'))
FROM current_state_events
WHERE
type = 'm.room.member'
AND membership = 'join'
AND room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
count
-------
4130
(1 row)
Time: 13181.598 ms (00:13.182)
synapse=# SELECT COUNT(*) from current_state_events where room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
count
-------
80814
synapse=# SELECT COUNT(*) from current_state_events;
count
---------
8162847
synapse=# SELECT pg_size_pretty( pg_total_relation_size('current_state_events') );
pg_size_pretty
----------------
4702 MB
```
#### After
I'm not sure how long it takes from complete freshness as I only really get that opportunity once (maybe restarting computer but that's cumbersome) and it's not really relevant to normal operating times. Maybe you get closer to the fresh times the more access variability there is so that Postgres caches aren't as exact. Update: The longest I've seen this run for is 6.4s and 4.5s after a computer restart.
After a Postgres restart, it takes 330ms and running back to back takes 260ms.
```sh
$ psql synapse
synapse=# \timing on
Timing is on.
synapse=# SELECT
substring(c.state_key FROM '@[^:]*:(.*)$') as host
FROM current_state_events c
/* Get the depth of the event from the events table */
INNER JOIN events AS e USING (event_id)
WHERE
c.type = 'm.room.member'
AND c.membership = 'join'
AND c.room_id = '!OGEhHVWSdvArJzumhm:matrix.org'
GROUP BY host
ORDER BY min(e.depth) ASC;
Time: 333.800 ms
```
#### Going further
To improve things further we could add a `limit` parameter to `get_current_hosts_in_room`. Realistically, we don't need 4k domains to choose from because there is no way we're going to query that many before we a) probably get an answer or b) we give up.
Another thing we can do is optimize the query to use a index skip scan:
- https://wiki.postgresql.org/wiki/Loose_indexscan
- Index Skip Scan, https://commitfest.postgresql.org/37/1741/
- https://www.timescale.com/blog/how-we-made-distinct-queries-up-to-8000x-faster-on-postgresql/
2022-08-30 01:38:14 -05:00
Richard van der Hoff
4f6de33f41
Print complement failure results last ( #13639 )
...
Since github always scrolls to the bottom of any test output, let's put the
failed tests last and hide any successful packages.
2022-08-28 20:05:30 +00:00
Richard van der Hoff
c4e29b6908
Improve documentation around user registration ( #13640 )
...
Update a bunch of the documentation for user registration, add some cross
links, etc.
2022-08-26 13:29:31 +00:00
Richard van der Hoff
5e5c8150d7
Generate missing configuration files at startup ( #13615 )
...
If things like the signing key file are missing, let's just try to generate
them on startup.
Again, this is useful for k8s-like deployments where we just want to generate
keys on the first run.
2022-08-26 11:26:06 +00:00
Jörg Behrmann
998e211836
Update debhelper ( #13594 )
...
* Update debian packaging to debhelper version 12
Don't call dh_installinit anymore, because it has been deprecated, and use
dh_installsystemd instead of dh_systemd_enable for the same reason.
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de >
* Drop preinst script
It was used for reasons of interactions of dh_systemd_start and dh_installinit,
which have both be deprecated
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de >
* Drop /etc/default file
It was no longer being installed.
* Remove debian/compat file
This is managed by the control file nowadays
2022-08-26 08:10:54 +00:00
Brad Murray
967d7bad6c
Move the execution of the retention purge_jobs to the main worker ( #13632 )
...
Fixes #9927
Signed-off-by: Brad Murray brad@beeper.com
2022-08-26 08:38:10 +01:00
Jörg Behrmann
978666a088
Debian packaging: explicitly allocate a group for the system user ( #13593 )
...
Otherwise the files of the synapse user are readable by the nobody user, which
is unsafe.
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de >
2022-08-25 16:56:55 +00:00
Richard van der Hoff
d092e6f32a
Support registration_shared_secret in a file ( #13614 )
...
A new `registration_shared_secret_path` option. This is kinda handy for k8s deployments and things.
2022-08-25 16:27:46 +00:00
Richard van der Hoff
a2ce614447
register_new_matrix_user: read server url from config ( #13616 )
...
Fixes https://github.com/matrix-org/synapse/issues/3672 :
`https://localhost:8448 ` is virtually never right.
2022-08-25 15:29:08 +01:00
Kat Gerasimova
a282446502
Update automation for incoming issues ( #13629 )
...
GitHub appears to be deprecating addProjectNextItem by not allowing it to be used alongside projectV2 to get the project ID, so switching to using addProjectV2ItemById instead.
2022-08-25 12:09:23 +01:00
Eric Eastwood
0bf180cbb4
Comment about a better future where we can get the state diff between two events ( #13586 )
...
Split off from https://github.com/matrix-org/synapse/pull/13561
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.2tvwz3yhcafh )
2022-08-24 18:59:27 -05:00
David Robertson
c406d50d2d
Rename event_map to unpersisted_events ( #13603 )
2022-08-24 21:06:31 +01:00
Eric Eastwood
1a209efdb2
Update get_users_in_room mis-use to get hosts with dedicated get_current_hosts_in_room ( #13605 )
...
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755
2022-08-24 14:15:37 -05:00
Eric Eastwood
d58615c82c
Directly lookup local membership instead of getting all members in a room first (get_users_in_room mis-use) ( #13608 )
...
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755
2022-08-24 14:13:12 -05:00
Eric Eastwood
b93bd95e8a
When loading current ids, sort by stream_id to avoid incorrect overwrite and avoid errors caused by sorting alphabetical instance name which can be null ( #13585 )
...
When loading current ids, sort by stream ID so that we don't want to overwrite the `current_position` of an instance to a lower stream ID than we're actually at ([discussion](https://github.com/matrix-org/synapse/pull/13585#discussion_r951795379 )). Previously, it sorted alphabetically by instance name which can be `null` and throw errors but more importantly, accomplishes nothing.
Fixes the following startup error which is why I started looking into this area:
```
$ poetry run synapse_homeserver --config-path homeserver.yaml
****************************************************************
Error during initialisation:
'<' not supported between instances of 'NoneType' and 'str'
There may be more information in the logs.
****************************************************************
```
Somehow my database ended up looking like the following, notice the `instance_name` is `null` in the db, and we can't sort `NoneType` things. Another question is why do we see the `instance_name` as `null` sometimes instead of `master` in monolith mode?
```
$ psql synapse
synapse=# SELECT * FROM stream_positions;
stream_name | instance_name | stream_id
-----------------+---------------+-----------
account_data | master | 1242
events | master | 1787
to_device | master | 58
presence_stream | master | 485638
receipts | master | 341
backfill | master | -139106
(6 rows)
synapse=# SELECT instance_name, stream_id FROM receipts_linearized;
instance_name | stream_id
---------------+-----------
| 211
| 3
| 4
| 212
| 213
| 224
| 228
| 164
| 313
| 253
| 38
| 321
| 324
| 189
| 192
| 193
| 194
| 195
| 197
| 198
| 275
| 79
| 339
| 340
| 82
| 341
| 84
| 85
| 91
| 119
```
2022-08-24 12:53:46 -05:00
Eric Eastwood
c807b814ae
Use dedicated get_local_users_in_room to find local users when calculating join_authorised_via_users_server of a /make_join request ( #13606 )
...
Use dedicated `get_local_users_in_room` to find local users when calculating `join_authorised_via_users_server` ("the authorising user for joining a restricted room") of a `/make_join` request.
Found while working on https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755 but it's not related.
2022-08-24 11:14:28 -05:00
Andy Balaam
371db86a86
First draft of triage_labelled action ( #13612 )
2022-08-24 13:59:33 +01:00
reivilibre
be4250c7a8
Add experimental configuration option to allow disabling legacy Prometheus metric names. ( #13540 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-08-24 11:35:54 +00:00
Kat Gerasimova
2e2040c93e
Add GitHub automation for new issues ( #13610 )
...
Set up automation to move newly opened issues in GitHub to the issue triage board.
2022-08-24 12:10:32 +01:00
Nick Mills-Barrett
b687010f89
Rewrite get push actions queries ( #13597 )
2022-08-24 10:12:51 +01:00
reivilibre
ba882c0357
Faster Room Joins: fix /make_knock blocking indefinitely when the room in question is a partial-stated room. ( #13583 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-08-24 09:09:59 +00:00
Eric Eastwood
7af07f9716
Instrument _check_sigs_and_hash_and_fetch to trace time spent in child concurrent calls ( #13588 )
...
Instrument `_check_sigs_and_hash_and_fetch` to trace time spent in child concurrent calls because I've see `_check_sigs_and_hash_and_fetch` take [10.41s to process 100 events](https://github.com/matrix-org/synapse/issues/13587 )
Fix https://github.com/matrix-org/synapse/issues/13587
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-23 21:53:37 -05:00
David Robertson
a25a37002c
Write about the chain cover a little. ( #13602 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-08-23 17:41:55 +00:00
Erik Johnston
f7ddfe17a3
Speed up @cachedList ( #13591 )
...
This speeds things up by ~2x.
The vast majority of the time is now spent in `LruCache` moving things around the linked lists.
We do this via two things:
1. Don't create a deferred per-key during bulk set operations in `DeferredCache`. Instead, only create them if a subsequent caller asks for the key.
2. Add a bulk lookup API to `DeferredCache` rather than use a loop.
2022-08-23 14:53:27 +00:00
Erik Johnston
05c9c7363b
Fix regression caused by #13573 ( #13600 )
...
Broke in #13573 .
2022-08-23 14:14:05 +00:00
nilsKr3
bdfff9c36e
Update openid.md ( #13568 )
...
Linking the help article may prevent confusion regarding the creation of the necessary rule using auth0.
2022-08-23 14:34:10 +01:00
David Robertson
ca3d19b05f
Merge tag 'v1.66.0rc1' into develop
...
Synapse 1.66.0rc1 (2022-08-23)
==============================
This release removes the ability for homeservers to delegate email ownership
verification and password reset confirmation to identity servers. This removal
was originally planned for Synapse 1.64, but was later deferred until now.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Features
--------
- Improve validation of request bodies for the following client-server API endpoints: [`/account/password`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpassword ), [`/account/password/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpasswordemailrequesttoken ), [`/account/deactivate`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountdeactivate ) and [`/account/3pid/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3account3pidemailrequesttoken ). ([\#13188](https://github.com/matrix-org/synapse/issues/13188 ), [\#13563](https://github.com/matrix-org/synapse/issues/13563 ))
- Add forgotten status to [Room Details Admin API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#room-details-api ). ([\#13503](https://github.com/matrix-org/synapse/issues/13503 ))
- Add an experimental implementation for [MSC3852 (Expose user agents on `Device`)](https://github.com/matrix-org/matrix-spec-proposals/pull/3852 ). ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Add `org.matrix.msc2716v4` experimental room version with updated content fields. Part of [MSC2716 (Importing history)](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ). ([\#13551](https://github.com/matrix-org/synapse/issues/13551 ))
- Add support for compression to federation responses. ([\#13537](https://github.com/matrix-org/synapse/issues/13537 ))
- Improve performance of sending messages in rooms with thousands of local users. ([\#13522](https://github.com/matrix-org/synapse/issues/13522 ), [\#13547](https://github.com/matrix-org/synapse/issues/13547 ))
Bugfixes
--------
- Faster room joins: make `/joined_members` block whilst the room is partial stated. ([\#13514](https://github.com/matrix-org/synapse/issues/13514 ))
- Fix a bug introduced in Synapse 1.21.0 where the [`/event_reports` Admin API](https://matrix-org.github.io/synapse/develop/admin_api/event_reports.html ) could return a total count which was larger than the number of results you can actually query for. ([\#13525](https://github.com/matrix-org/synapse/issues/13525 ))
- Fix a bug introduced in Synapse 1.52.0 where sending server notices fails if `max_avatar_size` or `allowed_avatar_mimetypes` is set and not `system_mxid_avatar_url`. ([\#13566](https://github.com/matrix-org/synapse/issues/13566 ))
- Fix a bug where the `opentracing.force_tracing_for_users` config option would not apply to [`/sendToDevice`](https://spec.matrix.org/v1.3/client-server-api/#put_matrixclientv3sendtodeviceeventtypetxnid ) and [`/keys/upload`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3keysupload ) requests. ([\#13574](https://github.com/matrix-org/synapse/issues/13574 ))
Improved Documentation
----------------------
- Add `openssl` example for generating registration HMAC digest. ([\#13472](https://github.com/matrix-org/synapse/issues/13472 ))
- Tidy up Synapse's README. ([\#13491](https://github.com/matrix-org/synapse/issues/13491 ))
- Document that event purging related to the `redaction_retention_period` config option is executed only every 5 minutes. ([\#13492](https://github.com/matrix-org/synapse/issues/13492 ))
- Add a warning to retention documentation regarding the possibility of database corruption. ([\#13497](https://github.com/matrix-org/synapse/issues/13497 ))
- Document that the `DOCKER_BUILDKIT=1` flag is needed to build the docker image. ([\#13515](https://github.com/matrix-org/synapse/issues/13515 ))
- Add missing links in `user_consent` section of configuration manual. ([\#13536](https://github.com/matrix-org/synapse/issues/13536 ))
- Fix the doc and some warnings that were referring to the nonexistent `custom_templates_directory` setting (instead of `custom_template_directory`). ([\#13538](https://github.com/matrix-org/synapse/issues/13538 ))
Deprecations and Removals
-------------------------
- Remove the ability for homeservers to delegate email ownership verification
and password reset confirmation to identity servers. See [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Internal Changes
----------------
- Update the rejected state of events during de-partial-stating. ([\#13459](https://github.com/matrix-org/synapse/issues/13459 ))
- Avoid blocking lazy-loading `/sync`s during partial joins due to remote memberships. Pull remote memberships from auth events instead of the room state. ([\#13477](https://github.com/matrix-org/synapse/issues/13477 ))
- Refuse to start when faster joins is enabled on a deployment with workers, since worker configurations are not currently supported. ([\#13531](https://github.com/matrix-org/synapse/issues/13531 ))
- Allow use of both `@trace` and `@tag_args` stacked on the same function. ([\#13453](https://github.com/matrix-org/synapse/issues/13453 ))
- Instrument the federation/backfill part of `/messages` for understandable traces in Jaeger. ([\#13489](https://github.com/matrix-org/synapse/issues/13489 ))
- Instrument `FederationStateIdsServlet` (`/state_ids`) for understandable traces in Jaeger. ([\#13499](https://github.com/matrix-org/synapse/issues/13499 ), [\#13554](https://github.com/matrix-org/synapse/issues/13554 ))
- Track HTTP response times over 10 seconds from `/messages` (`synapse_room_message_list_rest_servlet_response_time_seconds`). ([\#13533](https://github.com/matrix-org/synapse/issues/13533 ))
- Add metrics to track how the rate limiter is affecting requests (sleep/reject). ([\#13534](https://github.com/matrix-org/synapse/issues/13534 ), [\#13541](https://github.com/matrix-org/synapse/issues/13541 ))
- Add metrics to time how long it takes us to do backfill processing (`synapse_federation_backfill_processing_before_time_seconds`, `synapse_federation_backfill_processing_after_time_seconds`). ([\#13535](https://github.com/matrix-org/synapse/issues/13535 ), [\#13584](https://github.com/matrix-org/synapse/issues/13584 ))
- Add metrics to track rate limiter queue timing (`synapse_rate_limit_queue_wait_time_seconds`). ([\#13544](https://github.com/matrix-org/synapse/issues/13544 ))
- Update metrics to track `/messages` response time by room size. ([\#13545](https://github.com/matrix-org/synapse/issues/13545 ))
- Refactor methods in `synapse.api.auth.Auth` to use `Requester` objects everywhere instead of user IDs. ([\#13024](https://github.com/matrix-org/synapse/issues/13024 ))
- Clean-up tests for notifications. ([\#13471](https://github.com/matrix-org/synapse/issues/13471 ))
- Add some miscellaneous comments to document sync, especially around `compute_state_delta`. ([\#13474](https://github.com/matrix-org/synapse/issues/13474 ))
- Use literals in place of `HTTPStatus` constants in tests. ([\#13479](https://github.com/matrix-org/synapse/issues/13479 ), [\#13488](https://github.com/matrix-org/synapse/issues/13488 ))
- Add comments about how event push actions are rotated. ([\#13485](https://github.com/matrix-org/synapse/issues/13485 ))
- Modify HTML template content to better support mobile devices' screen sizes. ([\#13493](https://github.com/matrix-org/synapse/issues/13493 ))
- Add a linter script which will reject non-strict types in Pydantic models. ([\#13502](https://github.com/matrix-org/synapse/issues/13502 ))
- Reduce the number of tests using legacy TCP replication. ([\#13543](https://github.com/matrix-org/synapse/issues/13543 ))
- Allow specifying additional request fields when using the `HomeServerTestCase.login` helper method. ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Make `HomeServerTestCase` load any configured homeserver modules automatically. ([\#13558](https://github.com/matrix-org/synapse/issues/13558 ))
2022-08-23 14:00:09 +01:00
Erik Johnston
aec87a0f93
Speed up fetching large numbers of push rules ( #13592 )
2022-08-23 13:15:43 +01:00
David Robertson
ea85a2bf6c
Remove manually-added changelog
2022-08-23 12:40:35 +01:00
David Robertson
956e015413
Drop support for delegating email validation, round 2 ( #13596 )
2022-08-23 11:40:00 +00:00
Nick Mills-Barrett
5e7847dc92
Cache user IDs instead of profile objects ( #13573 )
...
The profile objects are never used and increase cache size significantly.
2022-08-23 09:49:59 +00:00
David Robertson
79281f517d
Update changelog
2022-08-23 10:22:47 +01:00
David Robertson
f8b9abdcdb
Adjust changelog
2022-08-23 10:10:20 +01:00
David Robertson
d6f5699737
Describe changes to admin API in 1.66
...
Cross-ref #13525
2022-08-23 10:09:45 +01:00
David Robertson
f0b23927fc
1.66.0rc1
2022-08-23 09:49:51 +01:00
Dirk Klimpel
37f329c9ad
Fix that sending server notices fail if avatar is None ( #13566 )
...
Indroduced in #11846 .
2022-08-23 09:48:35 +01:00
Eric Eastwood
9385c41ba4
Fix Prometheus metrics being negative (mixed up start/end) ( #13584 )
...
Fix:
- https://github.com/matrix-org/synapse/pull/13535#discussion_r949582508
- https://github.com/matrix-org/synapse/pull/13533#discussion_r949577244
2022-08-23 08:47:30 +01:00
Quentin Gliech
3dd175b628
synapse.api.auth.Auth cleanup: make permission-related methods use Requester instead of the UserID (#13024 )
...
Part of #13019
This changes all the permission-related methods to rely on the Requester instead of the UserID. This is a first step towards enabling scoped access tokens at some point, since I expect the Requester to have scope-related informations in it.
It also changes methods which figure out the user/device/appservice out of the access token to return a Requester instead of something else. This avoids having store-related objects in the methods signatures.
2022-08-22 14:17:59 +01:00
Andrew Morgan
94375f7a91
Remove redundant opentracing spans for /sendToDevice and /keys/upload ( #13574 )
2022-08-22 10:03:11 +01:00
Eric Eastwood
06df5d4250
MSC2716v4 room version - remove namespace from MSC2716 event content fields ( #13551 )
...
Complement PR: https://github.com/matrix-org/complement/pull/450
As suggested in
https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r941444525
2022-08-19 15:37:01 -05:00
Andrew Morgan
f9f03426de
Implement MSC3852: Expose last_seen_user_agent to users for their own devices; also expose to Admin API ( #13549 )
2022-08-19 16:17:10 +00:00
Andrew Morgan
40e3e68cd7
Register homeserver modules when creating test homeserver ( #13558 )
2022-08-19 16:52:20 +01:00
Patrick Cloke
f3fba4914d
Reduce the number of tests using TCP replication. ( #13543 )
...
Uses Redis replication in additional test cases (instead of
TCP replication). A small step towards dropping TCP replication.
2022-08-19 08:25:24 -04:00
reivilibre
3a245f6cfe
Fix validation problem that occurs when a user tries to deactivate their account or change their password. ( #13563 )
2022-08-19 11:03:29 +00:00
Eric Eastwood
2c42673a9b
Add metrics to track /messages response time by room size ( #13545 )
...
Follow-up to https://github.com/matrix-org/synapse/pull/13533
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-18 14:15:53 -05:00
Sean Quah
b251cff819
Fix incorrect juggling of logging contexts in _PerHostRatelimiter ( #13554 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-08-18 16:26:26 +01:00
Eric Eastwood
d64653d062
Track number of hosts affected by the rate limiter ( #13541 )
...
Track number of hosts affected by the rate limiter so we can differentiate one really noisy homeserver from a general ratelimit tuning problem across the federation.
Follow-up to https://github.com/matrix-org/synapse/pull/13534
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-18 10:05:07 -05:00
Ayush Anand
22ea51faf9
Add support for compression to federation responses ( #13537 )
...
Closes #13415 .
Signed-off-by: Ayush Anand <iamayushanand@gmail.com >
2022-08-18 15:14:47 +01:00
Sean Quah
84169a82dc
Avoid blocking lazy-loading /syncs during partial joins ( #13477 )
...
Use a state filter or accept partial state in a few places where we
request state, to avoid blocking.
To make lazy-loading `/sync`s work, we need to provide the memberships
of event senders, which are not guaranteed to be in the room state.
Instead we dig through auth events for memberships to present to
clients. The auth events of an event are guaranteed to contain a
passable membership event, otherwise the event would have been rejected.
Note that this only covers the common code paths encountered during
testing. There has been no exhaustive checking of all sync code paths.
Fixes #13146 .
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-08-18 11:53:02 +01:00
Eric Eastwood
49d04e43df
Add metrics to track how the rate limiter is affecting requests (sleep/reject) ( #13534 )
...
Related to https://github.com/matrix-org/synapse/pull/13499
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-17 16:10:07 -05:00
reivilibre
8bdf2bd31e
Fix a bug in the /event_reports Admin API which meant that the total count could be larger than the number of results you can actually query for. ( #13525 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-08-17 18:08:23 +00:00
David Robertson
82a0752f32
A first pass at pruning the Synapse README ( #13491 )
2022-08-17 16:46:09 +01:00
Erik Johnston
436e0eb39a
Fix breaking event sending due to bad push rule ( #13547 )
...
Broke by #13522
It looks like we have some rules in the DB with a priority class less
than 0 that don't override the base rules. Before these were just
dropped, but #13522 made that a hard error.
2022-08-17 11:02:38 +00:00
David Robertson
ba8938b090
Reject non-strict types in Pydantic models ( #13502 )
2022-08-17 11:17:04 +01:00
Antonin Loubiere
b71b41c7bd
Fix a typo in docs and in some warnings ( #13538 )
2022-08-17 10:59:05 +01:00
Dirk Klimpel
d75512d19e
Add forgotten status to Room Details API ( #13503 )
2022-08-17 09:42:01 +00:00
Eric Eastwood
c6ee9c0ee4
Add metrics to track rate limiter queue timing ( #13544 )
2022-08-17 10:38:05 +01:00
Eric Eastwood
088bcb7ecb
Time how long it takes us to do backfill processing ( #13535 )
2022-08-17 10:33:19 +01:00
Eric Eastwood
2c8cfd6d85
Add specific metric to time long-running /messages requests ( #13533 )
2022-08-17 10:19:21 +01:00
Eric Eastwood
0a4efbc1dd
Instrument the federation/backfill part of /messages ( #13489 )
...
Instrument the federation/backfill part of `/messages` so it's easier to follow what's going on in Jaeger when viewing a trace.
Split out from https://github.com/matrix-org/synapse/pull/13440
Follow-up from https://github.com/matrix-org/synapse/pull/13368
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-16 12:39:40 -05:00
Andrew Morgan
5ace5d7b15
Merge branch 'master' into develop
2022-08-16 17:32:20 +01:00
Andrew Morgan
06a2733881
Note explicitly that #11365 was reverted in the 1.65 CHANGELOG
2022-08-16 17:24:53 +01:00
Andrew Morgan
738c11729a
1.65.0
2022-08-16 16:52:07 +01:00
Sean Quah
f4ab6a4a96
Refuse to start when faster_joins is enabled on a worker deployment ( #13531 )
...
Synapse does not currently support faster room joins on deployments with
workers.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-08-16 16:21:55 +01:00
Dirk Klimpel
14e673ef9d
Add missing links in user_consent section of configuration manual ( #13536 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-08-16 16:20:56 +01:00
reivilibre
c3516e9dec
Faster room joins: make /joined_members block whilst the room is partial stated. ( #13514 )
2022-08-16 13:16:56 +01:00
Erik Johnston
5442891cbc
Make push rules use proper structures. ( #13522 )
...
This improves load times for push rules:
| Version | Time per user | Time for 1k users |
| -------------------- | ------------- | ----------------- |
| Before | 138 µs | 138ms |
| Now (with custom) | 2.11 µs | 2.11ms |
| Now (without custom) | 49.7 ns | 0.05 ms |
This therefore has a large impact on send times for rooms
with large numbers of local users in the room.
2022-08-16 12:22:17 +01:00
David Robertson
d642ce4b32
Use Pydantic to systematically validate a first batch of endpoints in synapse.rest.client.account. ( #13188 )
2022-08-15 19:05:57 +00:00
Shay
73c83c6411
Add a warning to retention documentation regarding the possibility of database corruption ( #13497 )
2022-08-15 11:54:23 -07:00
Eric Eastwood
344a2f767c
Instrument FederationStateIdsServlet - /state_ids ( #13499 )
...
Instrument FederationStateIdsServlet - `/state_ids` so it's easier to follow what's going on in Jaeger when viewing a trace.
2022-08-15 19:41:23 +01:00
David Robertson
19e5d44886
Revert "Update locked versions of mypy and mypy-zope ( #13521 )"
...
This reverts commit f383b9b3ec . Other PRs
were seeing mypy failures that looked to be related to mypy-zope.
Confusingly, we didn't see this on #13521 .
Revert this for now and investigate later.
2022-08-15 14:51:05 +01:00
Patrick Cloke
46bd7f4ed9
Clarifications for event push action processing. ( #13485 )
...
* Clarifies comments.
* Fixes an erroneous comment (about return type) added in #13455
(ec24813220 ).
* Clarifies the name of a variable.
* Simplifies logic of pulling out the latest join for the requesting user.
2022-08-15 09:33:17 -04:00
David Robertson
f383b9b3ec
Update locked versions of mypy and mypy-zope ( #13521 )
2022-08-15 11:32:30 +01:00
Richard van der Hoff
434fd82d5f
Update grafana dashboard
2022-08-13 21:50:20 +01:00
reivilibre
2c5e2ae898
Document that the DOCKER_BUILDKIT=1 flag is needed to build the docker image. ( #13515 )
2022-08-12 14:25:47 +01:00
James Barton
e825f7366b
Add openssl example for registration HMAC ( #13472 )
...
Signed-off-by: James Barton <james@neodon.com >
2022-08-11 21:10:10 +01:00
Andrew Morgan
953df2ad88
Add note to redaction_retention_period documentation mentioning that event purging runs at most every 5m ( #13492 )
2022-08-11 14:06:09 +01:00
Germain
4390121684
Add viewport directive to HTML templates to optimise for mobile ( #13493 )
2022-08-11 14:04:20 +01:00
Olivier Wilkinson (reivilibre)
05bc059e0d
Merge branch 'release-v1.65' into develop
2022-08-11 13:19:12 +01:00
Richard van der Hoff
507c1cb330
Update the rejected state of events during resync ( #13459 )
...
Events can be un-rejected or newly-rejected during resync, so ensure we update
the database and caches when that happens.
2022-08-11 10:42:24 +00:00
Olivier Wilkinson (reivilibre)
7a25b4302c
1.65.0rc2
2022-08-11 11:40:40 +01:00
reivilibre
12abd72497
Revert 'Remove the unspecced field in the response. ( #13365 )' to give more time for clients to update. ( #13501 )
2022-08-11 10:27:48 +00:00
Dirk Klimpel
2281427175
Use literals in place of HTTPStatus constants in tests ( #13488 )
...
* Use literals in place of `HTTPStatus` constants in tests
* newsfile
* code style
* code style
2022-08-10 11:01:12 -07:00
Sean Quah
51c01d450a
Add some miscellaneous comments around sync ( #13474 )
...
Add some miscellaneous comments to document sync, especially around
`compute_state_delta`.
Signed-off-by: Sean Quah <seanq@matrix.org >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-08-10 12:58:20 +01:00
Eric Eastwood
1b09b0832e
Allow use of both @trace and @tag_args stacked on the same function ( #13453 )
...
```py
@trace
@tag_args
async def get_oldest_event_ids_with_depth_in_room(...)
...
```
Before this PR, you would see a warning in the logs and the span was not exported:
```
2022-08-03 19:11:59,383 - synapse.logging.opentracing - 835 - ERROR - GET-0 - @trace may not have wrapped EventFederationWorkerStore.get_oldest_event_ids_with_depth_in_room correctly! The function is not async but returned a coroutine.
```
2022-08-09 14:32:33 -05:00
Dirk Klimpel
1595052b26
Use literals in place of HTTPStatus constants in tests ( #13479 )
...
Replace
- `HTTPStatus.NOT_FOUND`
- `HTTPStatus.FORBIDDEN`
- `HTTPStatus.UNAUTHORIZED`
- `HTTPStatus.CONFLICT`
- `HTTPStatus.CREATED`
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-08-09 14:56:43 +01:00
Olivier Wilkinson (reivilibre)
54fb517c28
Merge branch 'release-v1.65' into develop
2022-08-09 13:45:11 +01:00
Olivier Wilkinson (reivilibre)
3d1b860f90
Fix changelog mistake
2022-08-09 13:13:22 +01:00
Patrick Cloke
5ce2887653
Strengthen tests about deleted old push actions. ( #13471 )
2022-08-09 07:56:16 -04:00
Olivier Wilkinson (reivilibre)
c962f87d6f
Tweak the changelog
2022-08-09 12:54:59 +01:00
Olivier Wilkinson (reivilibre)
827f0669bf
1.65.0rc1
2022-08-09 11:43:30 +01:00
Dirk Klimpel
70d3e70009
Make the configuration for the cache clearer ( #13481 )
2022-08-09 11:30:22 +01:00
Shay
0f954466c4
Update matrix-synapse-ldap3 version in lockfile to v0.2.2. ( #13470 )
2022-08-08 13:44:43 -07:00
Dirk Klimpel
c97042f7ee
Use literals in place of HTTPStatus constants in tests ( #13469 )
2022-08-08 13:21:27 -07:00
David Robertson
7a19995120
Correct a misnamed argument in state res v2 ( #13467 )
...
In state res v2, we apply two passes of iterative auth checks. The first
pass replays power events and events in their auth chains, but only
those belonging to the full conflicted set. The source code as written
suggests that we want only those belonging to the auth difference (which
is a smaller set of events).
At runtime we were doing the correct thing anyway, because the only
callsite of `_reverse_topological_power_sort` passes in the
`full_conflicted_set`. So this really is just a rename.
2022-08-08 16:59:56 +01:00
Šimon Brandner
ab18441573
Support stable identifiers for MSC2285: private read receipts. ( #13273 )
...
This adds support for the stable identifiers of MSC2285 while
continuing to support the unstable identifiers behind the configuration
flag. These will be removed in a future version.
2022-08-05 11:09:33 -04:00
Dirk Klimpel
e2ed1b7155
Use literals in place of HTTPStatus constants in tests ( #13463 )
2022-08-05 16:59:09 +02:00
Julian-Samuel Gebühr
3d2cabf966
Mark token-authenticaticated-registration API as not-experimental ( #11897 )
2022-08-05 11:15:35 +00:00
Matt C
026ac4486c
Update module API "update room membership" method to allow for remote joins ( #13441 )
...
Co-authored-by: MattC <buffless-matt@users.noreply.github.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-08-05 09:37:58 +00:00
Erik Johnston
b6a6bb4027
Add comments about how event push actions are stored. ( #13445 )
2022-08-04 19:38:08 +00:00
Eric Eastwood
860fdd9098
Fix @tag_args being off-by-one (ahead) ( #13452 )
...
Fix @tag_args being off-by-one (ahead)
Example:
```
argspec.args=[
'self',
'room_id'
]
args=(
<synapse.storage.databases.main.DataStore object at 0x10d0b8d00>,
'!HBehERstyQBxyJDLfR:my.synapse.server'
)
```
---
The previous logic was also flawed and we can end up in a situation like this:
```
argspec.args=['self', 'dest', 'room_id', 'limit', 'extremities']
args=(<synapse.federation.federation_client.FederationClient object at 0x7f1651c18160>, 'hs1', '!jAEHKIubyIfuLOdfpY:hs1')
```
From this source:
```py
async def backfill(
self, dest: str, room_id: str, limit: int, extremities: Collection[str]
) -> Optional[List[EventBase]]:
```
And this usage:
```py
events = await self._federation_client.backfill(
dest, room_id, limit=limit, extremities=extremities
)
```
which would previously cause this error:
```
synapse_main | 2022-08-04 06:13:12,051 - synapse.handlers.federation - 424 - ERROR - GET-5 - Failed to backfill from hs1 because tuple index out of range
synapse_main | Traceback (most recent call last):
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation.py", line 392, in try_backfill
synapse_main | await self._federation_event_handler.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation_event.py", line 593, in backfill
synapse_main | events = await self._federation_client.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 827, in _wrapper
synapse_main | with wrapping_logic(func, *args, **kwargs):
synapse_main | File "/usr/local/lib/python3.9/contextlib.py", line 119, in __enter__
synapse_main | return next(self.gen)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 922, in _wrapping_logic
synapse_main | set_attribute("ARG_" + arg, str(args[i + 1])) # type: ignore[index]
synapse_main | IndexError: tuple index out of range
```
2022-08-04 14:29:41 -05:00
Patrick Cloke
ec24813220
Improve comments (& avoid a duplicate query) in push actions processing. ( #13455 )
...
* Adds docstrings and inline comments.
* Formats SQL queries using triple quoted strings.
* Minor formatting changes.
* Avoid fetching `event_push_summary_stream_ordering` multiple times
in the same transactions.
2022-08-04 19:24:44 +00:00
Richard van der Hoff
96d92156d0
Update type of EventContext.rejected ( #13460 )
2022-08-04 17:45:01 +01:00
reivilibre
e9e6aacfbe
Faster Room Joins: prevent Synapse from answering federated join requests for a room which it has not fully joined yet. ( #13416 )
2022-08-04 16:27:04 +01:00
Nick Mills-Barrett
41320a0554
Optimise async get event lookups ( #13435 )
...
Still maintains local in memory lookup optimisation, but does any external
lookup as part of the deferred that prevents duplicate lookups for the same
event at once. This makes the assumption that fetching from an external
cache is a non-zero load operation.
2022-08-04 15:49:55 +01:00
Dirk Klimpel
6dd7fa12dc
Update some outdated information on sso_mapping_providers.md ( #13449 )
2022-08-04 13:06:02 +01:00
Dirk Klimpel
afbdbe0634
Fix return value in example on password_auth_provider_callbacks.md ( #13450 )
...
Fixes : #12534
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-08-04 13:03:36 +01:00
Richard van der Hoff
166fafdf8d
synapse-workers docker: copy nginx and redis in from base images ( #13447 )
...
Part of my continuing quest to make the docker images build quicker: copy nginx and redis in from base docker images, rather than apt installing each time.
2022-08-04 12:59:27 +01:00
Matt C
a91078200d
Add module API method to create a room ( #13429 )
...
Co-authored-by: MattC <buffless-matt@users.noreply.github.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-08-04 09:34:05 +00:00
Brendan Abolivier
845732be45
Fix rooms not being properly excluded from incremental sync ( #13408 )
2022-08-04 11:02:29 +02:00
Shay
a648a06d52
Add some tracing spans to give insight into local joins ( #13439 )
2022-08-03 10:19:34 -07:00
Eric Eastwood
92d21faf12
Instrument /messages for understandable traces in Jaeger ( #13368 )
...
In Jaeger:
- Before: huge list of uncategorized database calls
- After: nice and collapsible into units of work
2022-08-03 10:57:38 -05:00
andrew do
78a3111c41
Return 404 or member list when getting joined_members after leaving ( #13374 )
...
Signed-off-by: Andrew Doh <andrewddo@gmail.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Andrew Morgan <andrewm@element.io >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-08-03 14:26:31 +02:00
Jasper Spaans
503a95804e
Install cryptography build dependencies in requirements image. ( #13372 )
2022-08-03 11:16:32 +01:00
jejo86
668597214f
Improve documentation on becoming server admin ( #13230 )
...
* Improved section regarding server admin
Added steps describing how to elevate an existing user to administrator by manipulating a `postgres` database.
Signed-off-by: jejo86 28619134+jejo86@users.noreply.github.com
* Improved section regarding server admin
* Reference database settings
Add instructions to check database settings to find out the database name, instead of listing all available PostgreSQL databases.
* Add suggestions from PR conversation
Replace config filename `homeserver.yaml`. with "config file".
Remove instructions to switch to `postgres` user.
Add instructions how to connect to SQLite database.
* Update changelog.d/13230.doc
Co-authored-by: reivilibre <olivier@librepush.net >
2022-08-03 11:15:23 +01:00
Dirk Klimpel
fb7a2cc4cc
Update doc for setting macaroon_secret_key ( #13443 )
...
* Update doc for setting `macaroon_secret_key`
* newsfile
2022-08-03 10:41:19 +01:00
Dirk Klimpel
d6e94ad9d9
Rename RateLimitConfig to RatelimitSettings ( #13442 )
2022-08-03 10:40:20 +01:00
Matt C
570bf32bbb
Add module API method to resolve a room alias to a room ID ( #13428 )
...
Co-authored-by: MattC <buffless-matt@users.noreply.github.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-08-03 09:25:36 +00:00
Dirk Klimpel
5eccfdfafd
Remove 'Contents' section from the Configuration Manual ( #13438 )
...
Fixes : #13053
2022-08-03 09:19:20 +00:00
Dirk Klimpel
ec6758d472
Fix wrong headline for url_preview_accept_language in docs ( #13437 )
...
Fixes : #13433
2022-08-03 09:41:57 +01:00
reivilibre
1c910e2216
Add a merge-back command to the release script, which automates merging the correct branches after a release. ( #13393 )
2022-08-02 15:56:28 +00:00
Sean Quah
8d317f6da5
Fix error when out of servers to sync partial state with ( #13432 )
...
so that we raise the intended error instead.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-08-02 12:12:44 +01:00
Olivier Wilkinson (reivilibre)
a2a867b521
Merge branch 'master' into develop
2022-08-02 11:56:02 +01:00
Olivier Wilkinson (reivilibre)
c2f4871226
Mention specific version in rc2 notes
2022-08-02 11:19:32 +01:00
Olivier Wilkinson (reivilibre)
cb209638ea
Add upgrade notes
2022-08-02 11:10:26 +01:00
Olivier Wilkinson (reivilibre)
4e80ca2243
1.64.0
2022-08-02 11:04:08 +01:00
reivilibre
e17e5c97e0
Faster Room Joins: don't leave a stuck room partial state flag if the join fails. ( #13403 )
2022-08-01 16:45:39 +00:00
Patrick Cloke
f8e7a9418a
Fix missing import in federation_event handler. ( #13431 )
...
#13404 removed an import of `Optional` which was still needed
due to #13413 added more usages.
2022-08-01 14:14:29 +00:00
Sean Quah
224d792dd7
Refactor _resolve_state_at_missing_prevs to return an EventContext ( #13404 )
...
Previously, `_resolve_state_at_missing_prevs` returned the resolved
state before an event and a partial state flag. These were unwieldy to
carry around would only ever be used to build an event context. Build
the event context directly instead.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-08-01 13:53:56 +01:00
reivilibre
05aeeb3a80
Enable Complement CI tests in the 'latest deps' test run. ( #13213 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-08-01 10:55:31 +00:00
reivilibre
b817574be7
Re-enable running Complement tests against Synapse with workers. ( #13420 )
2022-08-01 11:51:44 +01:00
Richard van der Hoff
23768ccb4d
Faster joins: fix rejected events becoming un-rejected during resync ( #13413 )
...
Make sure that we re-check the auth rules during state resync, otherwise
rejected events get un-rejected.
2022-08-01 11:20:05 +01:00
Richard van der Hoff
d548d8f18d
Merge tag 'v1.64.0rc2' into develop
...
Synapse 1.64.0rc2 (2022-07-29)
==============================
This RC reintroduces support for `account_threepid_delegates.email`, which was removed in 1.64.0rc1. It remains deprecated and will be removed altogether in a future release. ([\#13406](https://github.com/matrix-org/synapse/issues/13406 ))
2022-07-29 15:15:21 +01:00
Richard van der Hoff
979d94de29
update changelog
2022-07-29 12:27:23 +01:00
Richard van der Hoff
6b4fd8b430
1.64.0rc2
2022-07-29 12:23:13 +01:00
3nprob
98fb610cc0
Revert "Drop support for delegating email validation ( #13192 )" ( #13406 )
...
Reverts commit fa71bb18b5 , and tweaks documentation.
Signed-off-by: 3nprob <git@3n.anonaddy.com >
2022-07-29 10:29:23 +00:00
Brendan Abolivier
24ef1460f6
Explicitly mention which resources support compression in the config guide ( #13221 )
2022-07-29 09:09:57 +00:00
Šimon Brandner
583f22780f
Use stable prefixes for MSC3827: filtering of /publicRooms by room type ( #13370 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-07-27 19:46:57 +01:00
Patrick Cloke
922b771337
Add missing type hints for tests.unittest. ( #13397 )
2022-07-27 17:18:41 +00:00
Will Hunt
502f075e96
Implement MSC3848: Introduce errcodes for specific event sending failures ( #13343 )
...
Implements MSC3848
2022-07-27 13:44:40 +01:00
reivilibre
39be5bc550
Make minor clarifications to the error messages given when we fail to join a room via any server. ( #13160 )
2022-07-27 10:37:50 +00:00
Eric Eastwood
4f3082d6bf
Fix get_pdu asking every remote destination even after it finds an event ( #13346 )
2022-07-27 10:40:04 +01:00
Nick Mills-Barrett
bf3115584c
Copy room serials before handling in get_new_events_as ( #13392 )
2022-07-26 17:45:27 +00:00
reivilibre
543dc9c93e
Extend the release script to automatically push a new SyTest branch, rather than having that be a manual process. ( #12978 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-07-26 18:08:14 +01:00
Olivier Wilkinson (reivilibre)
6236afc621
Merge branch 'release-v1.64' into develop
2022-07-26 16:26:30 +01:00
Patrick Cloke
57d334a13d
Remove the unspecced room_id field in the /hierarchy response. ( #13365 )
...
The `room_id` field represented the parent space for each room
and was made redundant by changes in the API shape where the
`children_state` is now nested underneath each `room`.
The room ID of each child is in the `state_key` field and is still
available.
2022-07-26 08:02:34 -04:00
Olivier Wilkinson (reivilibre)
33788a07ee
Explain less-known term 'Implicit TLS'
2022-07-26 12:56:24 +01:00
Richard van der Hoff
ca3db044a3
Fix infinite loop in partial-state resync ( #13353 )
...
Make sure that we only pull out events from the db once they have no
prev-events with partial state.
2022-07-26 11:47:31 +00:00
Olivier Wilkinson (reivilibre)
5d7e2b0195
Tweak changelog in response to review
2022-07-26 12:45:19 +01:00
Sean Quah
335ebb21cc
Faster room joins: avoid blocking when pulling events with missing prevs ( #13355 )
...
Avoid blocking on full state in `_resolve_state_at_missing_prevs` and
return a new flag indicating whether the resolved state is partial.
Thread that flag around so that it makes it into the event context.
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-07-26 12:39:23 +01:00
Olivier Wilkinson (reivilibre)
f765a40f69
Tweak changelog
2022-07-26 12:26:36 +01:00
Patrick Cloke
8b603299bf
Remove unused argument for get_relations_for_event. ( #13383 )
2022-07-26 07:19:20 -04:00
Olivier Wilkinson (reivilibre)
641412decd
1.64.0rc1
2022-07-26 12:12:22 +01:00
Doug
549c55606a
Disable autocorrect and autocaptialisation when entering username for SSO registration. ( #13350 )
...
When registering a new account via SSO on iOS, the text field becomes pretty annoying as it autocapitalises and autocorrects your input. This PR fixes that (although I have only tested the raw HTML file on the simulator, I'm not sure how to get the complete setup available for testing in the flow).
2022-07-26 08:08:20 +00:00
Matt Holt
935e73efed
Update Caddy reverse proxy documentation ( #13344 )
...
Improve/simplify Caddy examples. Remove Caddy v1 (has long been EOL'ed)
Signed-off-by: Matthew Holt <mholt@users.noreply.github.com >
2022-07-25 16:07:26 +00:00
Jan Schär
e8519e0ed2
Support Implicit TLS for sending emails ( #13317 )
...
Previously, TLS could only be used with STARTTLS.
Add a new option `force_tls`, where TLS is used from the start.
Implicit TLS is recommended over STARTLS,
see https://datatracker.ietf.org/doc/html/rfc8314
Fixes #8046 .
Signed-off-by: Jan Schär <jan@jschaer.ch >
2022-07-25 16:27:19 +01:00
Patrick Cloke
908aeac44a
Additional fixes for opentracing type hints. ( #13362 )
2022-07-25 08:34:06 -04:00
Erik Johnston
43adf2521c
Refactor presence so we can prune user in room caches ( #13313 )
...
See #10826 and #10786 for context as to why we had to disable pruning on
those caches.
Now that `get_users_who_share_room_with_user` is called frequently only
for presence, we just need to make calls to it less frequent and then we
can remove the various levels of caching that is going on.
2022-07-25 09:21:06 +00:00
Eric Eastwood
357561c1a2
Backfill remote event fetched by MSC3030 so we can paginate from it later ( #13205 )
...
Depends on https://github.com/matrix-org/synapse/pull/13320
Complement tests: https://github.com/matrix-org/complement/pull/406
We could use the same method to backfill for `/context` as well in the future, see https://github.com/matrix-org/synapse/issues/3848
2022-07-22 16:00:11 -05:00
Richard van der Hoff
c7c84b81e3
Update config_documentation.md ( #13364 )
...
"changed in" goes before the example
2022-07-22 13:50:20 +01:00
Sean Quah
0fa41a7b17
Update locked frozendict version to 2.3.3 ( #13352 )
...
frozendict 2.3.3 includes fixes for memory leaks that get triggered during `/sync`.
2022-07-22 10:26:09 +01:00
Sean Quah
158782c3ce
Skip soft fail checks for rooms with partial state ( #13354 )
...
When a room has the partial state flag, we may not have an accurate
`m.room.member` event for event senders in the room's current state, and
so cannot perform soft fail checks correctly. Skip the soft fail check
entirely in this case.
As an alternative, we could block until we have full state, but that
would prevent us from receiving incoming events over federation, which
is undesirable.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-07-22 10:13:01 +01:00
Nick Mills-Barrett
86e366a46e
Remove old empty/redundant slaved stores. ( #13349 )
2022-07-21 17:56:45 +00:00
Erik Johnston
0b87eb8e0c
Make DictionaryCache have better expiry properties ( #13292 )
2022-07-21 17:13:44 +01:00
Erik Johnston
13341dde5a
Don't hold onto full state in state cache ( #13324 )
2022-07-21 16:02:02 +01:00
Brendan Abolivier
10e4093839
Call out buildkit is required when building test docker images ( #13338 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-07-21 14:29:58 +02:00
David Robertson
34949ead1f
Track DB txn times w/ two counters, not histogram ( #13342 )
2022-07-21 13:23:05 +01:00
Patrick Cloke
50122754c8
Add missing types to opentracing. ( #13345 )
...
After this change `synapse.logging` is fully typed.
2022-07-21 12:01:52 +00:00
Nick Mills-Barrett
190f49d8ab
Use cache store remove base slaved ( #13329 )
...
This comes from two identical definitions in each of the base stores, and means the base slaved store is now empty and can be removed.
2022-07-21 11:51:30 +01:00
David Robertson
4f57ef0b18
Merge branch 'master' into develop
2022-07-21 11:27:08 +01:00
David Teller
b909d5327b
Document rc_invites.per_issuer, added in v1.63.
...
Resolves #13330 .
Missed in #13125 .
Signed-off-by: David Teller <davidt@element.io >
2022-07-21 11:26:34 +01:00
Eric Eastwood
0f971ca68e
Update get_pdu to return the original, pristine EventBase ( #13320 )
...
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`](7864f33e28/synapse/federation/federation_client.py (L581-L594) ).
2022-07-20 15:58:51 -05:00
Shay
a1b62af2af
Validate federation destinations and log an error if server name is invalid. ( #13318 )
2022-07-20 11:17:26 -07:00
Erik Johnston
d3995049a8
Merge remote-tracking branch 'origin/master' into develop
2022-07-20 14:59:43 +01:00
Erik Johnston
93740cae57
1.63.1
2022-07-20 13:37:00 +01:00
Erik Johnston
b4ae3b0d44
Don't include appservice users when calculating push rules ( #13332 )
...
This can cause a lot of extra load on servers with lots of appservice users. Introduced in #13078
2022-07-20 12:06:13 +01:00
Sean Quah
172ce29b14
Fix spurious warning when fetching state after a missing prev event ( #13258 )
2022-07-19 19:15:54 +01:00
Patrick Cloke
a6895dd576
Add type annotations to trace decorator. ( #13328 )
...
Functions that are decorated with `trace` are now properly typed
and the type hints for them are fixed.
2022-07-19 14:14:30 -04:00
Brendan Abolivier
47822fd2e8
Merge branch 'master' into develop
2022-07-19 16:14:02 +02:00
Erik Johnston
de70b25e84
Reduce memory usage of state group cache ( #13323 )
2022-07-19 14:40:37 +01:00
Patrick Cloke
1efe6b8c41
Stop building Ubuntu 21.10 (Impish Indri) which is end of life. ( #13326 )
2022-07-19 09:08:46 -04:00
Brendan Abolivier
6fccd72f42
Improve precision on validation improvements
2022-07-19 14:53:12 +02:00
Brendan Abolivier
097afd0e0b
1.63.0
2022-07-19 14:43:28 +02:00
Andrew Morgan
6faaf76a32
Remove 'anonymised' from the phone home stats documentation ( #13321 )
2022-07-19 12:38:29 +00:00
villepeh
84c5e6b1fd
Bash script for creating multiple stream writers ( #13271 )
...
Add another bash script to the contrib directory. It creates multiple stream writers and also prints out the example configuration for homeserver.yaml.
Signed-off-by: Ville Petteri Huh.
2022-07-19 12:37:20 +00:00
Jörg Behrmann
87a917e8c8
Add notes when config options were changed to config documentation ( #13314 )
...
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de >
2022-07-19 12:36:29 +00:00
David Robertson
b977867358
Rate limit joins per-room ( #13276 )
2022-07-19 11:45:17 +00:00
Nick Mills-Barrett
2ee0b6ef4b
Safe async event cache ( #13308 )
...
Fix race conditions in the async cache invalidation logic, by separating
the async & local invalidation calls and ensuring any async call i
executed first.
Signed off by Nick @ Beeper (@Fizzadar).
2022-07-19 11:25:29 +00:00
Shay
7864f33e28
Increase batch size of bulk_get_push_rules and _get_joined_profiles_from_event_ids. ( #13300 )
2022-07-18 13:15:23 -07:00
Shay
15edf23626
Improve performance of query _get_subset_users_in_room_with_profiles ( #13299 )
2022-07-18 12:35:45 -07:00
Sean Quah
5526f9fc4f
Fix overcounting of pushers when they are replaced ( #13296 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-07-18 17:39:39 +01:00
Brendan Abolivier
8c60c572f0
Up the dependency on canonicaljson to ^1.5.0 ( #13172 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-07-18 17:30:59 +02:00
Andrew Morgan
bb25dd81e3
Prevent #3679 from appearing in blame results ( #13311 )
2022-07-18 14:02:32 +00:00
Erik Johnston
f721f1baba
Revert "Make all process_replication_rows methods async ( #13304 )" ( #13312 )
...
This reverts commit 5d4028f217 .
2022-07-18 14:28:14 +01:00
Erik Johnston
cf5fa5063d
Don't pull out full state when sending dummy events ( #13310 )
2022-07-18 14:19:11 +01:00
Nick Mills-Barrett
6785b0f39d
Use READ COMMITTED isolation level when purging rooms ( #12942 )
...
To close : #10294 .
Signed off by Nick @ Beeper.
2022-07-18 14:17:24 +01:00
Andrew Morgan
c5f487b7cb
Update expected DB query count when creating a room ( #13307 )
2022-07-18 13:02:25 +01:00
Erik Johnston
c6a05063ff
Don't pull out the full state when creating an event ( #13281 )
2022-07-18 10:05:30 +01:00
Dirk Klimpel
efee345b45
Remove unnecessary json.dumps from tests ( #13303 )
2022-07-17 22:28:45 +01:00
Nick Mills-Barrett
5d4028f217
Make all process_replication_rows methods async ( #13304 )
...
More prep work for asyncronous caching, also makes all process_replication_rows methods consistent (presence handler already is so).
Signed off by Nick @ Beeper (@Fizzadar)
2022-07-17 22:19:43 +01:00
Dirk Klimpel
96cf81e312
Use HTTPStatus constants in place of literals in tests. ( #13297 )
2022-07-15 19:31:27 +00:00
Eric Eastwood
7b67e93d49
Provide more info why we don't have any thumbnails to serve ( #13038 )
...
Fix https://github.com/matrix-org/synapse/issues/13016
## New error code and status
### Before
Previously, we returned a `404` for `/thumbnail` which isn't even in the spec.
```json
{
"errcode": "M_NOT_FOUND",
"error": "Not found [b'hs1', b'tefQeZhmVxoiBfuFQUKRzJxc']"
}
```
### After
What does the spec say?
> 400: The request does not make sense to the server, or the server cannot thumbnail the content. For example, the client requested non-integer dimensions or asked for negatively-sized images.
>
> *-- https://spec.matrix.org/v1.1/client-server-api/#get_matrixmediav3thumbnailservernamemediaid *
Now with this PR, we respond with a `400` when we don't have thumbnails to serve and we explain why we might not have any thumbnails.
```json
{
"errcode": "M_UNKNOWN",
"error": "Cannot find any thumbnails for the requested media ([b'example.com', b'12345']). This might mean the media is not a supported_media_format=(image/jpeg, image/jpg, image/webp, image/gif, image/png) or that thumbnailing failed for some other reason. (Dynamic thumbnails are disabled on this server.)",
}
```
> Cannot find any thumbnails for the requested media ([b'example.com', b'12345']). This might mean the media is not a supported_media_format=(image/jpeg, image/jpg, image/webp, image/gif, image/png) or that thumbnailing failed for some other reason. (Dynamic thumbnails are disabled on this server.)
---
We still respond with a 404 in many other places. But we can iterate on those later and maybe keep some in some specific places after spec updates/clarification: https://github.com/matrix-org/matrix-spec/issues/1122
We can also iterate on the bugs where Synapse doesn't thumbnail when it should in other issues/PRs.
2022-07-15 11:42:21 -05:00
David Robertson
e9ce4d089b
Use and recommend poetry 1.1.14, up from 1.1.12 ( #13285 )
2022-07-15 16:18:47 +01:00
Erik Johnston
0731e0829c
Don't pull out the full state when storing state ( #13274 )
2022-07-15 12:59:45 +00:00
Patrick Cloke
3343035a06
Use a real room in the notification rotation tests. ( #13260 )
...
Instead of manually inserting fake data. This fixes some issues with
having to manually calculate stream orderings and other oddities.
2022-07-15 08:22:43 -04:00
David Robertson
7281591f4c
Use state before join to determine if we _should_perform_remote_join ( #13270 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-07-15 12:20:47 +00:00
Sean Quah
d765ada84f
Update locked frozendict version to 2.3.2 ( #13284 )
...
`frozendict` 2.3.2 includes a fix for a memory leak in
`frozendict.__hash__`. This likely has no impact outside of the
deprecated `/initialSync` endpoint, which uses `StreamToken`s,
containing `RoomStreamToken`s, containing `frozendict`s, as cache keys.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-07-15 13:18:51 +01:00
Richard van der Hoff
b116d3ce00
Bg update to populate new events table columns ( #13215 )
...
These columns were added back in Synapse 1.52, and have been populated for new
events since then. It's now (beyond) time to back-populate them for existing
events.
2022-07-15 12:47:26 +01:00
Erik Johnston
7be954f59b
Fix a bug which could lead to incorrect state ( #13278 )
...
There are two fixes here:
1. A long-standing bug where we incorrectly calculated `delta_ids`; and
2. A bug introduced in #13267 where we got current state incorrect.
2022-07-15 11:06:41 +00:00
Richard van der Hoff
512486bbeb
Docker: copy postgres from base image ( #13279 )
...
When building the docker images for complement testing, copy a preinstalled
complement over from a base image, rather than apt installing it. This avoids
network traffic and is much faster.
2022-07-15 11:13:40 +01:00
Nick Mills-Barrett
cc21a431f3
Async get event cache prep ( #13242 )
...
Some experimental prep work to enable external event caching based on #9379 & #12955 . Doesn't actually move the cache at all, just lays the groundwork for async implemented caches.
Signed off by Nick @ Beeper (@Fizzadar)
2022-07-15 09:30:46 +00:00
Nick Mills-Barrett
21eeacc995
Federation Sender & Appservice Pusher Stream Optimisations ( #13251 )
...
* Replace `get_new_events_for_appservice` with `get_all_new_events_stream`
The functions were near identical and this brings the AS worker closer
to the way federation senders work which can allow for multiple workers
to handle AS traffic.
* Pull received TS alongside events when processing the stream
This avoids an extra query -per event- when both federation sender
and appservice pusher process events.
2022-07-15 09:36:56 +01:00
Richard van der Hoff
fe15a865a5
Rip out auth-event reconciliation code ( #12943 )
...
There is a corner in `_check_event_auth` (long known as "the weird corner") where, if we get an event with auth_events which don't match those we were expecting, we attempt to resolve the diffence between our state and the remote's with a state resolution.
This isn't specced, and there's general agreement we shouldn't be doing it.
However, it turns out that the faster-joins code was relying on it, so we need to introduce something similar (but rather simpler) for that.
2022-07-14 21:52:26 +00:00
Richard van der Hoff
df55b377be
CHANGES.md: fix link to upgrade notes
2022-07-14 15:07:52 +01:00
Erik Johnston
0ca4172b5d
Don't pull out state in compute_event_context for unconflicted state ( #13267 )
2022-07-14 13:57:02 +00:00
David Robertson
599c403d99
Allow rate limiters to passively record actions they cannot limit ( #13253 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-07-13 19:09:42 +00:00
David Robertson
0eb7e69768
Notifier: accept callbacks to fire on room joins ( #13254 )
2022-07-13 19:48:24 +01:00
Jacek Kuśnierz
cc1071598a
Call the v2 identity service /3pid/unbind endpoint, rather than v1. ( #13240 )
...
* Drop support for v1 unbind
Signed-off-by: Jacek Kusnierz <jacek.kusnierz@tum.de >
* Add changelog
Signed-off-by: Jacek Kusnierz <jacek.kusnierz@tum.de >
* Update changelog.d/13240.misc
2022-07-13 19:43:17 +01:00
Shay
ad5761b65c
Add support for room version 10 ( #13220 )
2022-07-13 11:36:02 -07:00
jejo86
2341032cf2
Document advising against publicly exposing the Admin API and provide a usage example ( #13231 )
...
* Admin API request explanation improved
Pointed out, that the Admin API is not accessible by default from any remote computer, but only from the PC `matrix-synapse` is running on.
Added a full, working example, making sure to include the cURL flag `-X`, which needs to be prepended to `GET`, `POST`, `PUT` etc. and listing the full query string including protocol, IP address and port.
* Admin API request explanation improved
* Apply suggestions from code review
Update changelog. Reword prose.
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-07-13 19:33:33 +01:00
Nick Mills-Barrett
982fe29655
Optimise room creation event lookups part 2 ( #13224 )
2022-07-13 19:32:46 +01:00
Patrick Cloke
1d5c80b161
Reduce duplicate code in receipts servlets. ( #13198 )
2022-07-13 13:23:16 -04:00
Brad Murray
3371e1abcb
Add prometheus counters for content types other than events ( #13175 )
2022-07-13 15:18:20 +01:00
Patrick Cloke
4db7862e0f
Drop unused tables from groups/communities. ( #12967 )
...
These tables have been unused since Synapse v1.61.0, although schema version 72
was added in Synapse v1.62.0.
2022-07-13 09:55:14 -04:00
Patrick Cloke
90e9b4fa1e
Do not fail build if complement with workers fails. ( #13266 )
2022-07-13 08:30:42 -04:00
Thomas Weston
0312ff44c6
Fix "add user" admin api error when request contains a "msisdn" threepid ( #13263 )
...
Co-authored-by: Thomas Weston <thomas.weston@clearspancloud.com >
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-07-13 11:33:21 +01:00
Patrick Cloke
1381563988
Inline URL preview documentation. ( #13261 )
...
Inline URL preview documentation near the implementation.
2022-07-12 15:01:58 -04:00
Richard van der Hoff
a366b75b72
Drop unused table event_reference_hashes ( #13218 )
...
This is unused since Synapse 1.60.0 (#12679 ). It's time for it to go.
2022-07-12 18:52:06 +00:00
Jacek Kuśnierz
7218a0ca18
Drop support for calling /_matrix/client/v3/account/3pid/bind without an id_access_token ( #13239 )
...
Fixes #13201
Signed-off-by: Jacek Kusnierz jacek.kusnierz@tum.de
2022-07-12 18:48:29 +00:00
David Robertson
52a0c8f2f7
Rename test case method to add_hashes_and_signatures_from_other_server ( #13255 )
2022-07-12 18:46:32 +00:00
Richard van der Hoff
fa71bb18b5
Drop support for delegating email validation ( #13192 )
...
* Drop support for delegating email validation
Delegating email validation to an IS is insecure (since it allows the owner of
the IS to do a password reset on your HS), and has long been deprecated. It
will now cause a config error at startup.
* Update unit test which checks for email verification
Give it an `email` config instead of a threepid delegate
* Remove unused method `requestEmailToken`
* Simplify config handling for email verification
Rather than an enum and a boolean, all we need here is a single bool, which
says whether we are or are not doing email verification.
* update docs
* changelog
* upgrade.md: fix typo
* update version number
this will be in 1.64, not 1.63
* update version number
this one too
2022-07-12 19:18:53 +01:00
Sean Quah
3f178332d6
Log the stack when waiting for an entire room to be un-partial stated ( #13257 )
...
The stack is already logged when waiting for an event to be un-partial
stated. Log the stack for rooms as well, to aid in debugging.
2022-07-12 18:57:38 +01:00
Shay
6f30eb5b8e
Add info about configuration in the url preview docs ( #13233 )
...
Cross-link doc pages for easier navigation.
2022-07-12 13:48:47 -04:00
Quentin Gliech
b19060a29b
Make the AS login method call Auth.get_user_by_req for checking the AS token. ( #13094 )
...
This gets rid of another usage of get_appservice_by_req, with all the benefits, including correctly tracking the appservice IP and setting the tracing attributes correctly.
Signed-off-by: Quentin Gliech <quenting@element.io >
2022-07-12 18:06:29 +01:00
andrew do
2d82cdafd2
expose whether a room is a space in the Admin API ( #13208 )
2022-07-12 15:30:53 +01:00
Sean Quah
f14c632134
Update changelog once more
2022-07-12 13:01:42 +01:00
Sean Quah
ac7aec0cd3
Reorder and tidy up changelog
2022-07-12 12:52:47 +01:00
Sean Quah
6173d585df
1.63.0rc1
2022-07-12 11:26:25 +01:00
Erik Johnston
e5716b631c
Don't pull out the full state when calculating push actions ( #13078 )
2022-07-11 20:08:39 +00:00
villepeh
bc8eefc1e1
Add a sample bash script to docs for creating multiple worker files ( #13032 )
...
Signed-off-by: Ville Petteri Huh.
2022-07-11 18:33:53 +01:00
Nick Mills-Barrett
92202ce867
Reduce event lookups during room creation by passing known event IDs ( #13210 )
...
Inspired by the room batch handler, this uses previous event inserts to
pre-populate prev events during room creation, reducing the number of
queries required to create a room.
Signed off by Nick @ Beeper (@Fizzadar)
2022-07-11 18:00:12 +01:00
David Teller
11f811470f
Uniformize spam-checker API, part 5: expand other spam-checker callbacks to return Tuple[Codes, dict] ( #13044 )
...
Signed-off-by: David Teller <davidt@element.io >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-07-11 16:52:10 +00:00
Travis Ralston
d736d5cfad
Fix to-device messages not being sent to MSC3202-enabled appservices ( #13235 )
...
The field name was simply incorrect, leading to errors.
2022-07-11 17:22:17 +01:00
Erik Johnston
f1711e1f5c
Remove delay when rotating event push actions ( #13211 )
...
We want to be as up to date as possible, and sleeping doesn't help here
and can mean we fall behind.
2022-07-11 16:51:30 +01:00
Andrew Morgan
5ef2f87569
Document the 'databases' homeserver config option ( #13212 )
2022-07-11 14:05:24 +00:00
Erik Johnston
e610128c50
Add a filter_event_for_clients_with_state function ( #13222 )
2022-07-11 14:14:09 +01:00
Travis Ralston
a113011794
Fix appservice EDUs failing to send if the EDU doesn't have a room ID ( #13236 )
...
* Fix appservice EDUs failing to send if the EDU doesn't have a room ID
As is in the case of presence.
* changelog
* linter
* fix linter again
2022-07-11 14:12:28 +01:00
David Robertson
28d96cb2b4
Ensure portdb selects _all_ rows with negative rowids ( #13226 )
2022-07-11 10:36:18 +01:00
Sumner Evans
739adf1551
editorconfig: add max_line_length for Python files ( #13228 )
...
See the documentation for the property here:
https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#max_line_length
Signed-off-by: Sumner Evans <me@sumnerevans.com >
2022-07-08 16:40:25 +00:00
Erik Johnston
757bc0caef
Fix notification count after a highlighted message ( #13223 )
...
Fixes #13196
Broke by #13005
2022-07-08 14:00:29 +01:00
Eric Eastwood
a962c5a56d
Fix exception when using MSC3030 to look for remote federated events before room creation ( #13197 )
...
Complement tests: https://github.com/matrix-org/complement/pull/405
This happens when you have some messages imported before the room is created.
Then use MSC3030 to look backwards before the room creation from a remote
federated server. The server won't find anything locally, but will ask over
federation which will have the remote event. The previous logic would
choke on not having the local event assigned.
```
Failed to fetch /timestamp_to_event from hs2 because of exception(UnboundLocalError) local variable 'local_event' referenced before assignment args=("local variable 'local_event' referenced before assignment",)
```
2022-07-07 11:52:45 -05:00
reivilibre
0c95313a44
Add --build-only option to complement.sh to prevent actually running Complement. ( #13158 )
2022-07-07 14:18:38 +00:00
Petr Vaněk
bb20113c8f
Remove obsolete RoomEventsStoreTestCase ( #13200 )
...
All tests are prefixed with `STALE_` and therefore they are silently
skipped. They were moved to `STALE_` in version `v0.5.0` in commit
2fcce3b3c5 - `Remove stale tests`.
Tests from `RoomEventsStoreTestCase` class are not used for last 8
years, I believe the best would be to remove them entirely.
Signed-off-by: Petr Vaněk <arkamar@atlas.cz >
2022-07-07 13:47:26 +01:00
Sean Quah
1391a76cd2
Faster room joins: fix race in recalculation of current room state ( #13151 )
...
Bounce recalculation of current state to the correct event persister and
move recalculation of current state into the event persistence queue, to
avoid concurrent updates to a room's current state.
Also give recalculation of a room's current state a real stream
ordering.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-07-07 12:19:31 +00:00
Nick Mills-Barrett
2b5ab8e367
Use a single query in ProfileHandler.get_profile ( #13209 )
2022-07-07 11:02:09 +00:00
dependabot[bot]
4aaeb87dad
Bump lxml from 4.8.0 to 4.9.1 ( #13207 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io >
2022-07-07 10:56:52 +00:00
reivilibre
fb7d24ab6d
Check that auto_vacuum is disabled when porting a SQLite database to Postgres, as VACUUMs must not be performed between runs of the script. ( #13195 )
2022-07-07 10:08:04 +00:00
David Teller
57f6f59e3e
Make _get_state_map_for_room not break when room state events don't contain an event id. ( #13174 )
...
Method `_get_state_map_for_room` seems to break in presence of some ill-formed events in the database. Reimplementing this method to use `get_current_state`, which is more robust to such events.
2022-07-07 08:14:32 +00:00
Patrick Cloke
dcc7873700
Add information on how the Synapse team does reviews. ( #13132 )
2022-07-06 07:30:58 -04:00
Erik Johnston
a0f51b059c
Fix bug where we failed to delete old push actions ( #13194 )
...
This happened if we encountered a stream ordering in `event_push_actions` that had more rows than the batch size of the delete, as If we don't delete any rows in an iteration then the next time round we get the exact same stream ordering and get stuck.
2022-07-06 12:09:19 +01:00
Sean Quah
68db233f0c
Handle race between persisting an event and un-partial stating a room ( #13100 )
...
Whenever we want to persist an event, we first compute an event context,
which includes the state at the event and a flag indicating whether the
state is partial. After a lot of processing, we finally try to store the
event in the database, which can fail for partial state events when the
containing room has been un-partial stated in the meantime.
We detect the race as a foreign key constraint failure in the data store
layer and turn it into a special `PartialStateConflictError` exception,
which makes its way up to the method in which we computed the event
context.
To make things difficult, the exception needs to cross a replication
request: `/fed_send_events` for events coming over federation and
`/send_event` for events from clients. We transport the
`PartialStateConflictError` as a `409 Conflict` over replication and
turn `409`s back into `PartialStateConflictError`s on the worker making
the request.
All client events go through
`EventCreationHandler.handle_new_client_event`, which is called in
*a lot* of places. Instead of trying to update all the code which
creates client events, we turn the `PartialStateConflictError` into a
`429 Too Many Requests` in
`EventCreationHandler.handle_new_client_event` and hope that clients
take it as a hint to retry their request.
On the federation event side, there are 7 places which compute event
contexts. 4 of them use outlier event contexts:
`FederationEventHandler._auth_and_persist_outliers_inner`,
`FederationHandler.do_knock`, `FederationHandler.on_invite_request` and
`FederationHandler.do_remotely_reject_invite`. These events won't have
the partial state flag, so we do not need to do anything for then.
The remaining 3 paths which create events are
`FederationEventHandler.process_remote_join`,
`FederationEventHandler.on_send_membership_event` and
`FederationEventHandler._process_received_pdu`.
We can't experience the race in `process_remote_join`, unless we're
handling an additional join into a partial state room, which currently
blocks, so we make no attempt to handle it correctly.
`on_send_membership_event` is only called by
`FederationServer._on_send_membership_event`, so we catch the
`PartialStateConflictError` there and retry just once.
`_process_received_pdu` is called by `on_receive_pdu` for incoming
events and `_process_pulled_event` for backfill. The latter should never
try to persist partial state events, so we ignore it. We catch the
`PartialStateConflictError` in `on_receive_pdu` and retry just once.
Refering to the graph of code paths in
https://github.com/matrix-org/synapse/issues/12988#issuecomment-1156857648
may make the above make more sense.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-07-05 16:12:52 +01:00
David Robertson
6ba732fefe
Type tests.utils ( #13028 )
...
* Cast to postgres types when handling postgres db
* Remove unused method
* Easy annotations
* Annotate create_room
* Use `ParamSpec` to annotate looping_call
* Annotate `default_config`
* Track `now` as a float
`time_ms` returns an int like the proper Synapse `Clock`
* Introduce a `Timer` dataclass
* Introduce a Looper type
* Suppress checking of a mock
* tests.utils is typed
* Changelog
* Whoops, import ParamSpec from typing_extensions
* ditch the psycopg2 casts
2022-07-05 15:13:47 +01:00
reivilibre
68695d8007
Factor out some common Complement CI setup commands to a script. ( #13157 )
2022-07-05 14:24:42 +01:00
Erik Johnston
578a5e24a9
Use upserts for updating event_push_summary ( #13153 )
2022-07-05 13:51:04 +01:00
David Robertson
347165bc06
Merge branch 'master' into develop
2022-07-05 13:25:29 +01:00
Eric Eastwood
2c2a42cc10
Fix application service not being able to join remote federated room without a profile set ( #13131 )
...
Fix https://github.com/matrix-org/synapse/issues/4778
Complement tests: https://github.com/matrix-org/complement/pull/399
2022-07-05 05:56:06 -05:00
David Robertson
b51a0f4be0
Mention the spamchecker plugins
2022-07-05 11:19:54 +01:00
David Robertson
cf63d57dce
1.62.0
2022-07-05 11:14:27 +01:00
reivilibre
65e675504f
Add the ability to set the log level using the SYNAPSE_TEST_LOG_LEVEL environment when using complement.sh. ( #13152 )
2022-07-05 09:46:20 +00:00
Dirk Klimpel
e514495465
Add missing links to config options ( #13166 )
2022-07-05 10:10:26 +01:00
David Robertson
d102ad67fd
annotate tests.server.FakeChannel ( #13136 )
2022-07-04 18:08:56 +01:00
Brendan Abolivier
5b5c943e7d
Revert "Up the dependency on canonicaljson to ^1.5.0"
...
This reverts commit dcc4e0621c .
2022-07-04 17:48:09 +01:00
Brendan Abolivier
dcc4e0621c
Up the dependency on canonicaljson to ^1.5.0
2022-07-04 17:47:51 +01:00
Andrew Morgan
6180e1bc4b
Merge tag 'v1.62.0rc3' into develop
...
Synapse 1.62.0rc3 (2022-07-04)
==============================
Bugfixes
--------
- Update the version of the [ldap3 plugin](https://github.com/matrix-org/matrix-synapse-ldap3/ ) included in the `matrixdotorg/synapse` DockerHub images and the Debian packages hosted on `packages.matrix.org` to 0.2.1. This fixes [a bug](https://github.com/matrix-org/matrix-synapse-ldap3/pull/163 ) with usernames containing uppercase characters. ([\#13156](https://github.com/matrix-org/synapse/issues/13156 ))
- Fix a bug introduced in Synapse 1.62.0rc1 affecting unread counts for users on small servers. ([\#13168](https://github.com/matrix-org/synapse/issues/13168 ))
2022-07-04 17:35:06 +01:00
Andrew Morgan
95a260da73
Update changelog for v1.62.0rc2
2022-07-04 16:29:04 +01:00
Andrew Morgan
046d87756b
1.62.0rc3
2022-07-04 16:16:47 +01:00
Erik Johnston
723ce73d02
Fix stuck notification counts on small servers ( #13168 )
2022-07-04 16:02:21 +01:00
Andrew Morgan
9820665597
Remove tests/utils.py from mypy's exclude list ( #13159 )
2022-07-04 15:15:33 +01:00
Till
fa10468eb4
[Complement] Allow device_name lookup over federation ( #13167 )
2022-07-04 12:34:50 +00:00
David Robertson
8d7491a152
matrix-synapse-ldap3: 0.2.0 -> 0.2.1 ( #13156 )
2022-07-01 17:01:54 +00:00
reivilibre
c04e25789e
Enable Complement testing in the 'Twisted Trunk' CI runs. ( #13079 )
2022-07-01 15:42:49 +00:00
Richard van der Hoff
fe910fb10e
complement.sh: Permit skipping docker build ( #13143 )
...
Add a `-f` argument to `complement.sh` to skip the docker build
2022-07-01 12:33:59 +00:00
Andrew Morgan
5296c09473
Merge tag 'v1.62.0rc2' into develop
...
Synapse 1.62.0rc2 (2022-07-01)
==============================
Bugfixes
--------
- Fix unread counts for users on large servers. Introduced in v1.62.0rc1. ([\#13140](https://github.com/matrix-org/synapse/issues/13140 ))
- Fix DB performance when deleting old push notifications. Introduced in v1.62.0rc1. ([\#13141](https://github.com/matrix-org/synapse/issues/13141 ))
2022-07-01 12:29:23 +01:00
Andrew Morgan
d40b2708cf
1.62.0rc2
2022-07-01 11:42:57 +01:00
David Robertson
d70ff5cc35
Extra validation for rest/client/account_data ( #13148 )
...
* Extra validation for rest/client/account_data
This is a fairly simple endpoint and we did pretty well here.
* Changelog
2022-07-01 11:04:56 +01:00
Richard van der Hoff
6da861ae69
_process_received_pdu: Improve exception handling (#13145 )
...
`_check_event_auth` is expected to raise `AuthError`s, so no need to log it
again.
2022-07-01 10:52:10 +01:00
Richard van der Hoff
8c2825276f
Skip waiting for full state for incoming events ( #13144 )
...
When we receive an event over federation during a faster join, there is no need
to wait for full state, since we have a whole reconciliation process designed
to take the partial state into account.
2022-07-01 10:19:27 +01:00
Andrew Morgan
c0efc689cb
Add documentation for phone home stats ( #13086 )
2022-06-30 22:12:28 +01:00
Jacek Kuśnierz
50f0e4028b
Allow dependency errors to pass through ( #13113 )
...
Signed-off-by: Jacek Kusnierz <jacek.kusnierz@tum.de >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-06-30 19:48:04 +02:00
Patrick Cloke
b0366853ca
Merge remote-tracking branch 'origin/release-v1.62' into develop
2022-06-30 13:27:24 -04:00
Shay
046a6513bc
Don't process /send requests for users who have hit their ratelimit ( #13134 )
2022-06-30 09:22:40 -07:00
Shay
8330fc9953
Cleanup references to sample config in the docs and redirect users to configuration manual ( #13077 )
2022-06-30 09:21:39 -07:00
Andrew Morgan
0ceb3af10b
Add a link to the configuration manual from the homeserver sample config documentation page ( #13139 )
2022-06-30 15:59:11 +01:00
Erik Johnston
dbce28b2f1
Fix unread counts on large servers ( #13140 )
2022-06-30 15:08:40 +01:00
Erik Johnston
a3a05c812d
Add index to help delete old push actions ( #13141 )
2022-06-30 14:05:49 +00:00
Patrick Cloke
6ad012ef89
More type hints for synapse.logging ( #13103 )
...
Completes type hints for synapse.logging.scopecontextmanager and (partially)
for synapse.logging.opentracing.
2022-06-30 13:05:06 +00:00
reivilibre
9667bad55d
Improve startup times in Complement test runs against workers, particularly in CPU-constrained environments. ( #13127 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-06-30 11:58:12 +00:00
David Robertson
09f6e43025
Actually typecheck tests.test_server ( #13135 )
2022-06-30 10:45:47 +01:00
David Teller
80c7a06777
Rate limiting invites per issuer ( #13125 )
...
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-06-30 09:44:47 +00:00
Brendan Abolivier
4d3b8fb23f
Don't actually one-line the SQL statements we send to the DB ( #13129 )
2022-06-30 10:43:24 +02:00
Šimon Brandner
13e359aec8
Implement MSC3827: Filtering of /publicRooms by room type ( #13031 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-06-29 17:12:45 +00:00
Moritz Stückler
e714b8a057
Fix documentation header for allow_public_rooms_over_federation ( #13116 )
...
Signed-off-by: Moritz Stückler <moritz.stueckler@gmail.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-06-29 18:41:39 +02:00
Erik Johnston
92a0c18ef0
Improve performance of getting unread counts in rooms ( #13119 )
2022-06-29 10:32:38 +00:00
jejo86
cdc0259449
Document the --report-stats argument ( #13029 )
...
Signed-off-by: jejo86 <28619134+jejo86@users.noreply.github.com >
2022-06-29 10:24:10 +01:00
Andrew Morgan
79c6b9e12b
Merge branch 'develop' into release-v1.62
2022-06-28 16:47:21 +01:00
Andrew Morgan
bc9b0912cc
fix linting error from the 1.61.1 main -> develop merge
2022-06-28 16:47:04 +01:00
Andrew Morgan
b210146fd9
1.62.0rc1
2022-06-28 16:42:44 +01:00
Andrew Morgan
6cba6a51af
Merge branch 'master' into develop
2022-06-28 15:19:48 +01:00
Andrew Morgan
09d89ddc1f
Linkify GHSA commit
2022-06-28 14:41:06 +01:00
Andrew Morgan
ea10cdbea7
1.61.1
2022-06-28 14:37:35 +01:00
reivilibre
fa13080618
Merge pull request from GHSA-22p3-qrh9-cx32
...
* Make _iterate_over_text easier to read by using simple data structures
* Prefer a set of tags to ignore
In my tests, it's 4x faster to check for containment in a set of this size
* Add a stack size limit to _iterate_over_text
* Continue accepting the case where there is no body element
* Use an early return instead for None
Co-authored-by: Richard van der Hoff <richard@matrix.org >
2022-06-28 14:29:08 +01:00
Erik Johnston
7469824d58
Fix serialization errors when rotating notifications ( #13118 )
2022-06-28 13:13:44 +01:00
David Robertson
f1145563f6
Extra type annotations in test_server ( #13124 )
2022-06-28 12:12:17 +00:00
santhoshivan23
6b99a66fe0
Remove unspecced DELETE endpoint that modifies room visibility ( #13123 )
2022-06-28 11:22:59 +00:00
Šimon Brandner
1017f09c18
Update MSC3786 implementation: Check the state_key ( #12939 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-06-27 20:28:34 +01:00
Robert Long
9b683ea80f
Add Cross-Origin-Resource-Policy header to thumbnail and download media endpoints ( #12944 )
2022-06-27 14:44:05 +01:00
reivilibre
3c5549e74a
Refactor the Dockerfile-workers configuration script to use Jinja2 templates in Synapse workers' Supervisord blocks. ( #13054 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-06-27 11:43:20 +01:00
Aaron Raimist
3ceaf1462d
Remove docs for Delete Group Admin API ( #13112 )
...
This API no longer exists.
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2022-06-27 11:15:25 +01:00
santhoshivan23
d54909956e
validate room alias before interacting with the room directory ( #13106 )
2022-06-22 15:32:18 +01:00
David Robertson
f33356e8f8
Use caret (semver bounds) for matrix.org packages ( #13082 )
2022-06-17 19:07:04 +01:00
Shay
3d94d07db3
Update opentracing docs to reference the configuration manual rather than the configuation file. ( #13076 )
2022-06-17 10:47:38 -07:00
Richard van der Hoff
d4b1c0d800
Fix inconsistencies in event validation ( #13088 )
2022-06-17 16:30:59 +01:00
Richard van der Hoff
e16ea87d0f
Fix inconsistencies in event validation for m.room.create events ( #13087 )
...
* Extend the auth rule checks for `m.room.create` events
... and move them up to the top of the function. Since the no auth_events are
allowed for m.room.create events, we may as well get the m.room.create event
checks out of the way first.
* Add a test for create events with prev_events
2022-06-17 13:56:46 +00:00
Patrick Cloke
d3d84685ce
Add type hints to event push actions tests. ( #13099 )
2022-06-17 12:38:13 +00:00
reivilibre
b26cbe3d45
Fix type error that made its way onto develop ( #13098 )
...
* Fix type error introduced accidentally by #13045
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-06-17 13:05:27 +01:00
Richard van der Hoff
5d6f55959e
Update info on downstream debs ( #13095 )
2022-06-17 12:47:22 +01:00
Quentin Gliech
73af10f419
Simplify the alias deletion logic as an application service. ( #13093 )
2022-06-17 12:19:22 +01:00
Erik Johnston
5ef05c70c3
Rotate notifications more frequently ( #13096 )
2022-06-17 10:58:00 +00:00
Erik Johnston
5099b5ecc7
Use new device_list_changes_in_room table when getting device list changes ( #13045 )
2022-06-17 11:42:03 +01:00
Quentin Gliech
c6d6176411
Allow MSC3030 'timestamp_to_event' calls from anyone on world-readable rooms. ( #13062 )
...
Signed-off-by: Quentin Gliech <quenting@element.io >
2022-06-17 11:39:26 +01:00
Sean Quah
9372f6f842
Fix logging context misuse when we fail to persist a federation event ( #13089 )
...
When we fail to persist a federation event, we kick off a task to remove
its push actions in the background, using the current logging context.
Since we don't `await` that task, we may finish our logging context
before the task finishes. There's no reason to not `await` the task, so
let's do that.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-06-17 10:22:50 +01:00
Erik Johnston
8ceed5e6b5
Add desc to get_earliest_token_for_stats ( #13085 )
2022-06-16 17:50:46 +00:00
reivilibre
90cadcd403
Add a Subject Alternative Name to the certificate generated for Complement tests. ( #13071 )
2022-06-16 12:43:21 +01:00
Patrick Cloke
0fcc0ae37c
Improve URL previews for sites with only Twitter card information. ( #13056 )
...
Pull out `twitter:` meta tags when generating a preview and
use it to augment any `og:` meta tags.
Prefers Open Graph information over Twitter card information.
2022-06-16 07:41:57 -04:00
reivilibre
7552615247
Reduce the duplication of code that invokes the rate limiter. ( #13070 )
2022-06-16 12:40:29 +01:00
Richard van der Hoff
1e0044e8f9
Complement: use SQLite by default ( #13075 )
...
If no database is configured explicitly, use sqlite.
This means that you don't have to pass any variables into the image.
2022-06-16 12:12:26 +01:00
Jacek Kuśnierz
0ef1307619
Add custom well-known ( #13035 )
...
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-06-16 11:48:18 +01:00
reivilibre
ffe2464836
Add instructions for running Complement with gotestfmt-formatted output locally. ( #13073 )
2022-06-16 09:31:10 +00:00
Richard van der Hoff
8ecf6be1e1
Move some event auth checks out to a different method ( #13065 )
...
* Add auth events to events used in tests
* Move some event auth checks out to a different method
Some of the event auth checks apply to an event's auth_events, rather than the
state at the event - which means they can play no part in state
resolution. Move them out to a separate method.
* Rename check_auth_rules_for_event
Now it only checks the state-dependent auth rules, it needs a better name.
2022-06-15 19:48:22 +01:00
Shay
cba1c5cbc2
Add headers to individual options in config documentation to allow for linking. ( #13055 )
2022-06-15 11:31:46 -07:00
Sean Quah
99d3931974
Add more tests for room upgrades ( #13074 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-06-15 18:58:23 +01:00
Erik Johnston
c95b04bb0e
Change default sync_response_cache_duration ( #13042 )
2022-06-15 16:55:20 +00:00
Hannes Lerchl
7d99414edf
Replace pyjwt with authlib in org.matrix.login.jwt ( #13011 )
2022-06-15 16:45:16 +00:00
reivilibre
e12ff697a4
Sort failing jobs in Complement CI to the top of the logs to make them easier to read. ( #13057 )
2022-06-15 16:13:36 +00:00
Erik Johnston
de334ac183
Add a CI job to check that schema deltas are in the correct folder. ( #13063 )
2022-06-15 16:27:18 +01:00
David Robertson
97e9fbe1b2
Type annotations in synapse.databases.main.devices ( #13025 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-06-15 15:20:04 +00:00
Erik Johnston
0d1d3e0708
Speed up get_unread_event_push_actions_by_room ( #13005 )
...
Fixes #11887 hopefully.
The core change here is that `event_push_summary` now holds a summary of counts up until a much more recent point, meaning that the range of rows we need to count in `event_push_actions` is much smaller.
This needs two major changes:
1. When we get a receipt we need to recalculate `event_push_summary` rather than just delete it
2. The logic for deleting `event_push_actions` is now divorced from calculating `event_push_summary`.
In future it would be good to calculate `event_push_summary` while we persist a new event (it should just be a case of adding one to the relevant rows in `event_push_summary`), as that will further simplify the get counts logic and remove the need for us to periodically update `event_push_summary` in a background job.
2022-06-15 15:17:14 +00:00
Erik Johnston
9ad2197fa7
Rename complement-developonly ( #13046 )
2022-06-15 15:11:42 +00:00
reivilibre
212be2edc1
Use updated update_user_directory_from_worker options in Complement tests. ( #13069 )
2022-06-15 15:54:32 +01:00
reivilibre
538044ac01
Collapse Docker build commands in Complement CI runs to make the logs easier to read. ( #13058 )
2022-06-15 14:42:27 +00:00
David Robertson
941dc3db13
Track a histogram of state res durations ( #13036 )
2022-06-15 15:19:49 +01:00
reivilibre
0dbdc39940
Fix a long-standing bug which meant that rate limiting was not restrictive enough in some cases. ( #13018 )
2022-06-15 14:11:55 +00:00
Brendan Abolivier
417f4cf40b
Don't use keyword arguments when initialising modules ( #13060 )
2022-06-15 15:36:16 +02:00
Richard van der Hoff
75fb10ee45
Clean up schema for event_edges ( #12893 )
...
* Remove redundant references to `event_edges.room_id`
We don't need to care about the room_id here, because we are already checking
the event id.
* Clean up the event_edges table
We make a number of changes to `event_edges`:
* We give the `room_id` and `is_state` columns defaults (null and false
respectively) so that we can stop populating them.
* We drop any rows that have `is_state` set true - they should no longer
exist.
* We drop any rows that do not exist in `events` - these should not exist
either.
* We drop the old unique constraint on all the colums, which wasn't much use.
* We create a new unique index on `(event_id, prev_event_id)`.
* We add a foreign key constraint to `events`.
These happen rather differently depending on whether we are on Postgres or
SQLite. For SQLite, we just rebuild the whole table, copying only the rows we
want to keep. For Postgres, we try to do things in the background as much as
possible.
* Stop populating `event_edges.room_id` and `is_state`
We can just rely on the defaults.
2022-06-15 12:29:42 +01:00
David Robertson
a4ae1406d1
Fix typechecks against twisted trunk ( #13061 )
2022-06-15 11:49:58 +01:00
Patrick Cloke
bd03332a1d
Merge branch 'master' into develop
2022-06-14 14:27:53 -04:00
Patrick Cloke
21e6c0ed64
Fix incorrect link in changelog.
2022-06-14 14:27:17 -04:00
reivilibre
5b645ae2ad
Refactor entry points so that they all have a main function. ( #13052 )
2022-06-14 17:41:06 +00:00
David Robertson
c99b511db9
Fix destination_is errors seen in sentry. ( #13041 )
...
* Rename test_fedclient to match its source file
* Require at least one destination to be truthy
* Explicitly validate user ID in profile endpoint GETs
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-06-14 18:28:26 +01:00
Erik Johnston
aef398457f
Up complement time outs ( #13048 )
2022-06-14 17:59:06 +01:00
Brendan Abolivier
bdb6628dcf
Fix version number in spam checker callbacks doc ( #13047 )
2022-06-14 17:24:25 +02:00
Shay
493c2fc44a
Remove code generating comments in configuration file ( #12941 )
2022-06-14 07:53:42 -07:00
Patrick Cloke
5f4ecf759d
Rename delta to apply in the proper schema version. ( #13050 )
2022-06-14 14:34:04 +00:00
Quentin Gliech
fe1daad672
Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. ( #12986 )
...
This simplifies the access token verification logic by removing the `rights`
parameter which was only ever used for the unsubscribe link in email
notifications. The latter has been moved under the `/_synapse` namespace,
since it is not a standard API.
This also makes the email verification link more secure, by embedding the
app_id and pushkey in the macaroon and verifying it. This prevents the user
from tampering the query parameters of that unsubscribe link.
Macaroon generation is refactored:
- Centralised all macaroon generation and verification logic to the
`MacaroonGenerator`
- Moved to `synapse.utils`
- Changed the constructor to require only a `Clock`, hostname, and a secret key
(instead of a full `Homeserver`).
- Added tests for all methods.
2022-06-14 09:12:08 -04:00
reivilibre
09a3c5ce0b
Fix Complement runs always being Postgres ( #13034 )
...
* Fix Complement runs always being Postgres
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-06-14 13:13:35 +01:00
Erik Johnston
5d139f578d
Merge branch 'release-v1.61' into develop
2022-06-14 12:00:02 +01:00
Erik Johnston
b8bf61230c
Fixup upgrades
2022-06-14 11:56:45 +01:00
Erik Johnston
e87355f201
Update changelog
2022-06-14 11:49:33 +01:00
Erik Johnston
d580014e22
1.61.0
2022-06-14 11:44:27 +01:00
Sami Olmari
7b54badd31
Mention removed community/group worker endpoints in upgrade.md ( #13023 )
2022-06-14 11:40:02 +01:00
Sami Olmari
a542a92c57
Mention removed community/group worker endpoints in upgrade.md ( #13023 )
2022-06-14 11:35:22 +01:00
Quentin Gliech
92103cb2c8
Decouple synapse.api.auth_blocking.AuthBlocking from synapse.api.auth.Auth. ( #13021 )
2022-06-14 09:51:15 +01:00
David Teller
a164a46038
Uniformize spam-checker API, part 4: port other spam-checker callbacks to return Union[Allow, Codes]. ( #12857 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-06-13 18:16:16 +00:00
Patrick Cloke
53b77b203a
Replace noop background updates with DELETE. ( #12954 )
...
Removes the `register_noop_background_update` and deletes the background
updates directly in a delta file.
2022-06-13 14:06:27 -04:00
Richard van der Hoff
f68b5e5773
Merge branch 'rav/simplify_event_auth_interface' into develop
2022-06-13 11:34:59 +01:00
Richard van der Hoff
a6173a16fe
changelog
2022-06-12 23:13:10 +01:00
Richard van der Hoff
c1b28b8842
Remove redundant room_version param from check_auth_rules_from_context
...
It's now implied by the room_version property on the event.
2022-06-12 23:13:10 +01:00
Richard van der Hoff
0d9d36b15c
Remove room_version param from check_auth_rules_for_event
...
Instead, use the `room_version` property of the event we're checking.
The `room_version` was originally added as a parameter somewhere around #4482 ,
but really it's been redundant since #6875 added a `room_version` field to `EventBase`.
2022-06-12 23:13:10 +01:00
Richard van der Hoff
68be42f6b6
Remove room_version param from validate_event_for_room_version
...
Instead, use the `room_version` property of the event we're validating.
The `room_version` was originally added as a parameter somewhere around #4482 ,
but really it's been redundant since #6875 added a `room_version` field to `EventBase`.
2022-06-12 23:13:09 +01:00
Richard van der Hoff
2959184a42
EventAuthTestCase: build events for the right room version
...
In practice, when we run the auth rules, all of the events have the right room
version. Let's stop building Room V1 events for these tests and use the right
version.
2022-06-12 23:13:09 +01:00
David Robertson
cfff055fa2
Revert "Changelog"
...
This reverts commit ae09cc2ee4 .
This commit was intended for a different branch.
2022-06-10 19:33:21 +01:00
David Robertson
ae09cc2ee4
Changelog
2022-06-10 19:32:40 +01:00
David Robertson
4579445cc5
Add missing TOC link to poetry cheat sheet ( #13022 )
...
Missed by #12475 .
2022-06-10 15:47:49 +01:00
Patrick Cloke
84cd0fe4e2
Fix-up the contrib/graph scripts. ( #13013 )
...
* Clarifies comments and documentation.
* Adds type-hints.
* Fixes Python 3 compatibility (and runs pyupgrade).
* Updates for changes in Synapse internals.
2022-06-10 08:30:14 -04:00
Patrick Cloke
81608490e3
Stop depending on room_id to be returned for children state in the hierarchy response. ( #12991 )
...
The `room_id` field was removed from MSC2946 before
it was accepted. It was initially kept for backwards compatibility
and should be removed now that the stable form of the API
is used.
This change only stops Synapse from validating that it is returned,
a future PR will remove returning it as part of the response.
2022-06-10 07:15:51 -04:00
reivilibre
3d1d510fa9
Enable testing against PostgreSQL databases in Complement CI. ( #12965 )
2022-06-09 14:16:34 +01:00
Patrick Cloke
1df22e16df
Fix example of running complement.sh. ( #12990 )
2022-06-09 07:21:15 -04:00
Richard van der Hoff
7c6b2204d1
Faster joins: add issue links to the TODOs ( #13004 )
...
... to help us keep track of these things
2022-06-09 10:13:03 +00:00
David Robertson
97053c9406
Type annotations for test_v2 ( #12985 )
2022-06-09 09:48:04 +01:00
Nick Mills-Barrett
04ca3a52f6
Use READ COMMITTED isolation level when inserting read receipts ( #12957 )
2022-06-09 09:44:16 +01:00
Patrick Cloke
dd2d66b0c9
Move the (unstable) dir parameter for /relations behind an experimental flag. ( #12984 )
...
MSC3715 defines this parameter, but the unstable version of it should be
behind an experimental flag.
2022-06-08 09:00:35 -04:00
reivilibre
3c8f1290b8
Use a GitHub form for issues rather than a hard-to-read, easy-to-ignore template. ( #12982 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-06-08 11:11:02 +00:00
reivilibre
67f51c84f8
Merge the Complement testing Docker images into a single, multi-purpose image. ( #12881 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-06-08 09:57:05 +00:00
James
c316fe8d4a
Docker Compose Worker Documentation and Examples ( #12737 )
2022-06-08 10:26:42 +01:00
Sean Quah
3c1c40d843
Clean up the test code for client disconnections ( #12929 )
...
* 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`
2022-06-07 18:17:32 +01:00
David Robertson
586bfc6dc0
Use dummy fallback engines if imports fail ( #12979 )
2022-06-07 17:33:55 +01:00
Sean Quah
a10cc5f824
Test cancellation at every await during request handling ( #12674 )
...
* Add tests for `/rooms/<room_id>/members` cancellation.
* Add tests for `/rooms/<room_id>/state` cancellation.
Signed-off-by: Sean Quah <seanq@element.io >
2022-06-07 17:14:47 +01:00
Olivier Wilkinson (reivilibre)
00d915b2a7
Merge branch 'master' into develop
2022-06-07 16:59:41 +01:00
Daniel Aloni
b5a3aecf18
Return the same error message from /login when password is incorrect and when account doesn't exist. ( #12738 )
2022-06-07 14:58:48 +00:00
David Robertson
f30bcbd84a
Fix Synapse git info missing in version strings ( #12973 )
2022-06-07 15:24:11 +01:00
Erik Johnston
a7e506ddee
Reduce amount of state we pull out when attempting to send catchup PDUs. ( #12963 )
...
* Don't pull out state for catchup
* Newsfile
* Merge newsfile
2022-06-07 14:35:56 +01:00
Olivier Wilkinson (reivilibre)
8a499d7a60
Correct typographical errors in the changelog
2022-06-07 14:22:06 +01:00
Olivier Wilkinson (reivilibre)
495fbf5d63
1.61.0rc1
2022-06-07 13:18:02 +01:00
Patrick Cloke
d2fd7f7b5c
Fix a stale comment in get_room_version_id_txn. ( #12969 )
2022-06-07 07:44:31 -04:00
Patrick Cloke
9dc3293e0b
Consolidate the logic of delete_device/delete_devices. ( #12970 )
...
By always using delete_devices and sometimes passing a list
with a single device ID.
Previously these methods had gotten out of sync with each
other and it seems there's little benefit to the single-device
variant.
2022-06-07 07:43:35 -04:00
Olivier Wilkinson (reivilibre)
a68dfef1f7
Fix Debian changelog
2022-06-07 12:42:23 +01:00
Andrew Morgan
c51f5b9592
Prevent breaking old sqlite's when media retention is enabled ( #12977 )
2022-06-07 11:28:08 +00:00
Andrew Morgan
a47636c570
Prevent local quarantined media from being claimed by media retention ( #12972 )
2022-06-07 10:53:47 +00:00
Patrick Cloke
f7baffd8ec
Remove remaining pieces of groups code. ( #12966 )
...
* Remove an unused stream ID generator.
* Remove the now unused remote profile cache.
2022-06-06 13:20:05 -04:00
Erik Johnston
44de53bb79
Reduce state pulled from DB due to sending typing and receipts over federation ( #12964 )
...
Reducing the amount of state we pull from the DB is useful as fetching state is expensive in terms of DB, CPU and memory.
2022-06-06 16:46:11 +01:00
Patrick Cloke
148fe58a24
Do not break URL previews if an image is unreachable. ( #12950 )
...
Avoid breaking a URL preview completely if the chosen image 404s
or is unreachable for some other reason (e.g. DNS).
2022-06-06 07:46:04 -04:00
Patrick Cloke
1acc897c31
Implement MSC3816, consider the root event for thread participation. ( #12766 )
...
As opposed to only considering a user to have "participated" if they
replied to the thread.
2022-06-06 07:18:04 -04:00
Jan Christian Grünhage
fcd8703508
Allow updating passwords using the admin api without logging out devices ( #12952 )
2022-06-06 12:10:13 +01:00
Erik Johnston
e3163e2e11
Reduce the amount of state we pull from the DB ( #12811 )
2022-06-06 09:24:12 +01:00
Patrick Cloke
6b46c3eb3d
Remove groups code from synapse_port_db. ( #12899 )
2022-06-03 12:13:35 -04:00
Patrick Cloke
01df5bacac
Improve URL previews for some pages ( #12951 )
...
* Skip `og` and `meta` tags where the value is empty.
* Fallback to the favicon if there are no other images.
* Ignore tags meant for navigation.
2022-06-03 12:09:12 -04:00
Erik Johnston
888a29f412
Wait for lazy join to complete when getting current state ( #12872 )
2022-06-01 16:02:53 +01:00
Michael Telatynski
782cb7420a
Fix complement tests using the wrong path ( #12933 )
2022-06-01 15:57:09 +01:00
Patrick Cloke
7bc08f3201
Remove remaining bits of groups code. ( #12936 )
...
* Update worker docs to remove group endpoints.
* Removes an unused parameter to `ApplicationService`.
* Break dependency between media repo and groups.
* Avoid copying `m.room.related_groups` state events during room upgrades.
2022-06-01 09:41:25 -04:00
Jacek Kuśnierz
88193f2125
Remove direct refeferences to PyNaCl (use signedjson instead). ( #12902 )
2022-06-01 07:32:35 -04:00
Richard van der Hoff
79dadf7216
Fix 404 on /sync when the last event is a redaction of an unknown/purged event ( #12905 )
...
Currently, we try to pull the event corresponding to a sync token from the database. However, when
we fetch redaction events, we check the target of that redaction (because we aren't allowed to send
redactions to clients without validating them). So, if the sync token points to a redaction of an event
that we don't have, we have a problem.
It turns out we don't really need that event, and can just work with its ID and metadata, which
sidesteps the whole problem.
2022-06-01 11:29:51 +00:00
Erik Johnston
5949ab86f8
Fix potential thumbnail memory leaks. ( #12932 )
2022-06-01 10:57:49 +00:00
Patrick Cloke
2e8763ec96
Remove most groups datastore code. ( #12895 )
...
The remaining piece is a background update that is needed
for backwards compatibility.
2022-05-31 20:28:17 -04:00
Richard van der Hoff
f0aec0abef
Improve logging when signature checks fail ( #12925 )
...
* Raise a dedicated `InvalidEventSignatureError` from `_check_sigs_on_pdu`
* Downgrade logging about redactions to DEBUG
this can be very spammy during a room join, and it's not very useful.
* Raise `InvalidEventSignatureError` from `_check_sigs_and_hash`
... and, more importantly, move the logging out to the callers.
* changelog
2022-05-31 23:32:56 +01:00
Patrick Cloke
cf05258f76
Remove groups replication code. ( #12900 )
...
The replication logic for groups is no longer used, so the message
passing infrastructure can be removed.
2022-05-31 13:04:08 -04:00
Andrew Morgan
2fc787c341
Add config options for media retention ( #12732 )
2022-05-31 16:35:29 +00:00
Sean Quah
641908f72f
Faster room joins: Resume state re-syncing after a Synapse restart ( #12813 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-05-31 15:15:08 +00:00
Sean Quah
2fba1076c5
Faster room joins: Try other destinations when resyncing the state of a partial-state room ( #12812 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-05-31 15:50:29 +01:00
Erik Johnston
3594f6c1f3
Merge branch 'master' into develop
2022-05-31 14:48:22 +01:00
Erik Johnston
b2b5279a3f
Update changelog
2022-05-31 14:25:46 +01:00
reivilibre
bf01e51554
Test Synapse against Complement with workers. ( #12810 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-05-31 13:02:00 +00:00
Erik Johnston
c8684e6792
Reduce DB load of /sync when using presence ( #12885 )
...
While the query was fast, we were calling it *a lot*.
2022-05-31 13:01:05 +00:00
Richard van der Hoff
5e17922ef7
Stop reading from event_edges.room_id. ( #12914 )
...
event_edges.room_id is implied by the event id, so there is no need to join on the room id.
2022-05-31 13:51:49 +01:00
Erik Johnston
5984ada6bb
1.60.0
2022-05-31 13:41:49 +01:00
Erik Johnston
1e453053cb
Rename storage classes ( #12913 )
2022-05-31 12:17:50 +00:00
Patrick Cloke
e541bb9eed
Rework stream token to stop caring about groups. ( #12897 )
2022-05-31 07:42:50 -04:00
Brendan Abolivier
8fd87739bf
Fix import in module_api module and docs on the new check_event_for_spam signature ( #12918 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-05-31 12:04:53 +02:00
Travis Ralston
d0e40dfe29
Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12923 )
2022-05-31 08:42:18 +01:00
Travis Ralston
bcfdfeb65d
Revert "Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12922 )"
...
This reverts commit e0fae823e9 .
2022-05-30 20:29:40 -06:00
Travis Ralston
e0fae823e9
Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12922 )
...
`M_` is a reserved namespace.
2022-05-31 02:27:19 +00:00
Jacek Kuśnierz
c4f548e05d
Don't return end from /messages if there are no more events ( #12903 )
...
Signed-off-by: Jacek Kusnierz <jacek.kusnierz@tum.de >
2022-05-30 21:03:52 +01:00
Brendan Abolivier
cd9fc058de
Document the Synapse version of a new module API method ( #12917 )
2022-05-30 18:37:52 +02:00
David Teller
af7db19e1e
Uniformize spam-checker API, part 3: Expand check_event_for_spam with the ability to return additional fields ( #12846 )
...
Signed-off-by: David Teller <davidt@element.io >
2022-05-30 18:24:56 +02:00
Mathieu Velten
1fd1856afc
demo: check if we are in a virtualenv before overriding PYTHONPATH ( #12916 )
2022-05-30 15:41:24 +00:00
Mathieu Velten
7f92ac4c1c
Add a migration step to cleanup potential leftovers of bug 11833 ( #12784 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-05-30 16:51:37 +02:00
DeepBlueV7.X
b10211871f
Fix invite notifications for users without pushers ( #12840 )
...
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de >
Co-authored-by: Brendan Abolivier <github@brendanabolivier.com >
2022-05-30 13:14:43 +02:00
Richard van der Hoff
2480461879
Fix get_metadata_for_events ( #12904 )
...
This method was introduced in #12852 . It is using the `state_key` column from
the `events` table, which is not (yet) reliable (see #11496 ).
2022-05-30 10:51:09 +01:00
David Robertson
119938792b
Remove unused contrib/experiments/cursesio.py ( #12910 )
2022-05-30 10:47:54 +01:00
David Robertson
80bd614dac
Remove contrib/experiments/test_messaging.py ( #12911 )
2022-05-30 10:47:47 +01:00
David Robertson
563ef172ae
Remove contrib/jitsimeetbridge ( #12909 )
2022-05-30 10:47:40 +01:00
David Robertson
72df42078b
Remove contrib/scripts/kick_users.py ( #12908 )
2022-05-30 10:47:25 +01:00
David Robertson
796a0312e1
Bump jsonschema stubs ( #12912 )
2022-05-30 10:47:09 +01:00
Jonathan de Jong
6be4953b99
Mutual rooms: Remove dependency on user directory ( #12836 )
2022-05-30 10:05:31 +01:00
Sumner Evans
bda4600399
LockStore: fix acquiring a lock via LockStore.try_acquire_lock ( #12832 )
...
Signed-off-by: Sumner Evans <sumner@beeper.com >
2022-05-30 09:41:13 +01:00
Brendan Abolivier
28989cb301
Add a background job to automatically delete stale devices ( #12855 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-05-27 17:47:32 +02:00
David Teller
888eb736a1
Add code M_USER_ACCOUNT_SUSPENDED, as per MSC3823. ( #12845 )
...
Signed-off-by: David Teller <davidt@element.io >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-05-27 13:13:29 +00:00
Patrick Cloke
724e11d620
Clean-up some receipts code ( #12888 )
...
* Properly marks private methods as private.
* Adds missing docstrings.
* Rework inline methods.
2022-05-27 07:44:10 -04:00
Patrick Cloke
c52abc1cfd
Additional constants for EDU types. ( #12884 )
...
Instead of hard-coding strings in many places.
2022-05-27 07:14:36 -04:00
Patrick Cloke
d9f092285b
Remove federation client code for groups. ( #12563 )
2022-05-27 07:13:58 -04:00
Sean Quah
053ca5f3ca
Merge tag 'v1.60.0rc2' into develop
...
Synapse 1.60.0rc2 (2022-05-27)
==============================
This release of Synapse adds a unique index to the `state_group_edges` table, in
order to prevent accidentally introducing duplicate information (for example,
because a database backup was restored multiple times). If your Synapse database
already has duplicate rows in this table, this could fail with an error and
require manual remediation.
Additionally, the signature of the `check_event_for_spam` module callback has changed.
The previous signature has been deprecated and remains working for now. Module authors
should update their modules to use the new signature where possible.
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600 )
for more details.
Features
--------
- Add an option allowing users to use their password to reauthenticate for privileged actions even though password login is disabled. ([\#12883](https://github.com/matrix-org/synapse/issues/12883 ))
Bugfixes
--------
- Explicitly close `ijson` coroutines once we are done with them, instead of leaving the garbage collector to close them. ([\#12875](https://github.com/matrix-org/synapse/issues/12875 ))
Internal Changes
----------------
- Improve URL previews by not including the content of media tags in the generated description. ([\#12887](https://github.com/matrix-org/synapse/issues/12887 ))
2022-05-27 12:07:18 +01:00
Matt C
a7da00d4f7
Add storage and module API methods to get monthly active users and their appservices ( #12838 )
2022-05-27 10:25:57 +00:00
David Robertson
3503f42741
Easy type hints in synapse.logging.opentracing ( #12894 )
2022-05-27 11:17:33 +01:00
Sean Quah
e409ab8e92
1.60.0rc2
2022-05-27 11:06:45 +01:00
Sean Quah
bb7a637765
Close ijson coroutines ourselves instead of letting the GC close them ( #12875 )
...
Hopefully this means that exceptions raised due to truncated JSON
get a sensible logging context and stack.
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-05-27 11:03:05 +01:00
reivilibre
7b88f5a107
Add an option allowing users to use their password to reauthenticate even though password authentication is disabled. ( #12883 )
2022-05-27 09:44:51 +00:00
Richard van der Hoff
f1605b7447
Fix room deletion ( #12889 )
...
* Fix room deletion
ae7858f broke room deletion by attempting to delete the entry from `rooms`
before the tables that reference it.
* faster_joins: remove database rows on purge
2022-05-27 10:31:08 +01:00
Richard van der Hoff
bc1beebc27
Refactor have_seen_events to reduce OOMs ( #12886 )
...
My server is currently OOMing in the middle of have_seen_events, so let's try
to fix that.
2022-05-27 10:27:33 +01:00
reivilibre
317248d42c
Improve URL previews by not including the content of media tags in the generated description. ( #12887 )
2022-05-26 16:07:27 +01:00
Patrick Cloke
49f06866e4
Remove backing code for groups/communities ( #12558 )
...
Including handlers, configuration code, appservice support, and
the GroupID construct.
2022-05-26 09:04:34 -04:00
dependabot[bot]
1cba285a79
Bump pyjwt from 2.3.0 to 2.4.0 ( #12865 )
...
Bumps [pyjwt](https://github.com/jpadilla/pyjwt ) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.3.0...2.4.0 )
---
updated-dependencies:
- dependency-name: pyjwt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-05-26 12:42:21 +00:00
reivilibre
e768644368
Fix ambiguous column name that would prevent use of MSC2716 History Import when using Postgres as a database. ( #12843 )
2022-05-26 11:19:01 +00:00
Patrick Cloke
1885ee0113
Remove unstable APIs for /hierarchy. ( #12851 )
...
Removes the unstable endpoint as well as a duplicated field
which was modified during stabilization.
2022-05-26 07:10:28 -04:00
Patrick Cloke
b5707ceaba
Avoid attempting to delete push actions for remote users. ( #12879 )
...
Remote users will never have push actions, so we can avoid a database
round-trip/transaction completely.
2022-05-26 07:09:16 -04:00
Erik Johnston
b83bc5fab5
Pull out less state when handling gaps mk2 ( #12852 )
2022-05-26 09:48:12 +00:00
Richard van der Hoff
1b338476af
Allow bigger responses to /federation/v1/state ( #12877 )
...
* Refactor HTTP response size limits
Rather than passing a separate `max_response_size` down the stack, make it an
attribute of the `parser`.
* Allow bigger responses on `federation/v1/state`
`/state` can return huge responses, so we need to handle that.
2022-05-25 22:24:28 +01:00
Erik Johnston
4660d9fdcf
Fix up state_store naming ( #12871 )
2022-05-25 12:59:04 +01:00
Patrick Cloke
a8db8c6eba
Remove user-visible groups/communities code ( #12553 )
...
Makes it so that groups/communities no longer exist from a user-POV. E.g. we remove:
* All API endpoints (including Client-Server, Server-Server, and admin).
* Documented configuration options (and the experimental flag, which is now unused).
* Special handling during room upgrades.
* The `groups` section of the `/sync` response.
2022-05-25 07:53:40 -04:00
Patrick Cloke
759f9c09e1
Fix caching behavior for relations push rules. ( #12859 )
...
By always returning all requested values from the function
wrapped by cachedList. Otherwise implicit None values get
added into the cache, which are unexpected.
2022-05-25 07:49:54 -04:00
Patrick Cloke
4cbcd4a999
Misc clean-up of push rules datastore ( #12856 )
2022-05-25 07:49:12 -04:00
David Robertson
6aeee9a19d
Correct typo in changelog for #12858 .
2022-05-25 11:19:22 +01:00
Nick Mills-Barrett
1f9013ce60
Add the batch_send endpoint to generic workers ( #12868 )
2022-05-25 09:51:07 +00:00
Nick Mills-Barrett
33e2916858
Don't create empty AS txns when the AS is down ( #12869 )
2022-05-25 09:46:05 +00:00
Nick Mills-Barrett
2e5f88b5e6
Add the /account/whoami endpoint to generic workers ( #12866 )
2022-05-25 10:41:41 +01:00
Nick Mills-Barrett
b4fab0b14f
Fix incorrect worker-allowed path in documentation ( #12867 )
2022-05-25 09:20:34 +00:00
Carl Bordum Hansen
774ac4930d
Make sure prev_ids defaults to empty list ( #12829 )
...
Signed-off-by: Carl Bordum Hansen <carl@bordum.dk >
2022-05-25 09:14:45 +00:00
Dirk Klimpel
298911555c
Fix typos in documentation ( #12863 )
2022-05-25 10:14:03 +01:00
David Robertson
e7c77a8750
Correct annotation of _iterate_over_text ( #12860 )
2022-05-24 18:17:21 +00:00
David Robertson
81d9f2a8e9
Fixes to MSC3787 implementation ( #12858 )
2022-05-24 16:50:50 +00:00
Šimon Brandner
042e47970b
Remove dont_notify from the .m.rule.room.server_acl rule ( #12849 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-05-24 17:42:32 +01:00
Will Hunt
6855024e0a
Add authentication to thirdparty bridge APIs ( #12746 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-05-24 16:39:54 +02:00
Sean Quah
5d9f886aab
Merge tag 'v1.60.0rc1' into develop
...
Synapse 1.60.0rc1 (2022-05-24)
==============================
This release of Synapse adds a unique index to the `state_group_edges` table, in
order to prevent accidentally introducing duplicate information (for example,
because a database backup was restored multiple times). If your Synapse database
already has duplicate rows in this table, this could fail with an error and
require manual remediation.
Additionally, the signature of the `check_event_for_spam` module callback has changed.
The previous signature has been deprecated and remains working for now. Module authors
should update their modules to use the new signature where possible.
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600 )
for more details.
Features
--------
- Measure the time taken in spam-checking callbacks and expose those measurements as metrics. ([\#12513](https://github.com/matrix-org/synapse/issues/12513 ))
- Add a `default_power_level_content_override` config option to set default room power levels per room preset. ([\#12618](https://github.com/matrix-org/synapse/issues/12618 ))
- Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787 ). ([\#12623](https://github.com/matrix-org/synapse/issues/12623 ))
- Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ([\#12672](https://github.com/matrix-org/synapse/issues/12672 ), [\#12809](https://github.com/matrix-org/synapse/issues/12809 ))
- Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching ) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP ) signal. ([\#12673](https://github.com/matrix-org/synapse/issues/12673 ))
- Add a config options to allow for auto-tuning of caches. ([\#12701](https://github.com/matrix-org/synapse/issues/12701 ))
- Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered. ([\#12718](https://github.com/matrix-org/synapse/issues/12718 ))
- Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency. ([\#12744](https://github.com/matrix-org/synapse/issues/12744 ))
- Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818 ). ([\#12786](https://github.com/matrix-org/synapse/issues/12786 ), [\#12792](https://github.com/matrix-org/synapse/issues/12792 ))
- Update to the `check_event_for_spam` module callback. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). ([\#12808](https://github.com/matrix-org/synapse/issues/12808 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled. ([\#12611](https://github.com/matrix-org/synapse/issues/12611 ))
- Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room. ([\#12683](https://github.com/matrix-org/synapse/issues/12683 ))
- Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ([\#12687](https://github.com/matrix-org/synapse/issues/12687 ))
- Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room. ([\#12696](https://github.com/matrix-org/synapse/issues/12696 ))
- Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set. ([\#12713](https://github.com/matrix-org/synapse/issues/12713 ))
- Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper. ([\#12721](https://github.com/matrix-org/synapse/issues/12721 ))
- Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers. ([\#12747](https://github.com/matrix-org/synapse/issues/12747 ))
- Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API. ([\#12770](https://github.com/matrix-org/synapse/issues/12770 ))
- Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ([\#12779](https://github.com/matrix-org/synapse/issues/12779 ))
- Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar. ([\#12794](https://github.com/matrix-org/synapse/issues/12794 ))
- Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers. ([\#12803](https://github.com/matrix-org/synapse/issues/12803 ))
- Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background. ([\#12823](https://github.com/matrix-org/synapse/issues/12823 ))
Updates to the Docker image
---------------------------
- Fix the docker file after a dependency update. ([\#12853](https://github.com/matrix-org/synapse/issues/12853 ))
Improved Documentation
----------------------
- Fix a typo in the Media Admin API documentation. ([\#12715](https://github.com/matrix-org/synapse/issues/12715 ))
- Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh. ([\#12727](https://github.com/matrix-org/synapse/issues/12727 ))
- Fix typo in server listener documentation. ([\#12742](https://github.com/matrix-org/synapse/issues/12742 ))
- Link to the configuration manual from the welcome page of the documentation. ([\#12748](https://github.com/matrix-org/synapse/issues/12748 ))
- Fix typo in `run_background_tasks_on` option name in configuration manual documentation. ([\#12749](https://github.com/matrix-org/synapse/issues/12749 ))
- Add information regarding the `rc_invites` ratelimiting option to the configuration docs. ([\#12759](https://github.com/matrix-org/synapse/issues/12759 ))
- Add documentation for cancellation of request processing. ([\#12761](https://github.com/matrix-org/synapse/issues/12761 ))
- Recommend using docker to run tests against postgres. ([\#12765](https://github.com/matrix-org/synapse/issues/12765 ))
- Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari. ([\#12773](https://github.com/matrix-org/synapse/issues/12773 ))
- Add additional info to documentation of config option `cache_autotuning`. ([\#12776](https://github.com/matrix-org/synapse/issues/12776 ))
- Update configuration manual documentation to document size-related suffixes. ([\#12777](https://github.com/matrix-org/synapse/issues/12777 ))
- Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option. ([\#12785](https://github.com/matrix-org/synapse/issues/12785 ))
Deprecations and Removals
-------------------------
- Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid ). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts. ([\#12709](https://github.com/matrix-org/synapse/issues/12709 ))
Internal Changes
----------------
- Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. ([\#10533](https://github.com/matrix-org/synapse/issues/10533 ))
- Preparation for faster-room-join work: return subsets of room state which we already have, immediately. ([\#12498](https://github.com/matrix-org/synapse/issues/12498 ))
- Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect. ([\#12586](https://github.com/matrix-org/synapse/issues/12586 ), [\#12588](https://github.com/matrix-org/synapse/issues/12588 ), [\#12630](https://github.com/matrix-org/synapse/issues/12630 ), [\#12694](https://github.com/matrix-org/synapse/issues/12694 ), [\#12698](https://github.com/matrix-org/synapse/issues/12698 ), [\#12699](https://github.com/matrix-org/synapse/issues/12699 ), [\#12700](https://github.com/matrix-org/synapse/issues/12700 ), [\#12705](https://github.com/matrix-org/synapse/issues/12705 ))
- Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests. ([\#12708](https://github.com/matrix-org/synapse/issues/12708 ))
- Improve documentation of the `synapse.push` module. ([\#12676](https://github.com/matrix-org/synapse/issues/12676 ))
- Refactor functions to on `PushRuleEvaluatorForEvent`. ([\#12677](https://github.com/matrix-org/synapse/issues/12677 ))
- Preparation for database schema simplifications: stop writing to `event_reference_hashes`. ([\#12679](https://github.com/matrix-org/synapse/issues/12679 ))
- Remove code which updates unused database column `application_services_state.last_txn`. ([\#12680](https://github.com/matrix-org/synapse/issues/12680 ))
- Refactor `EventContext` class. ([\#12689](https://github.com/matrix-org/synapse/issues/12689 ))
- Remove an unneeded class in the push code. ([\#12691](https://github.com/matrix-org/synapse/issues/12691 ))
- Consolidate parsing of relation information from events. ([\#12693](https://github.com/matrix-org/synapse/issues/12693 ))
- Convert namespace class `Codes` into a string enum. ([\#12703](https://github.com/matrix-org/synapse/issues/12703 ))
- Optimize private read receipt filtering. ([\#12711](https://github.com/matrix-org/synapse/issues/12711 ))
- Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG. ([\#12720](https://github.com/matrix-org/synapse/issues/12720 ))
- Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports. ([\#12723](https://github.com/matrix-org/synapse/issues/12723 ))
- Update configs used by Complement to allow more invites/3PID validations during tests. ([\#12731](https://github.com/matrix-org/synapse/issues/12731 ))
- Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar. ([\#12762](https://github.com/matrix-org/synapse/issues/12762 ))
- Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`. ([\#12769](https://github.com/matrix-org/synapse/issues/12769 ))
- Move methods that call `add_push_rule` to the `PushRuleStore` class. ([\#12772](https://github.com/matrix-org/synapse/issues/12772 ))
- Make handling of federation Authorization header (more) compliant with RFC7230. ([\#12774](https://github.com/matrix-org/synapse/issues/12774 ))
- Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ([\#12775](https://github.com/matrix-org/synapse/issues/12775 ))
- Do not keep going if there are 5 back-to-back background update failures. ([\#12781](https://github.com/matrix-org/synapse/issues/12781 ))
- Fix federation when using the demo scripts. ([\#12783](https://github.com/matrix-org/synapse/issues/12783 ))
- The `hash_password` script now fails when it is called without specifying a config file. Contributed by @jae1911. ([\#12789](https://github.com/matrix-org/synapse/issues/12789 ))
- Improve and fix type hints. ([\#12567](https://github.com/matrix-org/synapse/issues/12567 ), [\#12477](https://github.com/matrix-org/synapse/issues/12477 ), [\#12717](https://github.com/matrix-org/synapse/issues/12717 ), [\#12753](https://github.com/matrix-org/synapse/issues/12753 ), [\#12695](https://github.com/matrix-org/synapse/issues/12695 ), [\#12734](https://github.com/matrix-org/synapse/issues/12734 ), [\#12716](https://github.com/matrix-org/synapse/issues/12716 ), [\#12726](https://github.com/matrix-org/synapse/issues/12726 ), [\#12790](https://github.com/matrix-org/synapse/issues/12790 ), [\#12833](https://github.com/matrix-org/synapse/issues/12833 ))
- Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible. ([\#12791](https://github.com/matrix-org/synapse/issues/12791 ))
- Remove Caddy from the Synapse workers image used in Complement. ([\#12818](https://github.com/matrix-org/synapse/issues/12818 ))
- Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it. ([\#12819](https://github.com/matrix-org/synapse/issues/12819 ))
- Support registering Application Services when running with workers under Complement. ([\#12826](https://github.com/matrix-org/synapse/issues/12826 ))
- Disable 'faster room join' Complement tests when testing against Synapse with workers. ([\#12842](https://github.com/matrix-org/synapse/issues/12842 ))
2022-05-24 15:38:38 +01:00
Patrick Cloke
88ce3080d4
Experimental support for MSC3772 ( #12740 )
...
Implements the following behind an experimental configuration flag:
* A new push rule kind for mutually related events.
* A new default push rule (`.m.rule.thread_reply`) under an unstable prefix.
This is missing part of MSC3772:
* The `.m.rule.thread_reply_to_me` push rule, this depends on MSC3664 / #11804 .
2022-05-24 13:23:23 +00:00
Sean Quah
9385cd0633
Update changelog
2022-05-24 13:21:15 +01:00
Sean Quah
a670b5cda2
1.60.0rc1
2022-05-24 12:05:33 +01:00
Richard van der Hoff
0b3423fd51
contributing_guide.md: fix link to DCO
2022-05-24 11:48:11 +01:00
Erik Johnston
f5b1c09909
Pin poetry.core in Docker images ( #12853 )
2022-05-24 11:35:08 +01:00
Eric Eastwood
7c2a78bb3b
Marker events as state - MSC2716 ( #12718 )
...
Sending marker events as state now so they are always able to be seen by homeservers (not lost in some timeline gap).
Part of [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 )
Complement tests: https://github.com/matrix-org/complement/pull/371
As initially discussed at https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r782629097 and https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r876684431
When someone joins a room, process all of the marker events we see in the current state. Marker events should be sent with a unique `state_key` so that they can all resolve in the current state to easily be discovered. Marker events as state
- If we re-use the same `state_key` (like `""`), then we would have to fetch previous snapshots of state up through time to find all of the marker events. This way we can avoid all of that. This PR was originally doing this but then thought of the smarter way to tackle in an [out of band discussion with @erikjohnston](https://docs.google.com/document/d/1JJDuPfcPNX75fprdTWlxlaKjWOdbdJylbpZ03hzo638/edit#bookmark=id.sm92fqyq7vpp ).
- Also avoids state resolution conflicts where only one of the marker events win
As a homeserver, when we see new marker state, we know there is new history imported somewhere back in time and should process it to fetch the insertion event where the historical messages are and set it as an insertion extremity. This way we know where to backfill more messages when someone asks for scrollback.
2022-05-23 20:43:37 -05:00
David Teller
28199e9357
Uniformize spam-checker API, part 2: check_event_for_spam ( #12808 )
...
Signed-off-by: David Teller <davidt@element.io >
2022-05-23 17:27:39 +00:00
Brendan Abolivier
4cc4229cd7
Prevent expired events from being filtered out when retention is disabled ( #12611 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-05-23 17:18:23 +00:00
Jess Porter
a608ac847b
add SpamChecker callback for silently dropping inbound federated events ( #12744 )
...
Signed-off-by: jesopo <github@lolnerd.net >
2022-05-23 16:36:21 +00:00
reivilibre
7a68203cde
Disable 'faster room join' Complement tests when testing against Synapse with workers. ( #12842 )
2022-05-23 17:27:05 +01:00
reivilibre
67aae05ece
Support registering Application Services when running with workers under Complement. ( #12826 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-05-23 14:11:06 +01:00
Dirk Klimpel
444588c5fc
Add some type hints to tests files ( #12833 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-05-23 11:23:26 +00:00
reivilibre
438925c422
Fix Complement TestCanRegisterAdmin with workers, by adding Complement's shared registration secret. ( #12819 )
2022-05-23 12:20:30 +01:00
Andrew Morgan
a6ab3f5619
Add a windows->unix file endings commit to git blame ignore file ( #12824 )
2022-05-23 11:28:14 +01:00
reivilibre
4fef76ca34
Remove Caddy from the Synapse workers image used in Complement. ( #12818 )
2022-05-23 10:29:24 +01:00
reivilibre
fbf904bd54
Fix media thumbnails being unusable before the index had been added in the background. ( #12823 )
2022-05-23 10:28:56 +01:00
reivilibre
39dee30f01
Send USER_IP commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ( #12809 )
2022-05-20 15:28:23 +01:00
David Teller
10280fc943
Uniformize spam-checker API, part 1: the Code enum. ( #12703 )
2022-05-20 14:53:25 +02:00
Shay
71e8afe34d
Update EventContext get_current_event_ids and get_prev_event_ids to accept state filters and update calls where possible ( #12791 )
2022-05-20 09:54:12 +01:00
Sean Quah
2be5a2b07b
Fix RetryDestinationLimiter re-starting finished log contexts ( #12803 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-05-19 20:17:10 +01:00
Andrew Morgan
96df31239c
Add a unit test for copying over arbitrary room types when upgrading a room ( #12792 )
2022-05-19 18:32:48 +01:00
reivilibre
177b884ad7
Lay some foundation work to allow workers to only subscribe to some kinds of messages, reducing replication traffic. ( #12672 )
2022-05-19 16:29:08 +01:00
Shay
eb4aaa1b4b
Add detail to cache_autotuning config option documentation ( #12776 )
2022-05-19 07:47:07 -07:00
Shay
ab2a615cfb
Update configuration manual to document size-related suffixes ( #12777 )
2022-05-19 07:46:33 -07:00
Petr Vaněk
684feeaf2f
Properly close providers.json file stream. ( #12794 )
2022-05-19 14:23:59 +00:00
reivilibre
66a5f6c400
Add a unique index to state_group_edges to prevent duplicates being accidentally introduced and the consequential impact to performance. ( #12687 )
2022-05-19 14:16:49 +01:00
Jae Lo Presti
f16ec055cc
hash_password: raise an error if no config file is specified ( #12789 )
2022-05-19 13:03:13 +00:00
David Robertson
b935c9529c
Simplify untyped-defs config in mypy.ini ( #12790 )
2022-05-19 13:49:58 +01:00
Aminda Suomalainen
d25935cd3d
Implement MSC3818: copy room type on upgrade ( #12786 )
...
Resolves : #11896
Signed-off-by: Aminda Suomalainen <suomalainen+git@mikaela.info >
2022-05-19 12:28:10 +01:00
Sami Olmari
47619017f9
Add missing user directory search endpoint to the generic worker documentation ( #12773 )
...
Signed-off-by: Sami Olmari <sami@olmari.fi >
2022-05-19 12:03:12 +01:00
Richard van der Hoff
5675cebfaa
openid.md: fix some links
...
docbook doesn't auto-linkify links
2022-05-19 10:28:18 +01:00
David Robertson
6ff99e3bea
Downgrade some OIDC exceptions to warnings ( #12723 )
2022-05-18 20:10:21 +01:00
Patrick Cloke
a1cb05b3e8
Fix federation in demo scripts. ( #12783 )
2022-05-18 14:49:33 -04:00
Richard van der Hoff
d38c73e9ab
Skip waiting for full state if a StateFilter does not require it ( #12498 )
...
If `StateFilter` specifies a state set which we will have regardless of
state-syncing, then we may as well return it immediately.
2022-05-18 18:33:57 +00:00
Andrew Morgan
0fce474a40
Fix YAML parsing error in url_preview_accept_language ( #12785 )
2022-05-18 17:24:44 +00:00
Shay
19d79b6ebe
Refactor resolve_state_groups_for_events to not pull out full state when no state resolution happens. ( #12775 )
2022-05-18 10:15:52 -07:00
Sean Quah
3d8839c30c
Add documentation for cancellation of request processing ( #12761 )
...
Signed-off-by: Sean Quah <seanq@matrix.org >
2022-05-18 17:56:23 +01:00
Dirk Klimpel
50ae4eafe1
Add some type hints to event_federation datastore ( #12753 )
...
Co-authored-by: David Robertson <david.m.robertson1@gmail.com >
2022-05-18 16:02:10 +01:00
Brendan Abolivier
682431efbe
Merge branch 'master' into develop
2022-05-18 15:53:18 +01:00
reivilibre
635f0d916b
Do not keep going if there are 5 back-to-back background update failures. ( #12781 )
2022-05-18 13:57:59 +00:00
reivilibre
df4963548b
Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ( #12779 )
2022-05-18 11:46:06 +00:00
Andrew Morgan
a167304c8b
Switch the 'Configuration' link in the docs homepage to the config manual ( #12748 )
2022-05-18 11:29:32 +00:00
Andrew Morgan
deca250e3f
Add some documentation around the rc_invites option to the config docs ( #12759 )
2022-05-18 12:21:32 +01:00
Brendan Abolivier
d24a1486e5
Fixup changelog
2022-05-18 11:46:05 +01:00
Brendan Abolivier
1aa30f7b3e
1.59.1
2022-05-18 11:41:53 +01:00
David Robertson
c22314c4e8
Discard null-containing strings before updating the user directory ( #12762 )
2022-05-18 11:40:09 +01:00
David Robertson
d4713d3e33
Discard null-containing strings before updating the user directory ( #12762 )
2022-05-18 11:28:14 +01:00
Hubert Chathi
8afb7b55d0
Make handling of federation Authorization header (more) compliant with RFC7230 ( #12774 )
...
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
2022-05-18 11:19:30 +01:00
Adam
37935b5183
Move methods that call add_push_rule to PushRuleStore ( #12772 )
...
Signed-off-by: Adam Roddick <ajroddick@tuta.io >
2022-05-18 09:37:48 +00:00
David Robertson
0d17357fcd
Suggest using docker when testing against postgres ( #12765 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-05-17 18:05:53 +00:00
Mathieu Velten
182ca78a12
Delete events from federation_inbound_events_staging table on purge ( #12770 )
2022-05-17 17:01:06 +00:00
David Robertson
5331fb5b47
allow on_invalidate=None in @cached methods ( #12769 )
2022-05-17 16:06:45 +00:00
Dirk Klimpel
6edefef602
Add some type hints to datastore ( #12717 )
2022-05-17 15:29:06 +01:00
Travis Ralston
942c30b16b
Add a new room version for MSC3787's knock+restricted join rule ( #12623 )
2022-05-17 10:41:39 +00:00
Richard van der Hoff
24b590de32
Remove code which updates application_services_state.last_txn ( #12680 )
...
This column is unused as of #12209 , so let's stop writing to it.
2022-05-17 11:07:18 +01:00
SpiritCroc
a34a41f135
Fix push for m.read events ( #12721 )
...
badge_count_last_call was always zero when the response for push
notifications included a "rejected" key which mapped to an empty list.
2022-05-17 11:03:07 +01:00
David Robertson
1402159bb8
Merge branch 'master' into develop
2022-05-17 11:00:54 +01:00
Erik Johnston
32ef24fbd7
Add index to cache invalidations ( #12747 )
...
For workers that rarely write to the cache the `get_all_updated_caches`
query can become expensive if the worker falls behind when reading the
cache.
2022-05-17 09:34:59 +00:00
Erik Johnston
fcf951d5dc
Track in memory events using weakrefs ( #10533 )
2022-05-17 10:34:27 +01:00
David Robertson
44d7bb13c3
version tweak in changelog
2022-05-17 10:30:31 +01:00
David Robertson
5c3d525cad
1.59.0
2022-05-17 10:27:51 +01:00
David Robertson
1fe202a1a3
Tidy up and type-hint the database engine modules ( #12734 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-05-17 00:34:38 +01:00
Andrew Morgan
6d8d1218dd
Fix typo in name of 'run_background_tasks_on' option in config manual ( #12749 )
2022-05-16 17:31:12 +00:00
Andrew Morgan
3eafee629d
Revert "changelog"
...
This reverts commit e24c11afd6 .
whoops...
2022-05-16 17:52:22 +01:00
Andrew Morgan
e24c11afd6
changelog
2022-05-16 17:51:43 +01:00
Andrew Morgan
83be72d76c
Add StreamKeyType class and replace string literals with constants ( #12567 )
2022-05-16 15:35:31 +00:00
Erik Johnston
4ea546067d
Fix query performance for /sync ( #12745 )
2022-05-16 16:30:35 +01:00
Šimon Brandner
3ce15cc7be
Avoid unnecessary copies when filtering private read receipts. ( #12711 )
...
A minor optimization to avoid unnecessary copying/building
identical dictionaries when filtering private read receipts.
Also clarifies comments and cleans-up some tests.
2022-05-16 15:06:23 +00:00
David Robertson
b4eb163434
Merge tag 'v1.59.0rc2' into develop
...
Synapse 1.59.0rc2 (2022-05-16)
==============================
Synapse 1.59 makes several changes that server administrators should be aware of:
- Device name lookup over federation is now disabled by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616 ))
- The `synapse.app.appservice` and `synapse.app.user_dir` worker application types are now deprecated. ([\#12452](https://github.com/matrix-org/synapse/issues/12452 ), [\#12654](https://github.com/matrix-org/synapse/issues/12654 ))
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1590 ) for more details.
Additionally, this release removes the non-standard `m.login.jwt` login type from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration. ([\#12597](https://github.com/matrix-org/synapse/issues/12597 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.58.0 where `/sync` would fail if the most recent event in a room was rejected. ([\#12729](https://github.com/matrix-org/synapse/issues/12729 ))
2022-05-16 14:55:18 +01:00
Dirk Klimpel
8060034612
Fix typo in listener config ( #12742 )
2022-05-16 13:50:07 +00:00
Sean Quah
a5c26750b5
Fix room upgrades creating an empty room when auth fails ( #12696 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-16 14:06:04 +01:00
Patrick Cloke
86a515ccbf
Consolidate logic for parsing relations. ( #12693 )
...
Parse the `m.relates_to` event content field (which describes relations)
in a single place, this is used during:
* Event persistence.
* Validation of the Client-Server API.
* Fetching bundled aggregations.
* Processing of push rules.
Each of these separately implement the logic and each made slightly
different assumptions about what was valid. Some had minor / potential
bugs.
2022-05-16 12:42:45 +00:00
David Robertson
6f04ae7033
Move 1.59 warning to the top
2022-05-16 12:53:10 +01:00
David Robertson
c3b232cb39
1.59.0rc2
2022-05-16 12:52:29 +01:00
Erik Johnston
8689230a55
Fix bug /sync returning 404 ( #12729 )
...
* Fix bug /sync returning 404
Fixes #12571
2022-05-16 12:06:56 +01:00
Shay
cde8af9a49
Add config flags to allow for cache auto-tuning ( #12701 )
2022-05-13 12:32:39 -07:00
Till
e8ae472d3b
Update configs used by Complement to allow more invites ( #12731 )
2022-05-13 16:45:47 +01:00
Brendan Abolivier
9013104429
Don't create an empty room when checking for MAU limits ( #12713 )
2022-05-13 15:30:15 +02:00
David Robertson
aec69d2481
Another batch of type annotations ( #12726 )
2022-05-13 12:35:31 +01:00
Jess Porter
39bed28b28
SpamChecker metrics ( #12513 )
...
* add Measure blocks all over SpamChecker
Signed-off-by: jesopo <github@lolnerd.net >
* fix test_spam_checker_may_join_room and test_threepid_invite_spamcheck
* better changelog entry
2022-05-13 12:17:38 +01:00
Niklas
c9fc2c0d22
Update issuer URL in example OIDC Keycloak config ( #12727 )
...
* Update openid.md
Newer versions of keycloak returning a 404 when using the `/auth` prefix.
Related: https://github.com/matrix-org/synapse/issues/12714
2022-05-13 10:15:51 +00:00
Andrew Morgan
57f6c496d0
URL preview cache expiry logs: INFO -> DEBUG, text clarifications ( #12720 )
2022-05-12 18:16:32 +01:00
David Robertson
17e1eb7749
Reduce the number of "untyped defs" ( #12716 )
2022-05-12 14:33:50 +00:00
Andy Balaam
de1e599b9d
add default_power_level_content_override config option. ( #12618 )
...
Co-authored-by: Matthew Hodgson <matthew@matrix.org >
2022-05-12 10:41:35 +00:00
Andrew Morgan
409573f6d0
Fix reference to the wrong symbol in the media admin api docs ( #12715 )
2022-05-12 09:29:37 +01:00
Sean Quah
bf7ce92bf7
Enable cancellation of GET /members and GET /state requests ( #12708 )
...
Enable cancellation of `GET /rooms/$room_id/members`,
`GET /rooms/$room_id/state` and
`GET /rooms/$room_id/state/$state_key/*` requests.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-11 17:22:34 +01:00
David Robertson
db10f2c037
No longer permit empty body when sending receipts ( #12709 )
2022-05-11 15:34:17 +00:00
Sean Quah
6ee61b9052
Complain if a federation endpoint has the @cancellable flag ( #12705 )
...
`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 >
2022-05-11 14:52:26 +01:00
David Robertson
d38d242411
Reload cache factors from disk on SIGHUP ( #12673 )
2022-05-11 13:43:22 +00:00
Sean Quah
a559c8b0d9
Respect the @cancellable flag for ReplicationEndpoints ( #12700 )
...
While `ReplicationEndpoint`s register themselves via `JsonResource`,
they pass a method that calls the handler, instead of the handler itself,
to `register_paths`. As a result, `JsonResource` will not correctly pick
up the `@cancellable` flag and we have to apply it ourselves.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-11 12:25:39 +01:00
Sean Quah
9d8e380d2e
Respect the @cancellable flag for RestServlets and BaseFederationServlets ( #12699 )
...
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 >
2022-05-11 12:25:13 +01:00
Sean Quah
dffecade7d
Respect the @cancellable flag for DirectServe{Html,Json}Resources ( #12698 )
...
`DirectServeHtmlResource` and `DirectServeJsonResource` both inherit
from `_AsyncResource`. These classes expect to be subclassed with
`_async_render_*` methods.
This commit has no effect on `JsonResource`, despite inheriting from
`_AsyncResource`. `JsonResource` has its own `_async_render` override
which will need to be updated separately.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-11 12:24:48 +01:00
Patrick Cloke
a4c75918b3
Remove unneeded ActionGenerator class. ( #12691 )
...
It simply passes through to `BulkPushRuleEvaluator`, which can be
called directly instead.
2022-05-11 07:15:21 -04:00
Eric Eastwood
84facf769e
Fix /messages throwing a 500 when querying for non-existent room ( #12683 )
...
Fix https://github.com/matrix-org/synapse/issues/12678
Complement test added: https://github.com/matrix-org/complement/pull/369
**Before:** 500 internal server error
**After:** According to the [spec](https://spec.matrix.org/latest/client-server-api/#get_matrixclientv3roomsroomidmessages ), calling `/messages` against a non-existent `room_id` should throw a 403 forbidden (since you're not part of the room). This also matches the behavior before https://github.com/matrix-org/synapse/pull/12370 which regressed Synapse to the 500 behavior.
```json
{
"errcode": "M_FORBIDDEN",
"error": "User @test:my.synapse.server not in room !dne:my.synapse.server, and room previews are disabled"
}
```
2022-05-10 23:39:14 -05:00
Erik Johnston
c72d26c1e1
Refactor EventContext ( #12689 )
...
Refactor how the `EventContext` class works, with the intention of reducing the amount of state we fetch from the DB during event processing.
The idea here is to get rid of the cached `current_state_ids` and `prev_state_ids` that live in the `EventContext`, and instead defer straight to the database (and its caching).
One change that may have a noticeable effect is that we now no longer prefill the `get_current_state_ids` cache on a state change. However, that query is relatively light, since its just a case of reading a table from the DB (unlike fetching state at an event which is more heavyweight). For deployments with workers this cache isn't even used.
Part of #12684
2022-05-10 19:43:13 +00:00
Sean Quah
c997bfb926
Capture the Deferred for request cancellation in _AsyncResource ( #12694 )
...
All async request processing goes through `_AsyncResource`, so this is
the only place where a `Deferred` needs to be captured for cancellation.
Unfortunately, the same isn't true for determining whether a request
can be cancelled. Each of `RestServlet`, `BaseFederationServlet`,
`DirectServe{Html,Json}Resource` and `ReplicationEndpoint` have
different wrappers around the method doing the request handling and they
all need to be handled separately.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-10 20:39:05 +01:00
Patrick Cloke
29f06704b8
Fix incorrect type hint in filtering code. ( #12695 )
2022-05-10 14:10:22 -04:00
Dirk Klimpel
989fa33096
Add some type hints to datastore. ( #12477 )
2022-05-10 14:07:48 -04:00
Richard van der Hoff
147f098fb4
Stop writing to event_reference_hashes ( #12679 )
...
This table is never read, since #11794 . We stop writing to it; in future we can
drop it altogether.
2022-05-10 15:35:08 +01:00
Sean Quah
dbb12a0b54
Add helper class for testing request cancellation ( #12630 )
...
Also expose the `SynapseRequest` from `FakeChannel` in tests, so that
we can call `Request.connectionLost` to simulate a client disconnecting.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-10 14:06:56 +01:00
Sean Quah
5cfb004595
Add ability to cancel disconnected requests to SynapseRequest ( #12588 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-10 14:06:08 +01:00
Sean Quah
5c00151c28
Add @cancellable decorator, for use on request handlers ( #12586 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-10 14:05:22 +01:00
David Robertson
2aad0ae57f
Merge tag 'v1.59.0rc1' into develop
...
Synapse 1.59.0rc1 (2022-05-10)
==============================
This release makes several changes that server administrators should be aware of:
- Device name lookup over federation is now disabled by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616 ))
- The `synapse.app.appservice` and `synapse.app.user_dir` worker application types are now deprecated. ([\#12452](https://github.com/matrix-org/synapse/issues/12452 ), [\#12654](https://github.com/matrix-org/synapse/issues/12654 ))
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1590 ) for more details.
Additionally, this release removes the non-standard `m.login.jwt` login type from Synapse. It can be replaced with `org.matrix.login.jwt` for identical behaviour. This is only used if `jwt_config.enabled` is set to `true` in the configuration. ([\#12597](https://github.com/matrix-org/synapse/issues/12597 ))
Features
--------
- Support [MSC3266](https://github.com/matrix-org/matrix-doc/pull/3266 ) room summaries over federation. ([\#11507](https://github.com/matrix-org/synapse/issues/11507 ))
- Implement [changes](4a77139249 ) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285 ). Contributed by @SimonBrandner. ([\#12168](https://github.com/matrix-org/synapse/issues/12168 ), [\#12635](https://github.com/matrix-org/synapse/issues/12635 ), [\#12636](https://github.com/matrix-org/synapse/issues/12636 ), [\#12670](https://github.com/matrix-org/synapse/issues/12670 ))
- Extend the [module API](https://github.com/matrix-org/synapse/blob/release-v1.59/synapse/module_api/__init__.py ) to allow modules to change actions for existing push rules of local users. ([\#12406](https://github.com/matrix-org/synapse/issues/12406 ))
- Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. ([\#12452](https://github.com/matrix-org/synapse/issues/12452 ))
- Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. ([\#12654](https://github.com/matrix-org/synapse/issues/12654 ))
- Add new `enable_registration_token_3pid_bypass` configuration option to allow registrations via token as an alternative to verifying a 3pid. ([\#12526](https://github.com/matrix-org/synapse/issues/12526 ))
- Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786 ): Add a default push rule to ignore `m.room.server_acl` events. ([\#12601](https://github.com/matrix-org/synapse/issues/12601 ))
- Add new `mau_appservice_trial_days` configuration option to specify a different trial period for users registered via an appservice. ([\#12619](https://github.com/matrix-org/synapse/issues/12619 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.48.0 where the latest thread reply provided failed to include the proper bundled aggregations. ([\#12273](https://github.com/matrix-org/synapse/issues/12273 ))
- Fix a bug introduced in Synapse 1.22.0 where attempting to send a large amount of read receipts to an application service all at once would result in duplicate content and abnormally high memory usage. Contributed by Brad & Nick @ Beeper. ([\#12544](https://github.com/matrix-org/synapse/issues/12544 ))
- Fix a bug introduced in Synapse 1.57.0 which could cause `Failed to calculate hosts in room` errors to be logged for outbound federation. ([\#12570](https://github.com/matrix-org/synapse/issues/12570 ))
- Fix a long-standing bug where status codes would almost always get logged as `200!`, irrespective of the actual status code, when clients disconnect before a request has finished processing. ([\#12580](https://github.com/matrix-org/synapse/issues/12580 ))
- Fix race when persisting an event and deleting a room that could lead to outbound federation breaking. ([\#12594](https://github.com/matrix-org/synapse/issues/12594 ))
- Fix a bug introduced in Synapse 1.53.0 where bundled aggregations for annotations/edits were incorrectly calculated. ([\#12633](https://github.com/matrix-org/synapse/issues/12633 ))
- Fix a long-standing bug where rooms containing power levels with string values could not be upgraded. ([\#12657](https://github.com/matrix-org/synapse/issues/12657 ))
- Prevent memory leak from reoccurring when presence is disabled. ([\#12656](https://github.com/matrix-org/synapse/issues/12656 ))
Updates to the Docker image
---------------------------
- Explicitly opt-in to using [BuildKit-specific features](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md ) in the Dockerfile. This fixes issues with building images in some GitLab CI environments. ([\#12541](https://github.com/matrix-org/synapse/issues/12541 ))
- Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by @henryclw. ([\#12573](https://github.com/matrix-org/synapse/issues/12573 ))
Improved Documentation
----------------------
- Update SQL statements and replace use of old table `user_stats_historical` in docs for Synapse Admins. ([\#12536](https://github.com/matrix-org/synapse/issues/12536 ))
- Add missing linebreak to `pipx` install instructions. ([\#12579](https://github.com/matrix-org/synapse/issues/12579 ))
- Add information about the TCP replication module to docs. ([\#12621](https://github.com/matrix-org/synapse/issues/12621 ))
- Fixes to the formatting of `README.rst`. ([\#12627](https://github.com/matrix-org/synapse/issues/12627 ))
- Fix docs on how to run specific Complement tests using the `complement.sh` test runner. ([\#12664](https://github.com/matrix-org/synapse/issues/12664 ))
Deprecations and Removals
-------------------------
- Remove unstable identifiers from [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069 ). ([\#12596](https://github.com/matrix-org/synapse/issues/12596 ))
- Remove the unspecified `m.login.jwt` login type and the unstable `uk.half-shot.msc2778.login.application_service` from
[MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778 ). ([\#12597](https://github.com/matrix-org/synapse/issues/12597 ))
- Synapse now requires at least Python 3.7.1 (up from 3.7.0), for compatibility with the latest Twisted trunk. ([\#12613](https://github.com/matrix-org/synapse/issues/12613 ))
Internal Changes
----------------
- Use supervisord to supervise Postgres and Caddy in the Complement image to reduce restart time. ([\#12480](https://github.com/matrix-org/synapse/issues/12480 ))
- Immediately retry any requests that have backed off when a server comes back online. ([\#12500](https://github.com/matrix-org/synapse/issues/12500 ))
- Use `make_awaitable` instead of `defer.succeed` for return values of mocks in tests. ([\#12505](https://github.com/matrix-org/synapse/issues/12505 ))
- Consistently check if an object is a `frozendict`. ([\#12564](https://github.com/matrix-org/synapse/issues/12564 ))
- Protect module callbacks with read semantics against cancellation. ([\#12568](https://github.com/matrix-org/synapse/issues/12568 ))
- Improve comments and error messages around access tokens. ([\#12577](https://github.com/matrix-org/synapse/issues/12577 ))
- Improve docstrings for the receipts store. ([\#12581](https://github.com/matrix-org/synapse/issues/12581 ))
- Use constants for read-receipts in tests. ([\#12582](https://github.com/matrix-org/synapse/issues/12582 ))
- Log status code of cancelled requests as 499 and avoid logging stack traces for them. ([\#12587](https://github.com/matrix-org/synapse/issues/12587 ), [\#12663](https://github.com/matrix-org/synapse/issues/12663 ))
- Remove special-case for `twisted` logger from default log config. ([\#12589](https://github.com/matrix-org/synapse/issues/12589 ))
- Use `getClientAddress` instead of the deprecated `getClientIP`. ([\#12599](https://github.com/matrix-org/synapse/issues/12599 ))
- Add link to documentation in Grafana Dashboard. ([\#12602](https://github.com/matrix-org/synapse/issues/12602 ))
- Reduce log spam when running multiple event persisters. ([\#12610](https://github.com/matrix-org/synapse/issues/12610 ))
- Add extra debug logging to federation sender. ([\#12614](https://github.com/matrix-org/synapse/issues/12614 ))
- Prevent remote homeservers from requesting local user device names by default. ([\#12616](https://github.com/matrix-org/synapse/issues/12616 ))
- Add a consistency check on events which we read from the database. ([\#12620](https://github.com/matrix-org/synapse/issues/12620 ))
- Remove use of the `constantly` library and switch to enums for `EventRedactBehaviour`. Contributed by @andrewdoh. ([\#12624](https://github.com/matrix-org/synapse/issues/12624 ))
- Remove unused code related to receipts. ([\#12632](https://github.com/matrix-org/synapse/issues/12632 ))
- Minor improvements to the scripts for running Synapse in worker mode under Complement. ([\#12637](https://github.com/matrix-org/synapse/issues/12637 ))
- Move `pympler` back in to the `all` extras. ([\#12652](https://github.com/matrix-org/synapse/issues/12652 ))
- Fix spelling of `M_UNRECOGNIZED` in comments. ([\#12665](https://github.com/matrix-org/synapse/issues/12665 ))
- Release script: confirm the commit to be tagged before tagging. ([\#12556](https://github.com/matrix-org/synapse/issues/12556 ))
- Fix a typo in the announcement text generated by the Synapse release development script. ([\#12612](https://github.com/matrix-org/synapse/issues/12612 ))
- Fix scripts-dev to pass typechecking. ([\#12356](https://github.com/matrix-org/synapse/issues/12356 ))
- Add some type hints to datastore. ([\#12485](https://github.com/matrix-org/synapse/issues/12485 ))
- Remove unused `# type: ignore`s. ([\#12531](https://github.com/matrix-org/synapse/issues/12531 ))
- Allow unused `# type: ignore` comments in bleeding edge CI jobs. ([\#12576](https://github.com/matrix-org/synapse/issues/12576 ))
- Remove redundant lines of config from `mypy.ini`. ([\#12608](https://github.com/matrix-org/synapse/issues/12608 ))
- Update to mypy 0.950. ([\#12650](https://github.com/matrix-org/synapse/issues/12650 ))
- Use `Concatenate` to better annotate `_do_execute`. ([\#12666](https://github.com/matrix-org/synapse/issues/12666 ))
- Use `ParamSpec` to refine type hints. ([\#12667](https://github.com/matrix-org/synapse/issues/12667 ))
- Fix mypy against latest pillow stubs. ([\#12671](https://github.com/matrix-org/synapse/issues/12671 ))
2022-05-10 13:17:56 +01:00
Patrick Cloke
b44fbdffa4
Move free functions into PushRuleEvaluatorForEvent. ( #12677 )
...
* Move `_condition_checker` into `PushRuleEvaluatorForEvent`.
* Move the condition cache into `PushRuleEvaluatorForEvent`.
* Improve docstrings.
* Inline a method which is only called once.
2022-05-10 07:54:30 -04:00
Patrick Cloke
02cdace707
Add class-diagrams and notes for push. ( #12676 )
2022-05-10 07:43:34 -04:00
David Robertson
efcd899f69
other fixes
2022-05-10 11:31:10 +01:00
David Robertson
735faab2b8
backquote m.room.server_acl
2022-05-10 11:30:20 +01:00
David Robertson
c707ea736a
v1 -> 1
2022-05-10 11:29:49 +01:00
David Robertson
80b3246528
Fix deprecation notice
2022-05-10 11:29:40 +01:00
David Robertson
2bae6d93c9
I manually added O's change, remove newsfile
2022-05-10 11:17:42 +01:00
David Robertson
239da21c1a
Add Olivier's last-minute merge
2022-05-10 11:12:53 +01:00
David Robertson
946b8437cf
Group release script changes
2022-05-10 11:12:53 +01:00
David Robertson
464fe99f52
Fix changelog link
2022-05-10 11:12:53 +01:00
reivilibre
699192fc1a
Add the update_user_directory_from_worker configuration option (superseding update_user_directory) to allow a generic worker to be designated as the worker to update the user directory. ( #12654 )
...
Co-authored-by: Shay <hillerys@element.io >
2022-05-10 11:08:45 +01:00
David Robertson
8ef0d85acd
Changelog typo
2022-05-10 11:07:44 +01:00
David Robertson
2cdac6f585
Adjust changelog
2022-05-10 11:06:58 +01:00
David Robertson
e5fd23fb6f
1.59.0rc1
2022-05-10 10:45:13 +01:00
Erik Johnston
8dd3e0e084
Immediately retry any requests that have backed off when a server comes back online. ( #12500 )
...
Otherwise it can take up to a minute for any in-flight `/send` requests to be retried.
2022-05-10 10:39:54 +01:00
Šimon Brandner
ade3008821
Implement MSC3786: Add a default push rule to ignore m.room.server_acl events ( #12601 )
...
Fixes vector-im/element-web#20788
Implements matrix-org/matrix-spec-proposals#3786
2022-05-10 08:57:36 +01:00
Shay
d80a7ab151
Update replication.md with info on TCP module structure ( #12621 )
2022-05-09 14:46:43 -07:00
Dirk Klimpel
615d96ad6e
Update SQL statements in docs for Synapse Admins ( #12536 )
2022-05-09 14:43:02 -07:00
Richard van der Hoff
34e84fee68
Tweaks to workers-under-complement ( #12637 )
...
* Bump the HS startup timeout
* Log prefixes for more processes
* Bump the overall timeout
2022-05-09 22:41:06 +01:00
Val Lorentz
bf0c3ca20a
Fix inconsistent spelling of 'M_UNRECOGNIZED'. ( #12665 )
2022-05-09 20:29:07 +00:00
Sean Quah
a00462dd99
Implement cancellation support/protection for module callbacks ( #12568 )
...
There's no guarantee that module callbacks will handle cancellation
appropriately. Protect module callbacks with read semantics from
cancellation and avoid swallowing `CancelledError`s that arise.
Other module callbacks, such as the `on_*` callbacks, are presumed to
live on code paths that involve writes and aren't cancellation-friendly.
These module callbacks have been left alone.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-09 12:31:14 +01:00
David Robertson
8de0facaae
Fix mypy against latest pillow stubs ( #12671 )
2022-05-09 10:48:14 +00:00
Sean Quah
41a882e62d
Update changelog for #12587 to be more accurate ( #12663 )
...
#12587 has fallen on the wrong side of the release cutoff to the rest of
the related PRs.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-09 11:34:39 +01:00
David Robertson
fa0eab9c8e
Use ParamSpec in a few places ( #12667 )
2022-05-09 10:27:39 +00:00
Erik Johnston
c5969b346d
Don't error on unknown receipt types ( #12670 )
...
Fixes #12669
2022-05-09 11:09:19 +01:00
Sheogorath
77258b6725
docs(contrib): Add link to documentation in dashboard ( #12602 )
2022-05-09 10:08:31 +00:00
Eric Eastwood
18d6c18aa1
Fix docs on how to run specific Complement tests after recent complement.sh change ( #12664 )
2022-05-09 10:38:32 +01:00
David Robertson
26c1ad71c5
Use Concatenate to annotate do_execute ( #12666 )
2022-05-09 10:28:38 +01:00
David Robertson
0ce2201932
Move pympler back into the all extras ( #12652 )
...
* Move `pympler` back into the `all` extras
Undoes a change I made in #12381 . I can't fully remember my reasoning,
but this changed the contents of the debian packages in a backwards
incompatible way. We're not aware of anyone who's been bitten by this,
but we still want to fix it.
To the reviewer: please be convinced that the debian packages will still
contain pympler after this change.
* Debian changelog entry to keep the linter happy
2022-05-07 13:40:58 +01:00
David Robertson
051a1c3f22
Convert stringy power levels to integers on room upgrade ( #12657 )
2022-05-07 13:37:29 +01:00
Erik Johnston
4337d33a73
Prevent memory leak from reoccurring when presence is disabled. ( #12656 )
2022-05-06 16:41:57 +00:00
David Robertson
2607b3e181
Update mypy to 0.950 and fix complaints ( #12650 )
2022-05-06 12:35:20 +00:00
reivilibre
c2d50e9f6c
Add the notify_appservices_from_worker configuration option (superseding notify_appservices) to allow a generic worker to be designated as the worker to send traffic to Application Services. ( #12452 )
2022-05-06 11:43:53 +01:00
Andrew Morgan
f1fbf75cfc
Merge branch 'master' into develop
2022-05-05 17:43:27 +01:00
DeepBlueV7.X
a377a43386
Support MSC3266 room summaries over federation ( #11507 )
...
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de >
2022-05-05 15:25:00 +01:00
Andrew Morgan
3a8ee22911
Update v1.58.1 changelog entry with more familiar language
2022-05-05 15:15:32 +01:00
Andrew Morgan
bc149a18f6
link to relevant bug report in v1.58.1 changelog
2022-05-05 15:10:24 +01:00
Andrew Morgan
d2784b6567
Minor wording change to v1.58.1 release notes
2022-05-05 15:06:39 +01:00
Andrew Morgan
6a17a291a6
1.58.1
2022-05-05 15:05:58 +01:00
Andrew Morgan
e923fc20bd
Include extra dependency groups 'systemd' and 'cache_memory' in debian packages ( #12640 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-05-05 13:51:15 +00:00
Šimon Brandner
ef86cf3d28
Update _on_new_receipts() to work with MSC2285 changes. ( #12636 )
2022-05-05 13:25:51 +00:00
reivilibre
07fa53ec40
Improve comments and error messages around access tokens. ( #12577 )
2022-05-05 13:39:59 +01:00
Henry
b8fa24b022
Use docker/metadata-action to generate docker image tags ( #12573 )
...
Update the "Build docker images" GitHub Actions workflow to use
`docker/metadata-action` to generate docker image tags, instead of a
custom shell script.
Signed-off-by: Henry <97804910+henryclw@users.noreply.github.com >
2022-05-05 12:36:42 +00:00
Šimon Brandner
9ae0253f4e
Use private instead of hidden in MSC2285 related code. ( #12635 )
2022-05-05 12:31:25 +00:00
Patrick Cloke
f90d381c7b
Edits/annotations should not have any bundled aggregations calculated. ( #12633 )
...
Fixes a regression from 8b309adb43 (#11660 )
and b65acead42 (#11752 ) where events which
themselves were an edit or an annotation could have bundled aggregations calculated,
which is not allowed.
2022-05-05 08:15:12 -04:00
Patrick Cloke
ddc8bba00f
Remove unused receipt datastore methods. ( #12632 )
...
The last usage was removed in 5a1dd297c3 (#8059 ).
2022-05-05 07:51:19 -04:00
Will Hunt
cc7656099d
Fix typo in some instances of enable_registration_token_3pid_bypass. ( #12639 )
2022-05-05 07:11:52 -04:00
Erik Johnston
c0379d6e5b
Reduce log spam when running multiple event persisters ( #12610 )
2022-05-05 10:20:23 +01:00
Will Hunt
2d74a8c178
Add mau_appservice_trial_days config ( #12619 )
...
* Add mau_appservice_trial_days
* Add a test
* Tweaks
* changelog
* Ensure we sync after the delay
* Fix types
* Add config statement
* Fix test
* Reinstate logging that got removed
* Fix feature name
2022-05-04 19:33:26 +01:00
Patrick Cloke
7fbf42499d
Use getClientAddress instead of getClientIP. ( #12599 )
...
getClientIP was deprecated in Twisted 18.4.0, which also added
getClientAddress. The Synapse minimum version for Twisted is
currently 18.9.0, so all supported versions have the new API.
2022-05-04 14:11:21 -04:00
Šimon Brandner
116a4c8340
Implement changes to MSC2285 (hidden read receipts) ( #12168 )
...
* Changes hidden read receipts to be a separate receipt type
(instead of a field on `m.read`).
* Updates the `/receipts` endpoint to accept `m.fully_read`.
2022-05-04 11:59:22 -04:00
Andrew Morgan
332cce8dcf
Disable device name lookup over federation by default ( #12616 )
2022-05-04 16:41:40 +01:00
Patrick Cloke
ba3fd54bad
Remove unstable/unspecced login types. ( #12597 )
...
* `m.login.jwt`, which was never specced and has been deprecated
since Synapse 1.16.0. (`org.matrix.login.jwt` can be used instead.)
* `uk.half-shot.msc2778.login.application_service`, which was
stabilized as part of the Matrix spec v1.2 release.
2022-05-04 13:53:21 +00:00
Sean Quah
b2df0716bc
Improve logging for cancelled requests ( #12587 )
...
Don't log stack traces for cancelled requests and use a custom HTTP
status code of 499.
Signed-off-by: Sean Quah <seanq@element.io >
2022-05-04 13:38:55 +01:00
Patrick Cloke
75dff3dc98
Include bundled aggregations for the latest event in a thread. ( #12273 )
...
The `latest_event` field of the bundled aggregations for `m.thread` relations
did not include bundled aggregations itself. This resulted in clients needing to
immediately request the event from the server (and thus making it useless that
the latest event itself was serialized instead of just including an event ID).
2022-05-04 08:38:18 -04:00
andrew do
01e625513a
remove constantly lib use and switch to enums. ( #12624 )
2022-05-04 11:26:11 +00:00
Richard van der Hoff
873d467976
Fixes to the formatting of README.rst ( #12627 )
...
Fixes a couple of formatting errors which were introduced in #12475 .
2022-05-04 11:02:19 +01:00
Richard van der Hoff
96e0cdbc5a
Add a consistency check on events read from the database ( #12620 )
...
I've seen a few errors which can only plausibly be explained by the calculated
event id for an event being different from the ID of the event in the
database. It should be cheap to check this, so let's do so and raise an
exception.
2022-05-03 21:27:52 +01:00
David Robertson
9ce51a47f6
Bump Synapse minimum Python version to 3.7.1 ( #12613 )
2022-05-03 19:22:06 +01:00
Patrick Cloke
aa5f5ede33
Remove unstable identifiers for MSC3069. ( #12596 )
2022-05-03 12:43:12 -04:00
Richard van der Hoff
d66d68f917
Add extra debug logging to federation sender ( #12614 )
...
... in order to debug some problems we've been having with certain events not
being sent when expected.
2022-05-03 16:32:40 +01:00
Andrew Morgan
c4514b97db
Add missing space before 'docker' link in release announcement script ( #12612 )
2022-05-03 14:46:42 +00:00
Richard van der Hoff
77dee1b451
fix imports
...
broken in 5938928 :-S
2022-05-03 13:59:28 +01:00
Richard van der Hoff
5938928c59
minor wording fix in docstring
2022-05-03 13:50:50 +01:00
Richard van der Hoff
db2edf5a65
Exclude OOB memberships from the federation sender ( #12570 )
...
As the comment says, there is no need to process such events, and indeed we
need to avoid doing so.
Fixes #12509 .
2022-05-03 12:47:56 +00:00
Andrew Morgan
13e4386710
Merge branch 'master' into develop
2022-05-03 11:51:24 +01:00
David Robertson
bf2fea8f7d
Add sanity checks to the release script ( #12556 )
...
Check we're on the right branch before tagging, and on the right tag before uploading
* Abort if we're on the wrong branch
* Check we have the right tag checked out
* Clarify that `publish` only releases to GitHub
2022-05-03 10:50:03 +00:00
Erik Johnston
ae7858f184
Fix race when persisting an event and deleting a room ( #12594 )
...
This works by taking a row level lock on the `rooms` table at the start of both transactions, ensuring that they don't run at the same time. In the event persistence transaction we also check that there is an entry still in the `rooms` table.
I can't figure out how to do this in SQLite. I was just going to lock the table, but it seems that we don't support that in SQLite either, so I'm *really* confused as to how we maintain integrity in SQLite when using `lock_table`....
2022-05-03 11:47:21 +01:00
David Robertson
01dcf7532d
Prune mypy ignore_missing_imports list ( #12608 )
2022-05-03 11:03:20 +01:00
Andrew Morgan
7e6598bcf6
Move groups/communities deprecation notice to 1.58.0 heading
2022-05-03 10:54:20 +01:00
Andrew Morgan
8f5d2823df
1.58.0
2022-05-03 10:53:09 +01:00
Richard van der Hoff
8d156ec0ba
Remove special-case for twisted logger ( #12589 )
...
This was originally added when we first added a `MemoryHandler` to the default
log config back in https://github.com/matrix-org/synapse/pull/8040 , to ensure
that we didn't explode with an infinite loop if there was an error formatting
the logs.
Since then, we made additional improvements to logging which make this
workaround redundant. In particular:
* we no longer attempt to log un-UTF8-decodable byte sequences, which were the
most likely cause of an error in the first place.
* https://github.com/matrix-org/synapse/pull/8268 ensures that in the unlikely
case that there *is* an error, it won't cause an infinite loop.
2022-04-29 22:05:18 +01:00
David Robertson
57fac2a234
Allow unused ignores in "bleeding edge" CI ( #12576 )
...
* Allow unused ignores in "bleeding edge" CI
Where "bleeding edge" means the Twisted Trunk and Latest Deps jobs.
Follow up from #12531 .
Resolves #12574 .
* Use `--extras all` in latest deps mypy CI
Twisted trunk job already does this.
Missed in #12531 .
* changelog
2022-04-29 17:57:23 +01:00
Patrick Cloke
3ae56d125c
Improve the docstrings for the receipts store. ( #12581 )
2022-04-28 17:58:58 +00:00
Šimon Brandner
0d9eaa19fd
Use constants for receipt types in tests. ( #12582 )
2022-04-28 13:34:33 -04:00
Sean Quah
0b684b59e5
Fix logging of incorrect status codes for disconnected requests ( #12580 )
...
The status code of requests must always be set, regardless of client
disconnection, otherwise they will always be logged as 200!.
Broken for `respond_with_json` in
f48792eec4 .
Broken for `respond_with_json_bytes` in
3e58ce72b4 .
Broken for `respond_with_html_bytes` in
ea26e9a98b .
Signed-off-by: Sean Quah <seanq@element.io >
2022-04-28 15:49:50 +00:00
DeepBlueV7.X
629aa51743
Add linebreak to pipx install quote in README ( #12579 )
2022-04-28 13:54:46 +01:00
David Robertson
5d3509dfda
Revert accidental direct-to-develop commits.
...
This reverts commit 5a320baa45 .
This reverts commit f282d5fc11 .
This reverts commit ce6ecdd4b4 .
2022-04-28 11:33:05 +01:00
David Robertson
5a320baa45
changelog
2022-04-28 11:31:26 +01:00
David Robertson
f282d5fc11
Use --extras all in latest deps mypy CI
...
Twisted trunk job already does this.
Missed in #12531 .
2022-04-28 11:29:13 +01:00
David Robertson
ce6ecdd4b4
Allow unused ignores in "bleeding edge" CI
...
Where "bleeding edge" means the Twisted Trunk and Latest Deps jobs.
Follow up from #12531 .
Resolves #12574 .
2022-04-28 11:28:22 +01:00
Sean Quah
78b99de7c2
Prefer make_awaitable over defer.succeed in tests ( #12505 )
...
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 >
2022-04-27 14:58:26 +01:00
Brendan Abolivier
5ef673de4f
Add a module API to allow modules to edit push rule actions ( #12406 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-04-27 13:55:33 +00:00
reivilibre
d743b25c8f
Use supervisord to supervise Postgres and Caddy in the Complement image. ( #12480 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-04-27 14:39:41 +01:00
David Robertson
30c8e7e408
Make scripts-dev pass mypy --disallow-untyped-defs ( #12356 )
...
Not enforced in config yet. One day.
2022-04-27 13:10:31 +00:00
David Robertson
6463244375
Remove unused # type: ignores ( #12531 )
...
Over time we've begun to use newer versions of mypy, typeshed, stub
packages---and of course we've improved our own annotations. This makes
some type ignore comments no longer necessary. I have removed them.
There was one exception: a module that imports `select.epoll`. The
ignore is redundant on Linux, but I've kept it ignored for those of us
who work on the source tree using not-Linux. (#11771 )
I'm more interested in the config line which enforces this. I want
unused ignores to be reported, because I think it's useful feedback when
annotating to know when you've fixed a problem you had to previously
ignore.
* Installing extras before typechecking
Lacking an easy way to install all extras generically, let's bite the bullet and
make install the hand-maintained `all` extra before typechecking.
Now that https://github.com/matrix-org/backend-meta/pull/6 is merged to
the release/v1 branch.
2022-04-27 14:03:44 +01:00
Patrick Cloke
8a23bde823
Consistently use collections.abc.Mapping to check frozendict. ( #12564 )
2022-04-27 09:00:07 -04:00
Will Hunt
e8d1ec0e92
Add option to enable token registration without requiring 3pids ( #12526 )
2022-04-27 12:57:53 +00:00
Dirk Klimpel
b76f1a4d5f
Add some type hints to datastore ( #12485 )
2022-04-27 13:05:00 +01:00
Nick Mills-Barrett
63ba9ba38b
Bound ephemeral events by key ( #12544 )
...
Co-authored-by: Brad Murray <bradtgmurray@gmail.com >
Co-authored-by: Andrew Morgan <andrewm@element.io >
2022-04-26 20:14:21 +01:00
David Robertson
9986621bc8
Merge tag 'v1.58.0rc2' into develop
...
Synapse 1.58.0rc2 (2022-04-26)
==============================
This release candidate fixes bugs related to Synapse 1.58.0rc1's logic for handling device list updates.
Bugfixes
--------
- Fix a bug introduced in Synapse 1.58.0rc1 where the main process could consume excessive amounts of CPU and memory while handling sentry logging failures. ([\#12554](https://github.com/matrix-org/synapse/issues/12554 ))
- Fix a bug introduced in Synapse 1.58.0rc1 where opentracing contexts were not correctly sent to whitelisted remote servers with device lists updates. ([\#12555](https://github.com/matrix-org/synapse/issues/12555 ))
Internal Changes
----------------
- Reduce unnecessary work when handling remote device list updates. ([\#12557](https://github.com/matrix-org/synapse/issues/12557 ))
2022-04-26 18:07:15 +01:00
David Robertson
9cfecd2dc0
Adjust changelog
2022-04-26 17:22:12 +01:00
David Robertson
56c9c6c465
Credit Tulir's contribution in 1.58.0rc1 to Beeper, too
2022-04-26 17:17:56 +01:00
David Robertson
6b64ee9ec7
1.58.0rc2
2022-04-26 17:16:43 +01:00
Erik Johnston
f59e3f4c90
Mark remote device list updates as already handled ( #12557 )
2022-04-26 17:07:21 +01:00
David Robertson
6d89f1239c
Comment out dodgy log-kv ( #12554 )
2022-04-26 15:53:06 +01:00
Erik Johnston
c48ab3734e
Fix sending opentracing contexts to remote servers ( #12555 )
2022-04-26 14:48:16 +00:00
Jason Robinson
706456de1f
Mark Dockerfile as requiring BuildKit ( #12541 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-04-26 15:31:52 +01:00
David Robertson
ee1601e59d
Unbold deprecation: it is mentioned at the top
2022-04-26 11:59:10 +01:00
David Robertson
6b9e95015b
Lint the release script
2022-04-26 11:53:37 +01:00
David Robertson
416604e3bc
Another set of changelog updates
2022-04-26 11:51:47 +01:00
David Robertson
a54d9b0508
We don't require redbaron in the release script
2022-04-26 11:37:21 +01:00
David Robertson
f987cdd80b
Changelog update
2022-04-26 11:32:57 +01:00
David Robertson
30db7fdb91
1.58.0rc1
2022-04-26 11:15:33 +01:00
David Robertson
7c063da25c
Temporarily lower debian changelog version number
...
This seems to make dch happy when we prepare the release.
2022-04-26 11:14:41 +01:00
David Robertson
730fcda546
Update release script to be poetry-aware
...
Poetry now manages the project version in pyproject.toml.
2022-04-26 11:14:27 +01:00
Shay
99ab45423a
build debian package for jammy jellyfish ( #12543 )
2022-04-26 10:34:59 +01:00
Richard van der Hoff
17d99f758a
Optimise backfill calculation ( #12522 )
...
Try to avoid an OOM by checking fewer extremities.
Generally this is a big rewrite of _maybe_backfill, to try and fix some of the TODOs and other problems in it. It's best reviewed commit-by-commit.
2022-04-26 10:27:11 +01:00
Shay
e75c7e3b6d
Add a table of contents to config manual ( #12527 )
...
* Update config_documentation.md
2022-04-25 11:43:59 -07:00
Sean Quah
8a87b4435a
Handle cancellation in EventsWorkerStore._get_events_from_cache_or_db ( #12529 )
...
Multiple calls to `EventsWorkerStore._get_events_from_cache_or_db` can
reuse the same database fetch, which is initiated by the first call.
Ensure that cancelling the first call doesn't cancel the other calls
sharing the same database fetch.
Signed-off-by: Sean Quah <seanq@element.io >
2022-04-25 19:39:17 +01:00
Sami Olmari
813d728d09
Correct typo in user_admin_api.md device deletion JSON ( #12533 )
...
Signed-off-by: Sami Olmari <sami@olmari.fi >
2022-04-25 12:39:15 +00:00
David Robertson
8bac3e0435
disallow-untyped-defs in docker and stubs directories ( #12528 )
2022-04-25 12:32:35 +00:00
Patrick Cloke
185da8f0f2
Misc. clean-ups to the relations code ( #12519 )
...
* Corrects some typos / copy & paste errors in tests.
* Clarifies docstrings.
* Removes an unnecessary method.
2022-04-25 08:25:56 -04:00
villepeh
d9b71410c2
Add HAProxy delegation example to docs ( #12501 )
...
Signed-off-by: Ville Petteri Huh
2022-04-25 13:18:18 +01:00
Dirk Klimpel
a36a38b1ca
Add some example configurations for worker ( #12492 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org >
2022-04-25 13:17:03 +01:00
Sean Quah
a50fb411b3
Update delay_cancellation to accept any awaitable ( #12468 )
...
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 >
2022-04-22 18:20:06 +01:00
Will Hunt
b82fff66df
MSC3202: Fix device_unused_fallback_keys -> device_unused_fallback_key_types ( #12520 )
...
* Fix device_unused_fallback_keys -> device_unused_fallback_key_types
* changelog
2022-04-22 16:03:46 +01:00
Richard van der Hoff
f46b223354
turn-howto: fix some links
2022-04-22 14:23:40 +01:00
Richard van der Hoff
f5668f0b4a
Await un-partial-stating after a partial-state join ( #12399 )
...
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.
2022-04-21 07:42:03 +01:00
David Robertson
09b4f6e46d
Remove leftover references to setup.py ( #12514 )
...
* Remove leftover references to setup.py
Missed in #12478 .
* Changelog
2022-04-20 18:16:49 +00:00
Olivier Wilkinson (reivilibre)
01c8f9ca69
Merge branch 'master' into develop
2022-04-20 17:44:19 +01:00
David Robertson
e5a76ec00b
Dump setuptools; correct pyproject version number ( #12478 )
2022-04-20 17:33:20 +01:00
Patrick Cloke
103f51d867
Fix Jinja templating error when generating thumbnail URLs. ( #12510 )
...
scale is meant to be a constant string, not refer to a variable.
2022-04-20 12:03:03 -04:00
Olivier Wilkinson (reivilibre)
f8f06fc773
Clarify changelog entry
2022-04-20 15:48:05 +01:00
Olivier Wilkinson (reivilibre)
05e8a5d298
1.57.1
2022-04-20 15:30:03 +01:00
reivilibre
3e2e76ca15
Include version 0.2.0 of the Synapse LDAP Auth Provider module in the Docker image. ( #12512 )
...
* poetry update matrix-synapse-ldap3
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-04-20 14:22:53 +00:00
David Robertson
ecef741add
Recommend poetry in docs ( #12475 )
...
* Recommend poetry in docs
- readme
- contributor guide
- upgrade notes
- new dev cheat sheet for poetry
Co-authored-by: Shay <hillerys@element.io >
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-04-20 15:18:21 +01:00
Patrick Cloke
d0c1f4ca4c
Remove unnecessary config overrides for MSC3666. ( #12511 )
2022-04-20 09:56:59 -04:00
Tulir Asokan
4bc8cb4669
Implement MSC2815: allow room moderators to view redacted event content ( #12427 )
...
Implements matrix-org/matrix-spec-proposals#2815
Signed-off-by: Tulir Asokan <tulir@maunium.net >
2022-04-20 12:57:39 +01:00
David Robertson
eed38c5027
Add CI job to act as a canary for testing against latest dependencies ( #12472 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-04-20 12:48:44 +01:00
Erik Johnston
c1482a352a
Fix returned count of delete extremities admin API ( #12496 )
2022-04-19 16:49:45 +01:00
Richard van der Hoff
b80bb7e452
Fix /room/.../event/... to return the *original* event after any edits ( #12476 )
...
This is what the MSC (now) requires. Fixes https://github.com/matrix-org/synapse/issues/10310 .
2022-04-19 16:42:19 +01:00
Richard van der Hoff
798deb3a10
Fix typo in deb changelogs from release script ( #12497 )
...
The release script used to incorrectly write `New synapse release 1.57.0~rc1.`
instead of `New synapse release 1.57.0rc1.`
2022-04-19 16:41:52 +01:00
Jan Christian Grünhage
a1f87f57ff
Implement MSC3383: include destination in X-Matrix auth header ( #11398 )
...
Co-authored-by: Jan Christian Grünhage <jan.christian@gruenhage.xyz >
Co-authored-by: Marcus Hoffmann <bubu@bubu1.eu >
2022-04-19 16:23:53 +01:00
Dirk Klimpel
fbdee86004
Fix a link in README.rst ( #12495 )
...
* Fix a link in `README.rst`
* newsfile
2022-04-19 13:00:41 +00:00
Richard van der Hoff
7dec4ce7e4
fix typo in debian changelog
2022-04-19 13:45:27 +01:00
Olivier Wilkinson (reivilibre)
dbe016e258
Remove 'Non-maintainer upload' line from Debian changelog
2022-04-19 13:33:36 +01:00
Olivier Wilkinson (reivilibre)
0921d93dcd
Merge branch 'master' into develop
2022-04-19 13:28:28 +01:00
Richard van der Hoff
b121a3ad2b
Back out implementation of MSC2314 ( #12474 )
...
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.
2022-04-19 11:17:29 +00:00
Olivier Wilkinson (reivilibre)
dfc7646504
Link to specific version of upgrade notes
2022-04-19 11:29:51 +01:00
Richard van der Hoff
9f512ff537
fix typo in upgrade notes
2022-04-19 11:25:12 +01:00
Olivier Wilkinson (reivilibre)
88fe72cc1e
1.57.0
2022-04-19 11:00:37 +01:00
Travis Ralston
f8d3ee9570
Fix grammatical error in error message ( #12483 )
...
* Fix grammatical error in error message
* changelog
2022-04-18 12:41:55 -06:00
Shay
3c758d9808
Add a manual documenting config file options ( #12368 )
2022-04-18 11:32:30 -07:00
Richard van der Hoff
aaaff98202
Dockerfile-workers: reduce the amount we install ( #12464 )
...
This is an attempt to reduce the rebuild time. In short, we reduce the amount
of stuff that the dockerfile installs, so as to give a faster startup.
2022-04-14 15:36:49 +01:00
reivilibre
7efddbebef
Update documentation to reflect that run_background_tasks_on is no longer experimental. ( #12451 )
...
* Background workers aren't experimental anymore
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
* Stream writers aren't experimental either
2022-04-14 15:25:22 +01:00
Richard van der Hoff
960b4fb409
complement-synapse-workers: factor out separate entry point script ( #12467 )
...
... with a bit more verbosity.
2022-04-14 14:56:10 +01:00
Dirk Klimpel
a743f7d33e
Replace federation_reader with generic_worker in docs ( #12457 )
2022-04-14 13:09:07 +01:00
Erik Johnston
0b014eb25e
Only send out device list updates for our own users ( #12465 )
...
Broke in #12365
2022-04-14 13:05:31 +01:00
David Robertson
535a689cfc
Reintroduce the lint targets in the linter script ( #12455 )
2022-04-14 11:33:06 +01:00
David Robertson
6b3e0ea6bd
Use poetry to manage the virtualenv in debian packages ( #12449 )
...
* Use `poetry` to build venv in debian packages
Co-authored-by: Dan Callahan <danc@element.io >
Co-authored-by: Shay <hillerys@element.io >
* Changelog
* Only pull in from requirements.txt
Addresses the same problem as #12439 .
* Include `test` and `all` extras
`poetry export` helpfully silently ignores an unknown extra
Haven't seen this before because it's the only place we export `all` and
`test`. I could have __sworm__ that the syntax `--extra "all test"`
worked for `poetry install`...
* Clean up requirements file on subsequence builds
* Fix shell syntax
Co-authored-by: Dan Callahan <danc@element.io >
Co-authored-by: Shay <hillerys@element.io >
2022-04-14 11:03:24 +01:00
Richard van der Hoff
8af8a9bce5
Dockerfile-workers: give the master its own log config ( #12466 )
...
When we run a worker-mode synapse under docker, everything gets logged to stdout. Currently, output from the workers is tacked with a worker name, for example:
```
2022-04-13 15:27:56,810 - worker:frontend_proxy1 - synapse.util.caches.lrucache - 154 - INFO - LruCache._expire_old_entries-0 - Dropped 0 items from caches
```
- note `worker:frontend_proxy1`. No such tag is applied to log lines from the master, which makes somewhat confusing reading.
To fix this, we generate a dedicated log config file for the master in the same way that we do for the workers, and use that.
2022-04-13 20:50:08 +01:00
Shay
8e2759f2d8
Limit device_id size to 512B ( #12454 )
...
*
2022-04-13 10:04:01 -07:00
Andrew Morgan
0922462fc7
docs: Don't render the table of contents on the print page ( #12340 )
2022-04-13 08:27:51 -07:00
David Baker
73d8ded0b0
Prevent a sync request from removing a user's busy presence status ( #12213 )
...
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.
2022-04-13 16:21:07 +01:00
Nick Mills-Barrett
e3a49f4784
Fix missing sync events during historical batch imports ( #12319 )
...
Discovered after much in-depth investigation in #12281 .
Closes : #12281
Closes : #3305
Signed off by: Nick Mills-Barrett nick@beeper.com
2022-04-13 11:38:35 +01:00
David Robertson
d24cd17820
Use poetry lockfile in twisted trunk CI job ( #12425 )
...
Fixes #12458
Co-authored-by: Sean Quah <seanq@element.io >
Co-authored-by: Dan Callahan <danc@element.io >
2022-04-13 11:26:53 +01:00
Jonathan de Jong
36d8b83888
Rename Mutual Rooms unstable_features flag to match MSC ( #12445 )
...
Signed-off-by: Jonathan de Jong <jonathan@automatia.nl >
2022-04-13 10:32:44 +01:00
Shay
32545d2e26
Bump twisted version to the latest in lockfile ( #12441 )
2022-04-12 13:46:55 -07:00
David Robertson
5a275a2377
Run "main" trial tests under poetry ( #12438 )
...
* Run "main" trial tests under poetry
Olddeps and twisted trunk tests are handled in separate PRs.
The PyPy config is a best-effort only; it's completely untested.
Pulled out from #12337 .
* Changelog
2022-04-12 17:41:21 +01:00
David Robertson
58c657322a
Run lints under poetry in CI; remove lint tox jobs ( #12434 )
...
Co-authored-by: Dan Callahan <danc@element.io >
2022-04-12 17:35:48 +01:00
Erik Johnston
aa28110264
Process device list updates asynchronously ( #12365 )
2022-04-12 16:50:40 +01:00
Patrick Cloke
4bdbebccb9
Remove the unstable event field for /send_join per MSC3083. ( #12395 )
...
This was missed when initially stabilising room version 8 and was
left in as a compatibility shim. Most homeservers have upgraded
to a version which expects the proper field name, and the failure
mode is reasonable (a user on an older server may have to attempt
joining the room twice with an obscure error message the first time).
2022-04-12 11:27:45 -04:00
Erik Johnston
ba1588461b
Fix typos in release script docs ( #12450 )
2022-04-12 15:12:57 +00:00
Erik Johnston
a468768104
Merge branch 'release-v1.57' into develop
2022-04-12 15:28:41 +01:00
Patrick Cloke
9535fd0f9c
Disable groups/communities by default. ( #12344 )
...
This disables the endpoints (and sync response fields) for
groups/communities by default.
2022-04-12 10:20:46 -04:00
Erik Johnston
9b1f360091
Update changelog
2022-04-12 15:07:08 +01:00
Richard van der Hoff
643c0c50c1
Update UPGRADE notes to include more details about v1.57 upgrade failure mode ( #12448 )
2022-04-12 14:56:05 +01:00
Richard van der Hoff
320186319a
Resync state after partial-state join ( #12394 )
...
We work through all the events with partial state, updating the state at each
of them. Once it's done, we recalculate the state for the whole room, and then
mark the room as having complete state.
2022-04-12 13:23:43 +00:00
Erik Johnston
e31d06f6f0
Split changelogs by year
2022-04-12 13:54:36 +01:00
Patrick Cloke
86cf6a3a17
Remove references to unstable identifiers from MSC3440. ( #12382 )
...
Removes references to unstable thread relation, unstable
identifiers for filtering parameters, and the experimental
config flag.
2022-04-12 08:42:03 -04:00
Erik Johnston
3810730ba5
Don't line wrap
2022-04-12 13:41:58 +01:00
Erik Johnston
641f43ba81
1.57.0rc1
2022-04-12 13:39:35 +01:00
Dirk Klimpel
1783156dbc
Add some type hints to datastore ( #12423 )
...
* Add some type hints to datastore
* newsfile
* change `Collection` to `List`
* refactor return type of `select_users_txn`
* correct type hint in `stream.py`
* Remove `Optional` in `select_users_txn`
* remove not needed return type in `__init__`
* Revert change in `get_stream_id_for_event_txn`
* Remove import from `Literal`
2022-04-12 11:54:00 +01:00
David Robertson
4e13743738
Poetry: select olddeps using poetry ( #12407 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-04-12 10:50:11 +00:00
Erik Johnston
3ad74b63e5
Specify tls extra for Twisted dependency. ( #12444 )
...
* Specify `tls` extra for Twisted dependency.
It was already pulled in for us by `treq`, but we should be explicit
that we do use the `tls` functionality of Twisted directly.
* Mark `idna` as dev-dependency
This doesn't actually change anything, as `Twisted[tls]` will put it in
as a main dependency anyway.
2022-04-12 10:49:02 +00:00
David Robertson
5f8173dd80
Workaround pip bug installing latest treq and not-latest twisted from hashes ( #12439 )
...
The requirements file generated by `poetry export` isn't correctly processed by `pip install -r requirements.txt`. It contains twisted and treq, both pinned to 22.2.0.
When `pip` installs treq, it notices that `Twisted[tls]` is required. It then tries to acquire the latest twisted release, only to fail (because this hash isn't listed in the requirements file).From e.g. https://github.com/matrix-org/synapse/runs/5977154990?check_suite_focus=true
> ```
> #15 9.204 Collecting Twisted[tls]>=18.7.0
> #15 9.205 ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
> #15 9.205 Twisted[tls]>=18.7.0 from 38622ff95b/Twisted-22.4.0-py3-none-any.whl (sha256) =f9f7a91f94932477a9fc3b169d57f54f96c6e74a23d78d9ce54039a7f48928a2 (from treq==22.2.0->-r /synapse/requirements.txt (line 724))
> #15 ERROR: executor failed running [/bin/sh -c pip install --prefix="/install" --no-warn-script-location -r /synapse/requirements.txt]: exit code: 1
> ```
The underlying pip issue is https://github.com/pypa/pip/issues/9644 . A comment notes that one can avoid this behaviour with by `pip install`ing with the `--no-deps` flag. Let us do so.
(At first glance, the problem looks like https://github.com/python-poetry/poetry/issues/5311 , but that was a bug in `poetry install`; this is `poetry export`, whose behaviour is fine AFAICS).
2022-04-12 10:16:01 +01:00
Patrick Cloke
ab3165efb7
Remove experimental configuration flag for MSC3666. ( #12436 )
2022-04-11 15:37:46 -04:00
Patrick Cloke
4586119f0b
Add missing type hints to config classes. ( #12402 )
2022-04-11 12:07:23 -04:00
Richard van der Hoff
214f3b7d21
Enable certificate checking during complement tests ( #12435 )
2022-04-11 16:35:41 +01:00
Patrick Cloke
772bad2562
Do not consider events by ignored users for bundled aggregations ( #12235 )
...
Consider the requester's ignored users when calculating the
bundled aggregations.
See #12285 / 4df10d3214
for corresponding changes for the `/relations` endpoint.
2022-04-11 10:09:57 -04:00
Richard van der Hoff
3cdf5a1386
Fix up healthcheck generation for workers docker image ( #12405 )
...
This wasn't quite generating the right thing.
2022-04-11 13:38:58 +00:00
David Robertson
961ee75a9b
Disallow untyped defs in synapse._scripts ( #12422 )
...
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.
2022-04-11 12:41:55 +01:00
Richard van der Hoff
5f72ea1bde
Move complement setup stuff into the Synapse repo ( #12404 )
...
Fixes matrix-org/complement#330 (or it will, once we remove the old files).
It's not quite a lift-and-shift: I've also taken the opportunity to get rid of the custom CA that we used to use to sign the TLS certs, which has been superceded by the CA exposed by Complement.
2022-04-11 11:39:28 +01:00
reivilibre
85ca963c1a
Add Module API for reading and writing global account data. ( #12391 )
2022-04-11 10:05:43 +01:00
David Robertson
98ec375b26
CI: Fix the export-data job to run under poetry ( #12418 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-04-08 19:18:54 +00:00
reivilibre
e630722f11
Optimise _update_client_ips_batch_txn to batch together database operations. ( #12252 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-04-08 15:29:13 +01:00
David Robertson
0cd182f296
Make synapse._scripts pass typechecks ( #12421 )
2022-04-08 14:00:12 +00:00
David Robertson
dd5cc37aa4
Stop maintaining a list of lint targets in lint.sh ( #12420 )
2022-04-08 14:36:09 +01:00
David Robertson
95a038c106
Unify HTTP query parameter type hints ( #12415 )
...
* Pull out query param types to `synapse.http.types`
* Use QueryParams everywhere
* Simplify `encode_query_args`
* Add annotation which would have caught #12410
2022-04-08 13:06:51 +01:00
Jorge Florian
2e2d8cc2f9
Update the server notices user profile in room if changed. ( #12115 )
2022-04-08 07:51:27 -04:00
David Robertson
7851a2c62f
CI: Get the portdb job to run under poetry ( #12412 )
2022-04-08 12:00:05 +01:00
Jorge Florian
78e4d96a4d
Add missing type definitions for scripts in docker folder ( #12280 )
...
Signed-off-by: Jorge Florian <jafn28@gmail.com >
2022-04-08 10:10:58 +00:00
Erik Johnston
7732c4902c
Fix rejecting invites over federation ( #12409 )
...
Currently causes future incremental syncs to fail.
Broke by #12191
2022-04-07 15:54:16 +01:00
Erik Johnston
36af768c13
Fix fetching public rooms over federation ( #12410 )
...
Broke by #12364
2022-04-07 14:18:02 +00:00
Patrick Cloke
1a90c1e3af
Do not add groups to sync results if disabled. ( #12408 )
2022-04-07 09:29:56 -04:00
Erik Johnston
d1cd96ce29
Add opentracing spans to calls to external cache ( #12380 )
2022-04-07 13:18:29 +01:00
David Robertson
3a7e97c7ad
Poetry: use locked environment in Docker images ( #12385 )
2022-04-07 11:43:31 +00:00
Patrick Cloke
0bcb651b3f
Support the v1 endpoint for /relations. ( #12403 )
...
Now that MSC2675 has passed FCP and the implementation is
compliant with the final version.
2022-04-07 07:08:23 -04:00
Eric Eastwood
350062661c
Clarify that we mark as outliers because we don't have any state for them ( #12345 )
...
As discussed at https://github.com/matrix-org/synapse/pull/12179#discussion_r837263852
2022-04-06 16:34:33 -05:00
Eric Eastwood
f931c0602a
Update changelog to describe changes from #12370 relative to develop ( #12401 )
2022-04-06 14:41:15 -04:00
Patrick Cloke
6902e9ff2b
Remove docs for converting a legacy structured logging config. ( #12392 )
...
And update the upgrade notes to point at old versions of the documentation.
2022-04-06 13:41:14 -04:00
Patrick Cloke
05a37f4008
Remove support for the unstable identifier from MSC3288. ( #12398 )
2022-04-06 13:27:46 -04:00
David Robertson
2cf74cf2fc
Narrow the importlib_metadata dependency ( #12400 )
2022-04-06 17:37:56 +01:00
Richard van der Hoff
6fe757d69e
Fix synapse_event_persisted_position metric ( #12390 )
...
Fixes a bug introduced in #11417 where we would only included backfilled events
in `synapse_event_persisted_position`
2022-04-06 13:52:39 +00:00
Richard van der Hoff
ae01a7edd3
Update type annotations for compatiblity with prometheus_client 0.14 ( #12389 )
...
Principally, `prometheus_client.REGISTRY.register` now requires its argument to
extend `prometheus_client.Collector`.
Additionally, `Gauge.set` is now annotated so that passing `Optional[int]`
causes an error.
2022-04-06 12:59:04 +00:00
Eric Eastwood
793d03e2c5
Generate historic pagination token for /messages when no ?from token provided ( #12370 )
2022-04-06 11:40:28 +01:00
David Robertson
573cd0f92f
Add missing dependency on importlib_metadata ( #12384 )
2022-04-05 18:25:56 +00:00
David Robertson
7ec9b06303
Poetry: initial pyproject.toml and poetry.lock ( #12381 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-04-05 18:40:56 +01:00
Sean Quah
fd1e7d0fc2
Post 1.56.0 release tidy up ( #12379 )
2022-04-05 17:35:20 +01:00
Andrew Morgan
163fd686b5
Update mdbook to 0.4.17 ( #12339 )
...
Update mdbook (the tool used to render the documentation website) to version 0.4.17.
2022-04-05 17:21:58 +01:00
Sean Quah
79e7c2c426
Fix edge case where a Linearizer could get stuck ( #12358 )
...
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 >
2022-04-05 17:19:16 +01:00
Sean Quah
31c1209c50
Make StreamToken and RoomStreamToken methods propagate cancellations ( #12366 )
...
`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 >
2022-04-05 16:56:52 +01:00
Sean Quah
9c4c49991d
Update docstrings for ReadWriteLock tests ( #12354 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-04-05 16:54:40 +01:00
Sean Quah
800ba87cc8
Refactor and convert Linearizer to async ( #12357 )
...
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 >
2022-04-05 15:43:52 +01:00
Sean Quah
ab3fdcf960
Merge branch 'master' into develop
2022-04-05 15:14:53 +01:00
Sean Quah
41b5f72677
Convert Linearizer tests from inlineCallbacks to async ( #12353 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-04-05 14:56:09 +01:00
Erik Johnston
66053b6bfb
Prefill more stream change caches. ( #12372 )
2022-04-05 14:26:41 +01:00
Dirk Klimpel
d666fc02fa
Add type hints to some tests files ( #12371 )
2022-04-05 13:54:41 +01:00
Sean Quah
ac80bfba42
Tweak CHANGES.md
2022-04-05 12:55:15 +01:00
reivilibre
42d8710f38
Fix a spec compliance issue where requests to the /publicRooms federation API would specify limit as a string. ( #12364 )
2022-04-05 12:45:36 +01:00
reivilibre
708d88b1a2
Allow specifying the Postgres database's port when running unit tests with Postgres. ( #12376 )
2022-04-05 12:44:48 +01:00
Sean Quah
7a95e80418
1.56.0
2022-04-05 12:44:00 +01:00
Richard van der Hoff
efdbcfd6af
Merge tag 'v1.56.0rc1' into develop
...
Synapse 1.56.0rc1 (2022-03-29)
==============================
Features
--------
- Allow modules to store already existing 3PID associations. ([\#12195](https://github.com/matrix-org/synapse/issues/12195 ))
- Allow registering server administrators using the module API. Contributed by Famedly. ([\#12250](https://github.com/matrix-org/synapse/issues/12250 ))
Bugfixes
--------
- Fix a long-standing bug which caused the `/_matrix/federation/v1/state` and `/_matrix/federation/v1/state_ids` endpoints to return incorrect or invalid data when called for an event which we have stored as an "outlier". ([\#12087](https://github.com/matrix-org/synapse/issues/12087 ))
- Fix a long-standing bug where events from ignored users would still be considered for relations. ([\#12227](https://github.com/matrix-org/synapse/issues/12227 ), [\#12232](https://github.com/matrix-org/synapse/issues/12232 ), [\#12285](https://github.com/matrix-org/synapse/issues/12285 ))
- Fix a bug introduced in Synapse 1.53.0 where an unnecessary query could be performed when fetching bundled aggregations for threads. ([\#12228](https://github.com/matrix-org/synapse/issues/12228 ))
- Fix a bug introduced in Synapse 1.52.0 where admins could not deactivate and GDPR-erase a user if Synapse was configured with limits on avatars. ([\#12261](https://github.com/matrix-org/synapse/issues/12261 ))
Improved Documentation
----------------------
- Fix the link to the module documentation in the legacy spam checker warning message. ([\#12231](https://github.com/matrix-org/synapse/issues/12231 ))
- Remove incorrect prefixes in the worker documentation for some endpoints. ([\#12243](https://github.com/matrix-org/synapse/issues/12243 ))
- Correct `check_username_for_spam` annotations and docs. ([\#12246](https://github.com/matrix-org/synapse/issues/12246 ))
- Correct Authentik OpenID typo, and add notes on troubleshooting. Contributed by @IronTooch. ([\#12275](https://github.com/matrix-org/synapse/issues/12275 ))
- HAProxy reverse proxy guide update to stop sending IPv4-mapped address to homeserver. Contributed by @villepeh. ([\#12279](https://github.com/matrix-org/synapse/issues/12279 ))
Internal Changes
----------------
- Rename `shared_rooms` to `mutual_rooms` ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), as per proposal changes. ([\#12036](https://github.com/matrix-org/synapse/issues/12036 ))
- Remove check on `update_user_directory` for shared rooms handler ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), and update/expand documentation. ([\#12038](https://github.com/matrix-org/synapse/issues/12038 ))
- Refactor `create_new_client_event` to use a new parameter, `state_event_ids`, which accurately describes the usage with [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716 ) instead of abusing `auth_event_ids`. ([\#12083](https://github.com/matrix-org/synapse/issues/12083 ), [\#12304](https://github.com/matrix-org/synapse/issues/12304 ))
- Refuse to start if registration is enabled without email, captcha, or token-based verification unless the new config flag `enable_registration_without_verification` is set. ([\#12091](https://github.com/matrix-org/synapse/issues/12091 ))
- Add tests for database transaction callbacks. ([\#12198](https://github.com/matrix-org/synapse/issues/12198 ))
- Handle cancellation in `DatabasePool.runInteraction`. ([\#12199](https://github.com/matrix-org/synapse/issues/12199 ))
- Add missing type hints for cache storage. ([\#12216](https://github.com/matrix-org/synapse/issues/12216 ))
- Add missing type hints for storage. ([\#12248](https://github.com/matrix-org/synapse/issues/12248 ), [\#12255](https://github.com/matrix-org/synapse/issues/12255 ))
- Add type hints to tests files. ([\#12224](https://github.com/matrix-org/synapse/issues/12224 ), [\#12240](https://github.com/matrix-org/synapse/issues/12240 ), [\#12256](https://github.com/matrix-org/synapse/issues/12256 ))
- Use type stubs for `psycopg2`. ([\#12269](https://github.com/matrix-org/synapse/issues/12269 ))
- Improve type annotations for `execute_values`. ([\#12311](https://github.com/matrix-org/synapse/issues/12311 ))
- Clean-up logic around rebasing URLs for URL image previews. ([\#12219](https://github.com/matrix-org/synapse/issues/12219 ))
- Use the `ignored_users` table in additional places instead of re-parsing the account data. ([\#12225](https://github.com/matrix-org/synapse/issues/12225 ))
- Refactor the relations endpoints to add a `RelationsHandler`. ([\#12237](https://github.com/matrix-org/synapse/issues/12237 ))
- Generate announcement links in the release script. ([\#12242](https://github.com/matrix-org/synapse/issues/12242 ))
- Improve error message when dependencies check finds a broken installation. ([\#12244](https://github.com/matrix-org/synapse/issues/12244 ))
- Compress metrics HTTP resource when enabled. Contributed by Nick @ Beeper. ([\#12258](https://github.com/matrix-org/synapse/issues/12258 ))
- Refuse to start if the PostgreSQL database has a non-`C` locale, unless the config flag `allow_unsafe_db_locale` is set to true. ([\#12262](https://github.com/matrix-org/synapse/issues/12262 ), [\#12288](https://github.com/matrix-org/synapse/issues/12288 ))
- Optionally include account validity expiration information to experimental [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720 ) account status responses. ([\#12266](https://github.com/matrix-org/synapse/issues/12266 ))
- Add a new cache `_get_membership_from_event_id` to speed up push rule calculations in large rooms. ([\#12272](https://github.com/matrix-org/synapse/issues/12272 ))
- Re-enable Complement concurrency in CI. ([\#12283](https://github.com/matrix-org/synapse/issues/12283 ))
- Remove unused test utilities. ([\#12291](https://github.com/matrix-org/synapse/issues/12291 ))
- Enhance logging for inbound federation events. ([\#12301](https://github.com/matrix-org/synapse/issues/12301 ))
- Fix compatibility with the recently-released Jinja 3.1. ([\#12313](https://github.com/matrix-org/synapse/issues/12313 ))
- Avoid trying to calculate the state at outlier events. ([\#12314](https://github.com/matrix-org/synapse/issues/12314 ))
2022-04-05 12:26:20 +01:00
Sean Quah
ca7e34cb57
Pin signedjson to <= 1.1.1 as a temporary workaround for #12324
...
To be reverted after the Synapse 1.56 release.
Signed-off-by: Sean Quah <seanq@element.io >
2022-04-05 12:13:44 +01:00
David Robertson
a7293ef16f
Bump black and click versions ( #12320 )
2022-04-05 11:04:28 +01:00
Eric Eastwood
5218fe7670
Explain how to decipher live and historic pagination tokens ( #12317 )
2022-04-05 10:57:09 +01:00
Shay
f608e6c8cf
Update broken link in workers.md ( #12369 )
2022-04-04 17:40:31 -07:00
Eric Eastwood
9633eb2162
Allow non-member state sent in room batch to resolve for historic events (MSC2716) ( #12329 )
...
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.
2022-04-04 14:54:50 -05:00
Erik Johnston
b446c99ac9
Prefill the device_list_stream_cache ( #12367 )
...
* Prefill the device_list_stream_cache
* Newsfile
* Newsfile
2022-04-04 20:12:25 +01:00
Erik Johnston
5c9e39e619
Track device list updates per room. ( #12321 )
...
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.
2022-04-04 15:25:20 +01:00
David Robertson
80839a44f1
Remove more dead/broken dev scripts ( #12355 )
2022-04-03 21:21:08 +01:00
Richard van der Hoff
f0b03186d9
Add type hints for tests/unittest.py. ( #12347 )
...
In particular, add type hints for get_success and friends, which are then helpful in a bunch of places.
2022-04-01 16:04:16 +00:00
Richard van der Hoff
33ebee47e4
Remove redundant get_success calls in test code ( #12346 )
...
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.
2022-04-01 16:10:31 +01:00
reivilibre
c4cf916ed7
Default to private room visibility rather than public when a client does not specify one, according to spec. ( #12350 )
2022-04-01 15:55:09 +01:00
David Robertson
336bff1104
Burn check_signature dev script. ( #12351 )
2022-04-01 13:41:42 +00:00
Nick Mills-Barrett
993d90f82b
Use a sequence to generate AS transaction IDs, drop last_txn AS state ( #12209 )
...
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.
2022-04-01 13:33:25 +00:00
David Robertson
21351820e0
Remove list_url_patterns dev script ( #12349 )
2022-04-01 13:05:21 +00:00
Richard van der Hoff
b7762b0c9f
Move single-use methods out of TestCase ( #12348 )
...
These methods are only used by a single testcase, so they shouldn't be
cluttering up the base `TestCase` class.
2022-04-01 12:48:08 +00:00
reivilibre
f871222880
Move update_client_ip background job from the main process to the background worker. ( #12251 )
2022-04-01 13:08:55 +01:00
Richard van der Hoff
319a805cd3
Raise an exception when getting state at an outlier ( #12191 )
...
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.
2022-04-01 13:01:49 +01:00
Richard van der Hoff
9b43df1f7b
Optimise _get_state_after_missing_prev_event: use /state ( #12040 )
...
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.
2022-04-01 12:53:42 +01:00
Brendan Abolivier
e4409301ba
Add a module callback to react to account data changes ( #12327 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-04-01 11:22:48 +02:00
Amanda Graven
4e900ece42
Add set_user_admin function to the module API ( #12341 )
2022-04-01 09:31:30 +01:00
Patrick Cloke
bebf994ee8
Move MSC2654 support behind an experimental configuration flag. ( #12295 )
...
To match the current thinking on disabling experimental features by default.
2022-03-31 15:05:13 -04:00
Richard van der Hoff
6927d87254
Handle outliers in /federation/v1/event ( #12332 )
...
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.
2022-03-31 17:39:34 +00:00
Patrick Cloke
11df4ec6c2
Add more type hints to the main state store. ( #12267 )
2022-03-31 13:38:09 -04:00
Brendan Abolivier
5e88143dff
Add a callback to react to 3PID associations ( #12302 )
2022-03-31 18:27:21 +02:00
Richard van der Hoff
34a8370d7b
README-testing.md: fix minor error
2022-03-31 13:08:03 +01:00
Patrick Cloke
adbf975623
Remove an unnecessary class from the relations code. ( #12338 )
...
The PaginationChunk class attempted to bundle some properties
together, but really just caused callers to jump through hoops and
hid implementation details.
2022-03-31 07:13:49 -04:00
David Robertson
15cdcf8f30
Remove dockerfile-pgtests ( #12336 )
2022-03-31 11:30:07 +01:00
David Robertson
5a32ec59b2
Ignore .envrc for direnv users ( #12335 )
2022-03-31 11:03:07 +01:00
David Robertson
9a3f1f5383
Nuke the tox packaging job ( #12334 )
2022-03-31 11:01:26 +01:00
Brendan Abolivier
f96b85eca8
Ensure the type of URL attributes is always str when matching against preview blacklist ( #12333 )
2022-03-31 11:49:49 +02:00
Patrick Cloke
c31c1091d4
Remove the unused and unstable /aggregations endpoint. ( #12293 )
...
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.
2022-03-30 11:45:32 -04:00
Andrew Morgan
d8d0271977
Send device list updates to application services (MSC3202) - part 1 ( #11881 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-30 14:39:27 +01:00
reivilibre
2fc15ac718
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 >
2022-03-30 12:55:05 +00:00
David Robertson
a7fb66e800
Update dead links in check-newsfragment.sh ( #12331 )
2022-03-30 11:44:28 +00:00
Andrew Morgan
19a1d6a42a
Remove references to "msc2403" ( #12165 )
2022-03-30 11:15:47 +00:00
Andrew Morgan
c8cbd66d3b
Start application service stream token tracking from 1 ( #12193 )
...
Co-authored-by: Erik Johnston <erik@matrix.org >
2022-03-30 11:10:12 +00:00
Richard van der Hoff
9b67715bc3
Disable proactive sends for remote joins ( #12330 )
...
Do not attempt to send remote joins out over federation. Normally, it will do
nothing; occasionally, it will do the wrong thing.
2022-03-30 12:04:35 +01:00
Brendan Abolivier
437a8ed9ef
Add a configuration to exclude rooms from sync response ( #12310 )
2022-03-30 09:43:04 +00:00
David Robertson
e0bb268134
Fix typechecker problems exposed by signedjson 1.1.2 ( #12326 )
2022-03-29 21:37:50 +00:00
Richard van der Hoff
1f32b90b0f
Room batch: fix up handling of unknown prev_event_ids ( #12316 )
2022-03-29 14:56:25 +01:00
Andrew Morgan
4d693f9b79
Add note in changelog of non-C type locale causing Synapse to refuse to start ( #12323 )
2022-03-29 14:32:50 +01:00
Andrew Morgan
013f3f5e44
Move warning of open registration to v1.56 upgrade notes ( #12322 )
2022-03-29 14:12:41 +01:00
Sean Quah
8a519f8abc
Update LoggingTransaction.call_after and call_on_exception docstrings ( #12315 )
...
Document the behaviour of `LoggingTransaction.call_after` and
`LoggingTransaction.call_on_exception` when transactions are retried.
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-29 12:31:05 +01:00
David Robertson
a2b00a4486
Bump black and click versions ( #12320 )
2022-03-29 10:41:19 +00:00
Brendan Abolivier
8a5d691140
Missing period
2022-03-29 11:28:39 +01:00
Brendan Abolivier
512007f829
Fix formatting
2022-03-29 11:25:49 +01:00
Brendan Abolivier
e9220adffc
Link to pre-1.0 changelog
2022-03-29 11:25:06 +01:00
Brendan Abolivier
28a64807b2
Linkify MSCs
2022-03-29 11:22:54 +01:00
Brendan Abolivier
d653f6fbec
Split changelogs
2022-03-29 11:21:11 +01:00
Brendan Abolivier
c20d0ca6c2
Fixup changelog
2022-03-29 10:50:35 +01:00
Brendan Abolivier
b690fe749b
1.56.0rc1
2022-03-29 10:41:04 +01:00
Eric Eastwood
6f2943714b
Remove unused auth_event_ids argument plumbing ( #12304 )
...
Follow-up to https://github.com/matrix-org/synapse/pull/12083
Since we are now using the new `state_event_ids` parameter to do all of the heavy lifting.
We can remove any spots where we plumbed `auth_event_ids` just for MSC2716 things in
https://github.com/matrix-org/synapse/pull/9247/files .
Removing `auth_event_ids` from following functions:
- `create_and_send_nonmember_event`
- `_local_membership_update`
- `update_membership`
- `update_membership_locked`
2022-03-29 09:18:52 +01:00
Richard van der Hoff
287a9c1e20
Exclude outliers in on_backfill_request ( #12314 )
...
When we are processing a `/backfill` request from a remote server, exclude any
outliers from consideration early on. We can't return outliers anyway (since we
don't know the state at the outlier), and filtering them out earlier means that
we won't attempt to calulate the state for them.
2022-03-28 19:20:14 +01:00
Dirk Klimpel
ac95167d2f
Add some type hints to datastore. ( #12255 )
2022-03-28 14:11:14 -04:00
Brendan Abolivier
4ba55a620f
Un-revert Jinja2 fix ( #12313 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-03-28 17:02:57 +00:00
Brendan Abolivier
8cd760fca8
Allow modules to store already existing 3PID associations ( #12195 )
2022-03-28 18:57:19 +02:00
reivilibre
89f11f8c6f
Improve type annotations for execute_values. ( #12311 )
2022-03-28 17:21:23 +01:00
villepeh
a4643a685c
HAProxy guide update ( #12279 )
...
HAproxy reverse proxy guide update to stop sending IPv4-mapped address to HS.
2022-03-28 10:48:18 +00:00
Shay
3c41d87b67
Add restrictions by default to open registration in Synapse ( #12091 )
2022-03-25 10:11:01 -07:00
Erik Johnston
7ca8ee67a5
Add cache for get_membership_from_event_ids ( #12272 )
...
This should speed up push rule calculations for rooms with large numbers of local users when the main push rule cache fails.
Co-authored-by: reivilibre <oliverw@matrix.org >
2022-03-25 14:58:56 +00:00
Richard van der Hoff
38adf14998
Enhance logging for inbound federation events ( #12301 )
...
It is currently rather hard to see which rooms are causing inbound federation
traffic. Add the room id to the logs.
2022-03-25 14:44:57 +00:00
Eric Eastwood
14662d3c18
Refactor create_new_client_event to use a new parameter, state_event_ids, which accurately describes the usage with MSC2716 instead of abusing auth_event_ids ( #12083 )
...
Spawned from https://github.com/matrix-org/synapse/pull/10975#discussion_r813183430
Part of [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 )
2022-03-25 09:21:06 -05:00
David Robertson
fffb3c4c8f
Always allow the empty string as an avatar_url. ( #12261 )
...
Hopefully this fixes #12257 .
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-25 13:28:42 +00:00
IronTooch
61aae18d45
Authentik OpenID minor doc update ( #12275 )
2022-03-25 12:40:10 +00:00
Brendan Abolivier
5859e2fe0c
Mention the new behaviour on unsafe database locale in the upgrade notes ( #12288 )
...
Co-authored-by: Shay <hillerys@element.io >
2022-03-25 10:56:18 +01:00
kegsay
8b7b371ff6
Re-enable test concurrency on Complement ( #12283 )
2022-03-24 15:59:06 -04:00
Richard van der Hoff
b0659a112d
Merge branch 'master' into develop
2022-03-24 19:39:45 +00:00
Patrick Cloke
1800bd47a8
Remove unused test code. ( #12291 )
...
The `MockHttpResource` and `MockKey` objects were unused
since #9396 (74af356baf ).
2022-03-24 19:25:52 +00:00
Richard van der Hoff
9925f9b8b0
changelog
2022-03-24 19:18:55 +00:00
Richard van der Hoff
1642abd77e
1.55.2
2022-03-24 19:13:20 +00:00
Andrew Morgan
84eb14c4d2
Pin Jinja to <3.1.0 ( #12297 )
...
as 3.1.0 removed the deprecated jinja2.Markup class which we still rely on.
2022-03-24 18:59:31 +00:00
Andrew Morgan
0004260952
Revert "Replace instances of deprecated Jinja2.Markup with markupsafe.Markup" ( #12296 )
...
This reverts commit 8810c93e82 .
2022-03-24 18:42:04 +00:00
Andrew Morgan
a503c2c388
Merge branch 'master' into develop
2022-03-24 18:14:26 +00:00
Andrew Morgan
e689cae47d
update changelog for 1.55.1
2022-03-24 17:54:43 +00:00
Andrew Morgan
088f3ae182
1.55.1
2022-03-24 17:47:03 +00:00
Andrew Morgan
8810c93e82
Replace instances of deprecated Jinja2.Markup with markupsafe.Markup ( #12289 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-24 17:16:13 +00:00
Patrick Cloke
4df10d3214
Do not consider events by ignored users for relations ( #12285 )
...
Filter the events returned from `/relations` for the requester's ignored users
in a similar way to `/messages` (and `/sync`).
2022-03-24 10:25:42 -04:00
Brendan Abolivier
5436b014f4
Optionally include account validity in MSC3720 account status responses ( #12266 )
2022-03-24 11:19:41 +01:00
Shay
e78d4f61fc
Refuse to start if DB has an unsafe locale ( #12262 )
2022-03-23 10:23:05 -07:00
David Robertson
f4c5e5864c
Use psycopg2 type stubs ( #12269 )
2022-03-23 14:03:24 +00:00
Jonathan de Jong
c5776780f0
Remove mutual_rooms update_user_directory check, and add extra documentation ( #12038 )
...
Resolves #10339
2022-03-23 12:47:07 +00:00
Nicolas Werner
692b82838e
Allow registering admin users using the module API ( #12250 )
...
Signed-off-by: Nicolas Werner <n.werner@famedly.com >
2022-03-23 12:48:47 +01:00
Jonathan de Jong
516d092ff9
Rename shared_rooms to mutual_rooms ( #12036 )
...
Co-authored-by: reivilibre <olivier@librepush.net >
2022-03-23 11:19:20 +00:00
Andrew Morgan
831d4797ab
Merge branch 'master' into develop
2022-03-22 16:31:28 +00:00
Andrew Morgan
6b26536a52
Changelog: sso -> Single Sign-On
2022-03-22 14:21:49 +00:00
Andrew Morgan
a701a09f9b
changelog: move notice from rc to final release
2022-03-22 14:05:17 +00:00
Andrew Morgan
34baf76451
1.55.0
2022-03-22 14:02:52 +00:00
Michael Telatynski
01211e0c16
Tweak copy for sso account details template ( #12265 )
...
* Tweak copy for sso account details template
* Update sso footer copyright year
* Add newsfragment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2022-03-22 10:22:25 +00:00
David Robertson
d9bc65918e
Call out synctl change
2022-03-21 17:27:59 +00:00
Dirk Klimpel
9d21ecf7ce
Add type hints to tests files. ( #12256 )
2022-03-21 09:43:16 -04:00
David Robertson
0a59f977a2
Merge branch 'release-v1.55' into develop
2022-03-21 12:29:53 +00:00
reivilibre
6134b3079e
Reword 'Choose your user name' as 'Choose your account name' in the SSO registration template, in order to comply with SIWA guidelines. ( #12260 )
...
* Reword as 'Choose your account name'
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-03-21 12:16:46 +00:00
Nick Mills-Barrett
1530cef192
Make it possible to enable compression for the metrics HTTP resource ( #12258 )
...
* Make it possible to enable compression for the metrics HTTP resource
This can provide significant bandwidth savings pulling metrics from
synapse instances.
* Add changelog file.
* Fix type hint
2022-03-21 11:52:10 +00:00
Richard van der Hoff
afa17f0eab
Return a 404 from /state for an outlier ( #12087 )
...
* Replace `get_state_for_pdu` with `get_state_ids_for_pdu` and `get_events_as_list`.
* Return a 404 from `/state` and `/state_ids` for an outlier
2022-03-21 11:23:32 +00:00
David Robertson
bf9d549e3a
Try to detect borked package installations. ( #12244 )
...
* Try to detect borked package installations.
Fixes #12223 .
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-03-18 19:03:46 +00:00
Patrick Cloke
8fe930c215
Move get_bundled_aggregations to relations handler. ( #12237 )
...
The get_bundled_aggregations code is fairly high-level and uses
a lot of store methods, we move it into the handler as that seems
like a better fit.
2022-03-18 17:49:32 +00:00
Patrick Cloke
80e0e1f35e
Only fetch thread participation for events with threads. ( #12228 )
...
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.
2022-03-18 17:15:45 +00:00
Patrick Cloke
2177e356bc
Sync more worker regexes in the documentation. ( #12243 )
2022-03-18 12:51:27 -04:00
Dirk Klimpel
c46065fa3d
Add some type hints to datastore ( #12248 )
...
* inherit `MonthlyActiveUsersStore` from `RegistrationWorkerStore`
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-18 15:24:18 +00:00
David Robertson
872dbb0181
Correct check_username_for_spam annotations and docs ( #12246 )
...
* Formally type the UserProfile in user searches
* export UserProfile in synapse.module_api
* Update docs
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-03-18 13:51:41 +00:00
David Robertson
12d1f82db2
Generate announcement links in release script ( #12242 )
2022-03-17 13:46:05 +00:00
Dirk Klimpel
9e06e22064
Add type hints to more tests files. ( #12240 )
2022-03-17 07:25:50 -04:00
Patrick Cloke
3f7cfbc9e5
Merge branch 'release-v1.55' into develop
2022-03-16 12:22:07 -04:00
Patrick Cloke
f70afbd565
Re-generate changelog.
2022-03-16 12:20:05 -04:00
Patrick Cloke
96274565ff
Fix bundling aggregations if unsigned is not a returned event field. ( #12234 )
...
An error occured if a filter was supplied with `event_fields` which did not include
`unsigned`.
In that case, bundled aggregations are still added as the spec states it is allowed
for servers to add additional fields.
2022-03-16 12:17:39 -04:00
Sean Quah
6121056740
Handle cancellation in DatabasePool.runInteraction() ( #12199 )
...
To handle cancellation, we ensure that `after_callback`s and
`exception_callback`s are always run, since the transaction will
complete on another thread regardless of cancellation.
We also wait until everything is done before releasing the
`CancelledError`, so that logging contexts won't get used after they
have been finished.
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-16 15:07:41 +00:00
Patrick Cloke
fc9bd620ce
Add a relations handler to avoid duplication. ( #12227 )
...
Adds a handler layer between the REST and datastore layers for relations.
2022-03-16 10:39:15 -04:00
Patrick Cloke
c486fa5fd9
Add some missing type hints to cache datastore. ( #12216 )
2022-03-16 10:37:04 -04:00
David Robertson
86965605a4
Fix dead link in spam checker warning ( #12231 )
2022-03-16 13:52:59 +00:00
Patrick Cloke
1da0f79d54
Refactor relations tests ( #12232 )
...
* Moves the relation pagination tests to a separate class.
* Move the assertion of the response code into the `_send_relation` helper.
* Moves some helpers into the base-class.
2022-03-16 09:20:57 -04:00
Patrick Cloke
4587b35929
Clean-up logic for rebasing URLs during URL preview. ( #12219 )
...
By using urljoin from the standard library and reducing the number
of places URLs are rebased.
2022-03-16 07:21:36 -04:00
Patrick Cloke
dda9b7fc4d
Use the ignored_users table to test event visibility & sync. ( #12225 )
...
Instead of fetching the raw account data and re-parsing it. The
ignored_users table is a denormalised version of the account data
for quick searching.
2022-03-15 14:06:05 -04:00
Sean Quah
dea577998f
Add tests for database transaction callbacks ( #12198 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-15 15:40:34 +00:00
Dirk Klimpel
5dd949bee6
Add type hints to some tests/handlers files. ( #12224 )
2022-03-15 09:16:37 -04:00
David Robertson
9e90d643e6
Changelog tweaks
2022-03-15 11:16:36 +00:00
David Robertson
d1130a249b
1.55.0rc1
2022-03-15 11:00:01 +00:00
Sean Quah
2fcf4b3f6c
Add cancellation support to @cached and @cachedList decorators ( #12183 )
...
These decorators mostly support cancellation already. Add cancellation
tests and fix use of finished logging contexts by delaying cancellation,
as suggested by @erikjohnston.
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-14 19:04:29 +00:00
Sean Quah
605d161d7d
Add cancellation support to ReadWriteLock ( #12120 )
...
Also convert `ReadWriteLock` to use async context managers.
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-14 18:49:07 +00:00
Sean Quah
8e5706d144
Fix broken background updates when using sqlite with enable_search off ( #12215 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-14 17:52:58 +00:00
Sean Quah
90b2327066
Add delay_cancellation utility function ( #12180 )
...
`delay_cancellation` behaves like `stop_cancellation`, except it
delays `CancelledError`s until the original `Deferred` resolves.
This is handy for unifying cleanup paths and ensuring that uncancelled
coroutines don't use finished logcontexts.
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-14 17:52:15 +00:00
Patrick Cloke
54f674f7a9
Deprecate the groups/communities endpoints and add an experimental configuration flag. ( #12200 )
2022-03-12 13:23:37 -05:00
Shay
ef3619e61d
Add config settings for background update parameters ( #11980 )
2022-03-11 10:46:45 -08:00
Brendan Abolivier
e6a106fd5e
Implement a Jinja2 filter to extract localparts from email addresses ( #12212 )
2022-03-11 15:15:11 +00:00
reivilibre
4a53f35737
Improve code documentation for the typing stream over replication. ( #12211 )
2022-03-11 14:00:15 +00:00
Nick Mills-Barrett
735e89bd3a
Add an additional HTTP pusher + push rule tests. ( #12188 )
...
And rename the field used for caching from _id to _cache_key.
2022-03-11 08:45:26 -05:00
Brendan Abolivier
003cc6910a
Update the SSO username picker template to comply with SIWA guidelines ( #12210 )
...
Fixes https://github.com/matrix-org/synapse/issues/12205
2022-03-11 13:20:00 +00:00
Dirk Klimpel
32c828d0f7
Add type hints to tests/rest. ( #12208 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-11 12:42:22 +00:00
Patrick Cloke
e10a2fe0c2
Add some type hints to the tests.handlers module. ( #12207 )
2022-03-11 07:07:15 -05:00
Patrick Cloke
bc9dff1d95
Remove unnecessary pass statements. ( #12206 )
2022-03-11 07:06:21 -05:00
Andrew Morgan
3b12f6d61b
Note that contributors can sign off privately ( #12204 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-11 11:10:20 +00:00
Richard van der Hoff
483f2aa2ec
Retention test: avoid relying on state at purged events ( #12202 )
...
This test was relying on poking events which weren't in the database into
filter_events_for_client.
2022-03-11 10:33:49 +00:00
~creme
7577894bec
Document that most streams can only have a single writer. ( #12196 )
...
This includes the `typing`, `to_device`, `account_data`, `receipts`, and `presence`
streams (really anything except the `events` stream).
2022-03-10 18:15:19 +00:00
Shay
ed9aea42fa
fix misleading comment in check_events_for_spam ( #12203 )
2022-03-10 09:40:07 -08:00
reivilibre
72e7f1c420
Remove workaround introduced in Synapse v1.50.0rc1 for Mjolnir compatibility. Breaks compatibility with Mjolnir v1.3.1 and earlier. ( #11700 )
2022-03-10 15:53:23 +00:00
Patrick Cloke
ea27528b5d
Support stable identifiers for MSC3440: Threading ( #12151 )
...
The unstable identifiers are still supported if the experimental configuration
flag is enabled. The unstable identifiers will be removed in a future release.
2022-03-10 15:36:13 +00:00
Richard van der Hoff
52a947dc46
Updates to the Room DAG concepts development document ( #12179 )
...
Some stuff that came up while we were talking about #12173 .
2022-03-10 15:18:31 +00:00
Patrick Cloke
88cd6f9378
Allow retrieving the relations of a redacted event. ( #12130 )
...
This is allowed per MSC2675, although the original implementation did
not allow for it and would return an empty chunk / not bundle aggregations.
The main thing to improve is that the various caches get cleared properly
when an event is redacted, and that edits must not leak if the original
event is redacted (as that would presumably leak something similar to
the original event content).
2022-03-10 09:03:59 -05:00
Patrick Cloke
3e4af36bc8
Rename get_tcp_replication to get_replication_command_handler. ( #12192 )
...
Since the object it returns is a ReplicationCommandHandler.
This is clean-up from adding support to Redis where the command handler
was added as an additional layer of abstraction from the TCP protocol.
2022-03-10 13:01:56 +00:00
Sean Quah
a4c1fdb44a
Remove dead code in tests/storage/test_database.py ( #12197 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-09 18:45:21 +00:00
Will Hunt
15382b1afa
Add third_party module callbacks to check if a user can delete a room and deactivate a user ( #12028 )
...
* Add check_can_deactivate_user
* Add check_can_shutdown_rooms
* Documentation
* callbacks, not functions
* Various suggested tweaks
* Add tests for test_check_can_shutdown_room and test_check_can_deactivate_user
* Update check_can_deactivate_user to not take a Requester
* Fix check_can_shutdown_room docs
* Renegade and use `by_admin` instead of `admin_user_id`
* fix lint
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-03-09 18:23:57 +00:00
Patrick Cloke
690cb4f3b3
Allow for ignoring some arguments when caching. ( #12189 )
...
* `@cached` can now take an `uncached_args` which is an iterable of names to not use in the cache key.
* Requires `@cached`, @cachedList` and `@lru_cache` to use keyword arguments for clarity.
* Asserts that keyword-only arguments in cached functions are not accepted. (I tested this briefly and I don't believe this works properly.)
2022-03-09 18:07:41 +00:00
Patrick Cloke
032688854b
Remove some unused variables/parameters. ( #12187 )
2022-03-09 15:29:39 +00:00
Nick Mills-Barrett
180d8ff0d4
Retry some http replication failures ( #12182 )
...
This allows for the target process to be down for around a minute
which provides time for restarts during synapse upgrades/config updates.
Closes : #12178
Signed off by Nick Mills-Barrett nick@beeper.com
2022-03-09 14:53:28 +00:00
Richard van der Hoff
dc8d825ef2
Skip attempt to get state at backwards-extremities ( #12173 )
...
We don't *have* the state at a backwards-extremity, so this is never going to
do anything useful.
2022-03-09 11:00:48 +00:00
Patrick Cloke
9a0172d49f
Clean-up demo scripts & documentation ( #12143 )
...
* Rewrites the demo documentation to be clearer, accurate, and moves it to our documentation tree.
* Improvements to the demo scripts:
* `clean.sh` now runs `stop.sh` first to avoid zombie processes.
* Uses more modern Synapse configuration (and removes some obsolete configuration).
* Consistently use the HTTP ports for server name, etc.
* Remove the `demo/etc` directory and place everything into the `demo/808x` directories.
2022-03-08 15:02:59 -05:00
Sean Quah
5627182788
Use ParamSpec in type hints for synapse.logging.context ( #12150 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-08 15:58:14 +00:00
Olivier Wilkinson (reivilibre)
0dc9c5653c
Merge branch 'master' into develop
2022-03-08 15:37:35 +00:00
reivilibre
bfa7d6b035
Fix CI not attaching source distributions and wheels to the GitHub releases. ( #12131 )
2022-03-08 15:11:50 +00:00
Olivier Wilkinson (reivilibre)
b1989ced00
Fix silly markdown typo
2022-03-08 14:01:19 +00:00
Olivier Wilkinson (reivilibre)
65e02b3e6d
Tweak changelog formatting
2022-03-08 14:00:16 +00:00
Erik Johnston
2ce27a24fe
Add experimental environment variable to enable asyncio reactor ( #12135 )
2022-03-08 13:23:18 +00:00
Patrick Cloke
ca9234a9eb
Do not return allowed_room_ids from /hierarchy response. ( #12175 )
...
This field is only to be used in the Server-Server API, and not the
Client-Server API, but was being leaked when a federation response
was used in the /hierarchy API.
2022-03-08 08:09:11 -05:00
Patrick Cloke
d8bab6793c
Fix incorrect type hints for txredis. ( #12042 )
...
Some properties were marked as RedisProtocol instead of ConnectionHandler,
which wraps RedisProtocol instance(s).
2022-03-08 07:26:05 -05:00
Olivier Wilkinson (reivilibre)
094802e04e
Shift up warning about Mjolnir
2022-03-08 10:58:10 +00:00
Olivier Wilkinson (reivilibre)
ea992adf86
1.54.0
2022-03-08 10:55:26 +00:00
reivilibre
2eef234ae3
Fix a bug introduced in 1.54.0rc1 which meant that Synapse would refuse to start if pre-release versions of dependencies were installed. ( #12177 )
...
* Add failing test to characterise the regression #12176
* Permit pre-release versions of specified packages
* Newsfile (bugfix)
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org >
2022-03-08 10:47:28 +00:00
Shay
26211fec24
Fix a bug in background updates wherein background updates are never run using the default batch size ( #12157 )
2022-03-07 09:44:33 -08:00
Patrick Cloke
f63bedef07
Invalidate caches when an event with a relation is redacted. ( #12121 )
...
The caches for the target of the relation must be cleared
so that the bundled aggregations are re-calculated after
the redaction is processed.
2022-03-07 14:00:05 +00:00
Richard van der Hoff
0211f18d65
Switch the tests-done job to an Action ( #12161 )
...
I've factored it out for easier use in other workflows.
2022-03-07 12:24:06 +00:00
Richard van der Hoff
00a67f831a
Merge remote-tracking branch 'origin/release-v1.54' into develop
2022-03-04 22:40:51 +00:00
David Robertson
d2ef1a79cf
Relax version guard for packaging ( #12166 )
...
It’s just occurred to me that #12088 pulled in the “packaging” package (~=21.3). I pulled in the newest version I had at the time.
I only use it for packaging.requirements.Requirements. Which was added in packaging 16.1: https://github.com/pypa/packaging/releases/tag/16.1
https://pkgs.org/download/python3-packaging suggests that the oldest version we care about is 17.1 in Ubuntu Bionic. So I think with this bound we're hunky dory.
2022-03-04 22:40:24 +00:00
Erik Johnston
0752ab7a36
Reduce to-device queries for /sync. ( #12163 )
2022-03-04 17:57:27 +00:00
Sean Quah
75574726a7
Add type hints for ObservableDeferred attributes ( #12159 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-04 15:37:02 +00:00
Sean Quah
158e0937eb
Add test for ObservableDeferred's cancellation behaviour ( #12149 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-04 13:10:05 +00:00
Patrick Cloke
cd1ae3d0b4
Remove backwards compatibility with RelationPaginationToken. ( #12138 )
2022-03-04 07:10:10 -05:00
David Robertson
36071d39f7
Changelog ( #12153 )
2022-03-04 12:01:51 +00:00
David Robertson
4aeb00ca20
Move synctl into synapse._scripts and expose as an entrypoint ( #12140 )
2022-03-04 11:58:49 +00:00
Erik Johnston
423cca9efe
Spread out sending device lists to remote hosts ( #12132 )
2022-03-04 11:48:15 +00:00
Richard van der Hoff
87c230c27c
Update client-visibility filtering for outlier events ( #12155 )
...
Avoid trying to get the state for outliers, which isn't a sensible thing to do.
2022-03-04 10:31:19 +00:00
Richard van der Hoff
d56202b038
Fix type of events in StateGroupStorage and StateHandler ( #12156 )
...
We make multiple passes over this, so a regular iterable won't do.
2022-03-04 10:25:18 +00:00
Richard van der Hoff
8533c8b03d
Avoid generating state groups for local out-of-band leaves ( #12154 )
...
If we locally generate a rejection for an invite received over federation, it
is stored as an outlier (because we probably don't have the state for the
room). However, currently we still generate a state group for it (even though
the state in that state group will be nonsense).
By setting the `outlier` param on `create_event`, we avoid the nonsensical
state.
2022-03-03 19:58:08 +00:00
Andrew Morgan
fb0ffa9676
Rename various ApplicationServices interested methods ( #11915 )
2022-03-03 18:14:09 +00:00
David Robertson
9297d040a7
Detox, part 2 of N ( #12152 )
...
I've argued in #11537 that poetry and tox don't cooperate well at the
moment. (See also #12119.) Therefore I'm pruning away bits of tox to make the transition to poetry easier. This change removes the commands for coverage.
We don't use coverage in anger at the moment. It shouldn't be too hard to add coverage as a dev-dependency and reintroduce this if we really want it.
2022-03-03 17:14:09 +00:00
Dirk Klimpel
7e91107be1
Add type hints to tests/rest ( #12146 )
...
* Add type hints to `tests/rest`
* newsfile
* change import from `SigningKey`
2022-03-03 16:05:44 +00:00
Patrick Cloke
1d11b452b7
Use the proper serialization format when bundling aggregations. ( #12090 )
...
This ensures that the `latest_event` field of the bundled aggregation
for threads uses the same format as the other events in the response.
2022-03-03 10:43:06 -05:00
David Robertson
cea1b58c4a
Don't impose version checks on dev extras at runtime ( #12129 )
...
* Fix incorrect argument in test case
* Add copyright header
* Docstring and __all__
* Exclude dev depenencies
* Use changelog from #12088
* Include version in error messages
This will hopefully distinguish between the version of the source code
and the version of the distribution package that is installed.
* Linter script is your friend
2022-03-03 12:47:55 +00:00
Eric Eastwood
a511a890d7
Enable MSC2716 Complement tests in Synapse ( #12145 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-03-03 11:19:20 +00:00
Erik Johnston
61fd2a8f59
Limit the size of the aggregation_key ( #12101 )
...
There's no reason to let people use long keys.
2022-03-03 10:52:35 +00:00
Eric Eastwood
31b125ccec
Enable MSC3030 Complement tests in Synapse ( #12144 )
...
The Complement tests for MSC3030 are now merged, https://github.com/matrix-org/complement/pull/178
Synapse implmentation: https://github.com/matrix-org/synapse/pull/9445
2022-03-03 11:45:23 +01:00
Brendan Abolivier
ae8a616b49
Correctly register deactivation and profile update module callbacks ( #12141 )
2022-03-03 11:39:58 +01:00
David Robertson
11282ade1d
Move the snapcraft configuration to contrib. ( #12142 )
...
* Move the `snapcraft` configuration to `contrib`.
We're happy for people to package this as a snap image if it's useful,
but we don't support or maintain it. I'd like to move the config to
`contrib` to reflect this state of affairs.
* Changelog
2022-03-02 19:22:44 +00:00
David Robertson
1fbe0316a9
Add suffices to scripts in scripts-dev ( #12137 )
...
* Rename scripts-dev to have suffices
* Update references to `scripts-dev`
* Changelog
* These scripts don't pass mypy
2022-03-02 18:00:26 +00:00
David Robertson
106959b3cf
Remove unused mocks from test_typing ( #12136 )
...
* Remove unused mocks from `test_typing`
It's not clear what these do. `get_user_by_access_token` has the wrong
signature, including the return type. Tests all pass without these. I
think we should nuke them.
* Changelog
* Fixup imports
2022-03-02 17:24:52 +00:00
Dirk Klimpel
2ffaf30803
Add type hints to tests/rest/client ( #12108 )
...
* Add type hints to `tests/rest/client`
* newsfile
* fix imports
* add `test_account.py`
* Remove one type hint in `test_report_event.py`
* change `on_create_room` to `async`
* update new functions in `test_third_party_rules.py`
* Add `test_filter.py`
* add `test_rooms.py`
* change to `assertEquals` to `assertEqual`
* lint
2022-03-02 16:34:14 +00:00
Andrew Morgan
b4461e7d8a
Enable complexity checking in complexity checking docs example ( #11998 )
2022-03-02 16:11:16 +00:00
Olivier Wilkinson (reivilibre)
594a07ede4
Merge tag 'v1.54.0rc1' into develop
...
Synapse 1.54.0rc1 (2022-03-02)
==============================
Please note that this will be the last release of Synapse that is compatible with Mjolnir 1.3.1 and earlier.
Administrators of servers which have the Mjolnir module installed are advised to upgrade Mjolnir to version 1.3.2 or later.
Features
--------
- Add support for [MSC3202](https://github.com/matrix-org/matrix-doc/pull/3202 ): sending one-time key counts and fallback key usage states to Application Services. ([\#11617](https://github.com/matrix-org/synapse/issues/11617 ))
- Improve the generated URL previews for some web pages. Contributed by @AndrewRyanChama. ([\#11985](https://github.com/matrix-org/synapse/issues/11985 ))
- Track cache invalidations in Prometheus metrics, as already happens for cache eviction based on size or time. ([\#12000](https://github.com/matrix-org/synapse/issues/12000 ))
- Implement experimental support for [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720 ) (account status endpoints). ([\#12001](https://github.com/matrix-org/synapse/issues/12001 ), [\#12067](https://github.com/matrix-org/synapse/issues/12067 ))
- Enable modules to set a custom display name when registering a user. ([\#12009](https://github.com/matrix-org/synapse/issues/12009 ))
- Advertise Matrix 1.1 and 1.2 support on `/_matrix/client/versions`. ([\#12020](https://github.com/matrix-org/synapse/issues/12020 ), ([\#12022](https://github.com/matrix-org/synapse/issues/12022 ))
- Support only the stable identifier for [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069 )'s `is_guest` on `/_matrix/client/v3/account/whoami`. ([\#12021](https://github.com/matrix-org/synapse/issues/12021 ))
- Use room version 9 as the default room version (per [MSC3589](https://github.com/matrix-org/matrix-doc/pull/3589 )). ([\#12058](https://github.com/matrix-org/synapse/issues/12058 ))
- Add module callbacks to react to user deactivation status changes (i.e. deactivations and reactivations) and profile updates. ([\#12062](https://github.com/matrix-org/synapse/issues/12062 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.48.0 where an edit of the latest event in a thread would not be properly applied to the thread summary. ([\#11992](https://github.com/matrix-org/synapse/issues/11992 ))
- Fix long-standing bug where the `get_rooms_for_user` cache was not correctly invalidated for remote users when the server left a room. ([\#11999](https://github.com/matrix-org/synapse/issues/11999 ))
- Fix a 500 error with Postgres when looking backwards with the [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030 ) `/timestamp_to_event?dir=b` endpoint. ([\#12024](https://github.com/matrix-org/synapse/issues/12024 ))
- Properly fix a long-standing bug where wrong data could be inserted into the `event_search` table when using SQLite. This could block running `synapse_port_db` with an `argument of type 'int' is not iterable` error. This bug was partially fixed by a change in Synapse 1.44.0. ([\#12037](https://github.com/matrix-org/synapse/issues/12037 ))
- Fix slow performance of `/logout` in some cases where refresh tokens are in use. The slowness existed since the initial implementation of refresh tokens in version 1.38.0. ([\#12056](https://github.com/matrix-org/synapse/issues/12056 ))
- Fix a long-standing bug where Synapse would make additional failing requests over federation for missing data. ([\#12077](https://github.com/matrix-org/synapse/issues/12077 ))
- Fix occasional `Unhandled error in Deferred` error message. ([\#12089](https://github.com/matrix-org/synapse/issues/12089 ))
- Fix a bug introduced in Synapse 1.51.0 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`. ([\#12098](https://github.com/matrix-org/synapse/issues/12098 ))
- Fix a long-standing bug which could cause push notifications to malfunction if `use_frozen_dicts` was set in the configuration. ([\#12100](https://github.com/matrix-org/synapse/issues/12100 ))
- Fix an extremely rare, long-standing bug in `ReadWriteLock` that would cause an error when a newly unblocked writer completes instantly. ([\#12105](https://github.com/matrix-org/synapse/issues/12105 ))
- Make a `POST` to `/rooms/<room_id>/receipt/m.read/<event_id>` only trigger a push notification if the count of unread messages is different to the one in the last successfully sent push. This reduces server load and load on the receiving device. ([\#11835](https://github.com/matrix-org/synapse/issues/11835 ))
Updates to the Docker image
---------------------------
- The Docker image no longer automatically creates a temporary volume at `/data`. This is not expected to affect normal usage. ([\#11997](https://github.com/matrix-org/synapse/issues/11997 ))
- Use Python 3.9 in Docker images by default. ([\#12112](https://github.com/matrix-org/synapse/issues/12112 ))
Improved Documentation
----------------------
- Document support for the `to_device`, `account_data`, `receipts`, and `presence` stream writers for workers. ([\#11599](https://github.com/matrix-org/synapse/issues/11599 ))
- Explain the meaning of spam checker callbacks' return values. ([\#12003](https://github.com/matrix-org/synapse/issues/12003 ))
- Clarify information about external Identity Provider IDs. ([\#12004](https://github.com/matrix-org/synapse/issues/12004 ))
Deprecations and Removals
-------------------------
- Deprecate using `synctl` with the config option `synctl_cache_factor` and print a warning if a user still uses this option. ([\#11865](https://github.com/matrix-org/synapse/issues/11865 ))
- Remove support for the legacy structured logging configuration (please see the the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#legacy-structured-logging-configuration-removal ) if you are using `structured: true` in the Synapse configuration). ([\#12008](https://github.com/matrix-org/synapse/issues/12008 ))
- Drop support for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283 ) unstable flags now that the stable flags are supported. ([\#12018](https://github.com/matrix-org/synapse/issues/12018 ))
- Remove the unstable `/spaces` endpoint from [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946 ). ([\#12073](https://github.com/matrix-org/synapse/issues/12073 ))
Internal Changes
----------------
- Make the `get_room_version` method use `get_room_version_id` to benefit from caching. ([\#11808](https://github.com/matrix-org/synapse/issues/11808 ))
- Remove unnecessary condition on knock -> leave auth rule check. ([\#11900](https://github.com/matrix-org/synapse/issues/11900 ))
- Add tests for device list changes between local users. ([\#11972](https://github.com/matrix-org/synapse/issues/11972 ))
- Optimise calculating `device_list` changes in `/sync`. ([\#11974](https://github.com/matrix-org/synapse/issues/11974 ))
- Add missing type hints to storage classes. ([\#11984](https://github.com/matrix-org/synapse/issues/11984 ))
- Refactor the search code for improved readability. ([\#11991](https://github.com/matrix-org/synapse/issues/11991 ))
- Move common deduplication code down into `_auth_and_persist_outliers`. ([\#11994](https://github.com/matrix-org/synapse/issues/11994 ))
- Limit concurrent joins from applications services. ([\#11996](https://github.com/matrix-org/synapse/issues/11996 ))
- Preparation for faster-room-join work: when parsing the `send_join` response, get the `m.room.create` event from `state`, not `auth_chain`. ([\#12005](https://github.com/matrix-org/synapse/issues/12005 ), [\#12039](https://github.com/matrix-org/synapse/issues/12039 ))
- Preparation for faster-room-join work: parse MSC3706 fields in send_join response. ([\#12011](https://github.com/matrix-org/synapse/issues/12011 ))
- Preparation for faster-room-join work: persist information on which events and rooms have partial state to the database. ([\#12012](https://github.com/matrix-org/synapse/issues/12012 ))
- Preparation for faster-room-join work: Support for calling `/federation/v1/state` on a remote server. ([\#12013](https://github.com/matrix-org/synapse/issues/12013 ))
- Configure `tox` to use `venv` rather than `virtualenv`. ([\#12015](https://github.com/matrix-org/synapse/issues/12015 ))
- Fix bug in `StateFilter.return_expanded()` and add some tests. ([\#12016](https://github.com/matrix-org/synapse/issues/12016 ))
- Use Matrix v1.1 endpoints (`/_matrix/client/v3/auth/...`) in fallback auth HTML forms. ([\#12019](https://github.com/matrix-org/synapse/issues/12019 ))
- Update the `olddeps` CI job to use an old version of `markupsafe`. ([\#12025](https://github.com/matrix-org/synapse/issues/12025 ))
- Upgrade Mypy to version 0.931. ([\#12030](https://github.com/matrix-org/synapse/issues/12030 ))
- Remove legacy `HomeServer.get_datastore()`. ([\#12031](https://github.com/matrix-org/synapse/issues/12031 ), [\#12070](https://github.com/matrix-org/synapse/issues/12070 ))
- Minor typing fixes. ([\#12034](https://github.com/matrix-org/synapse/issues/12034 ), [\#12069](https://github.com/matrix-org/synapse/issues/12069 ))
- After joining a room, create a dedicated logcontext to process the queued events. ([\#12041](https://github.com/matrix-org/synapse/issues/12041 ))
- Tidy up GitHub Actions config which builds distributions for PyPI. ([\#12051](https://github.com/matrix-org/synapse/issues/12051 ))
- Move configuration out of `setup.cfg`. ([\#12052](https://github.com/matrix-org/synapse/issues/12052 ), [\#12059](https://github.com/matrix-org/synapse/issues/12059 ))
- Fix error message when a worker process fails to talk to another worker process. ([\#12060](https://github.com/matrix-org/synapse/issues/12060 ))
- Fix using the `complement.sh` script without specifying a directory or a branch. Contributed by Nico on behalf of Famedly. ([\#12063](https://github.com/matrix-org/synapse/issues/12063 ))
- Add type hints to `tests/rest/client`. ([\#12066](https://github.com/matrix-org/synapse/issues/12066 ), [\#12072](https://github.com/matrix-org/synapse/issues/12072 ), [\#12084](https://github.com/matrix-org/synapse/issues/12084 ), [\#12094](https://github.com/matrix-org/synapse/issues/12094 ))
- Add some logging to `/sync` to try and track down #11916 . ([\#12068](https://github.com/matrix-org/synapse/issues/12068 ))
- Inspect application dependencies using `importlib.metadata` or its backport. ([\#12088](https://github.com/matrix-org/synapse/issues/12088 ))
- Use `assertEqual` instead of the deprecated `assertEquals` in test code. ([\#12092](https://github.com/matrix-org/synapse/issues/12092 ))
- Move experimental support for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440 ) to `/versions`. ([\#12099](https://github.com/matrix-org/synapse/issues/12099 ))
- Add `stop_cancellation` utility function to stop `Deferred`s from being cancelled. ([\#12106](https://github.com/matrix-org/synapse/issues/12106 ))
- Improve exception handling for concurrent execution. ([\#12109](https://github.com/matrix-org/synapse/issues/12109 ))
- Advertise support for Python 3.10 in packaging files. ([\#12111](https://github.com/matrix-org/synapse/issues/12111 ))
- Move CI checks out of tox, to facilitate a move to using poetry. ([\#12119](https://github.com/matrix-org/synapse/issues/12119 ))
2022-03-02 15:26:43 +00:00
Erik Johnston
6d282a9c89
Make release script write correct no-op changelog ( #12127 )
...
As we want to include the previous version in the "No new changes..."
string.
2022-03-02 14:28:18 +00:00
Patrick Cloke
1103c5fe8a
Check if instances are lists, not sequences. ( #12128 )
...
As a str is a sequence, the checks were not granular
enough and would allow lists or strings, when only
lists were valid.
2022-03-02 13:18:51 +00:00
David Robertson
f3f0ab10fe
Move scripts directory inside synapse, exposing as setuptools entry_points ( #12118 )
...
* Two scripts are basically entry_points already
* Move and rename scripts/* to synapse/_scripts/*.py
* Delete sync_room_to_group.pl
* Expose entry points in setup.py
* Update linter script and config
* Fixup scripts & docs mentioning scripts that moved
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-03-02 13:00:16 +00:00
Olivier Wilkinson (reivilibre)
3b9142f7f4
Reword changelog line about URL previews
2022-03-02 12:09:48 +00:00
Olivier Wilkinson (reivilibre)
7317b0be82
Tweak changelog
2022-03-02 11:59:53 +00:00
Patrick Cloke
6adb89ff00
Improve and refactor the tests for relations. ( #12113 )
...
* Modernizes code (f-strings, etc.)
* Fixes incorrect comments.
* Splits the test case into two.
* Factors out some duplicated code.
2022-03-02 06:56:16 -05:00
Olivier Wilkinson (reivilibre)
010457011c
Apply suggestions to changelog
2022-03-02 11:28:30 +00:00
Olivier Wilkinson (reivilibre)
d800108bb4
Reword changelog
2022-03-02 10:54:52 +00:00
Olivier Wilkinson (reivilibre)
879e4a7bd7
1.54.0rc1
2022-03-02 10:45:16 +00:00
Olivier Wilkinson (reivilibre)
a43a5ea5bf
Remove misleading newsfile from #12126 which backs out an unreleased change.
2022-03-02 10:38:10 +00:00
reivilibre
c7b2f1ccdc
Back out in-flight state caching changes. ( #12126 )
2022-03-02 10:37:04 +00:00
lukasdenk
8e56a1b73c
Make get_room_version use cached get_room_version_id. ( #11808 )
2022-03-02 10:35:34 +00:00
David Robertson
5f62a094de
Detox, part 1 of N ( #12119 )
...
* Don't use `tox` for `check-sampleconfig`
* Don't use `tox` for check-newsfragment
2022-03-01 19:47:02 +00:00
David Robertson
313581e4e9
Use importlib.metadata to read requirements ( #12088 )
...
* 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 17:44:41 +00:00
Sean Quah
4d6b6c17c8
Fix rare error in ReadWriteLock when writers complete immediately ( #12105 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-03-01 15:27:15 +00:00
Brendan Abolivier
300ed0b8a6
Add module callbacks called for reacting to deactivation status change and profile update ( #12062 )
2022-03-01 15:00:03 +00:00
Andrew Morgan
f26e390a40
Use Python 3.9 in Synapse dockerfiles by default ( #12112 )
2022-03-01 13:55:18 +00:00
Sean Quah
91bc15c772
Add stop_cancellation utility function ( #12106 )
2022-03-01 13:51:03 +00:00
reivilibre
c893632319
Order in-flight state group queries in biggest-first order ( #11610 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-03-01 13:41:57 +00:00
Richard van der Hoff
e2e1d90a5e
Faster joins: persist to database ( #12012 )
...
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 12:49:54 +00:00
Andrew Morgan
4ccc2d09aa
Advertise Python 3.10 support in setup.py ( #12111 )
2022-03-01 12:35:32 +00:00
Richard van der Hoff
5458eb8551
Fix 'Unhandled error in Deferred' ( #12089 )
...
* 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 09:51:38 +00:00
Richard van der Hoff
9d11fee8f2
Improve exception handling for concurrent execution ( #12109 )
...
* 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-03-01 09:34:30 +00:00
Dirk Klimpel
952efd0bca
Add type hints to tests/rest/client ( #12094 )
...
* Add type hints to `tests/rest/client`
* update `mypy.ini`
* newsfile
* add `test_register.py`
2022-02-28 18:59:00 +00:00
Patrick Cloke
7754af24ab
Remove the unstable /spaces endpoint. ( #12073 )
...
...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 18:33:00 +00:00
Patrick Cloke
1866fb39d7
Move experimental support for MSC3440 to /versions. ( #12099 )
...
Instead of being part of /capabilities, this matches a change to
MSC3440 to properly use these endpoints.
2022-02-28 18:29:09 +00:00
Dirk Klimpel
1901cb1d4a
Add type hints to tests/rest/client ( #12084 )
2022-02-28 17:47:37 +00:00
Richard van der Hoff
6c0b44a3d7
Fix PushRuleEvaluator and Filter to work on frozendicts ( #12100 )
...
* 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 17:40:24 +00:00
David Robertson
5565f454e1
Actually fix bad debug logging rejecting device list & signing key transactions ( #12098 )
2022-02-28 14:10:36 +00:00
Patrick Cloke
9e83521af8
Properly failover for unknown endpoints from Conduit/Dendrite. ( #12077 )
...
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 07:52:44 -05:00
Patrick Cloke
02d708568b
Replace assertEquals and friends with non-deprecated versions. ( #12092 )
2022-02-28 07:12:29 -05:00
lukasdenk
ab3ef49059
synctl: print warning if synctl_cache_factor is set in config ( #11865 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2022-02-28 11:42:13 +00:00
Sean Quah
b43c3ef8e2
Ensure that get_datastores().main is typed ( #12070 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-02-25 10:20:40 +00:00
Sean Quah
f3fd8558cd
Minor typing fixes for synapse/storage/persist_events.py ( #12069 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2022-02-25 10:19:49 +00:00
Dirk Klimpel
54e74cc15f
Add type hints to tests/rest/client ( #12072 )
2022-02-24 13:56:38 -05:00
reivilibre
2cc5ea933d
Add support for MSC3202: sending one-time key counts and fallback key usage states to Application Services. ( #11617 )
...
Co-authored-by: Erik Johnston <erik@matrix.org >
2022-02-24 17:55:45 +00:00
Sean Quah
41cf4c2cf6
Fix non-strings in the event_search table ( #12037 )
...
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-24 11:52:28 +00:00
Patrick Cloke
c56bfb08bc
Add documentation for missing worker types. ( #11599 )
...
And clean-up the endpoints which should be routed to workers.
2022-02-23 22:49:04 +00:00
Erik Johnston
a711ae78a8
Add logging to /sync for debugging #11916 ( #12068 )
2022-02-23 14:22:22 +00:00
Dirk Klimpel
64c73c6ac8
Add type hints to tests/rest/client ( #12066 )
2022-02-23 08:33:19 -05:00
Richard van der Hoff
5b2b36809f
Remove more references to get_datastore ( #12067 )
...
These have snuck in since #12031 was started.
Also a couple of other cleanups while we're in the area.
2022-02-23 12:35:53 +00:00
Richard van der Hoff
e24ff8ebe3
Remove HomeServer.get_datastore() ( #12031 )
...
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 11:04:02 +00:00
Nicolas Werner
c1ac2a8135
Rename default branch of complement.sh to main ( #12063 )
...
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-23 10:06:18 +00:00
Travis Ralston
e3fe6347be
Remove excess condition on knock->leave check ( #11900 )
2022-02-22 18:35:01 +00:00
Erik Johnston
6d14b3dabf
Better error message when failing to request from another process ( #12060 )
2022-02-22 15:52:08 +00:00
Brendan Abolivier
250104d357
Implement account status endpoints (MSC3720) ( #12001 )
...
See matrix-org/matrix-doc#3720
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com >
2022-02-22 15:10:10 +00:00
David Robertson
94a396e7c4
Prune setup.cfg some more ( #12059 )
...
* 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 14:52:56 +00:00
reivilibre
dcb6a37837
Cap the number of in-flight requests for state from a single group ( #11608 )
2022-02-22 14:24:31 +00:00
Patrick Cloke
7bcc28f82f
Use room version 9 as the default room version (per MSC3589). ( #12058 )
2022-02-22 14:09:40 +00:00
Richard van der Hoff
81364db49b
Run _handle_queued_pdus as a background process ( #12041 )
...
... to ensure it gets a proper log context, mostly.
2022-02-22 13:33:22 +00:00
reivilibre
235d2916ce
Fix slow performance of /logout in some cases where refresh tokens are in use. The slowness existed since the initial implementation of refresh tokens. ( #12056 )
2022-02-22 13:29:04 +00:00
Erik Johnston
6a1bad511d
Merge remote-tracking branch 'origin/master' into develop
2022-02-22 12:26:49 +00:00
Erik Johnston
07f82ac29b
Merge branch 'release-v1.53'
2022-02-22 12:26:17 +00:00
Richard van der Hoff
7273011f60
Faster joins: Support for calling /federation/v1/state ( #12013 )
...
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 12:17:10 +00:00
AndrewRyanChama
066171643b
Fetch images when previewing Twitter URLs. ( #11985 )
...
By including "bot" in the User-Agent, which some sites use
to decide whether to include additional Open Graph information.
2022-02-22 07:11:39 -05:00
Erik Johnston
79c18e0709
Merge remote-tracking branch 'origin/master' into develop
2022-02-22 12:05:48 +00:00
Erik Johnston
1bf9cbbf75
Update changelog
2022-02-22 12:00:46 +00:00
Erik Johnston
45e2c04f78
Update changelog
2022-02-22 12:00:05 +00:00
reivilibre
546b9c9e64
Add more tests for in-flight state query duplication. ( #12033 )
2022-02-22 11:44:11 +00:00
David Robertson
af2c1e3d2a
Tidy the building of sdists and wheels ( #12051 )
...
* Don't build distribution pkgs in tests.yml
* Run `release-artifacts` on release branches
* Use backend-meta workflow for packaging
2022-02-22 11:33:37 +00:00
Erik Johnston
551dd8c9f8
1.53.0
2022-02-22 11:32:11 +00:00
David Robertson
1ae492c8c0
Move isort config to pyproject.toml ( #12052 )
2022-02-22 11:30:19 +00:00
Travis Ralston
d7cb0dcbaa
Use v3 endpoints for fallback auth (Matrix 1.1) ( #12019 )
2022-02-22 11:20:45 +00:00
Richard van der Hoff
3070af4809
remote join processing: get create event from state, not auth_chain ( #12039 )
...
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 19:27:35 +00:00
Richard van der Hoff
a85dde3445
Minor typing fixes ( #12034 )
...
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 18:37:04 +00:00
Dirk Klimpel
7c82da27aa
Add type hints to synapse/storage/databases/main ( #11984 )
2022-02-21 16:03:06 +00:00
Travis Ralston
99f6d79fe1
Advertise Matrix 1.2 in /_matrix/client/versions ( #12022 )
...
Co-authored-by: Patrick Cloke <patrickc@matrix.org >
2022-02-21 08:59:29 -07:00
Patrick Cloke
444b04058b
Document why auth providers aren't validated in the admin API. ( #12004 )
...
Since it is reasonable to give a future or past auth provider,
which might not be in the current configuration.
2022-02-18 17:24:25 +00:00
reivilibre
284ea2025a
Track and deduplicate in-flight requests to _get_state_for_groups. ( #10870 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-02-18 17:23:31 +00:00
Sean Quah
e6acd3cf4f
Upgrade mypy to version 0.931 ( #12030 )
...
Upgrade mypy to 0.931, mypy-zope to 0.3.5 and fix new complaints.
2022-02-18 15:57:26 +00:00
reivilibre
eb609c65d0
Fix bug in StateFilter.return_expanded() and add some tests. ( #12016 )
2022-02-18 14:54:31 +00:00
Travis Ralston
31a298fec7
Advertise Matrix 1.1 in /_matrix/client/versions ( #12020 )
2022-02-18 07:49:53 -05:00
Travis Ralston
19bd9cff1a
Use stable MSC3069 is_guest flag on /whoami. ( #12021 )
...
Keeping backwards compatibility with the unstable flag for now.
2022-02-18 07:48:23 -05:00
Eric Eastwood
5a6911598a
Fix 500 error with Postgres when looking backwards with the MSC3030 /timestamp_to_event endpoint ( #12024 )
2022-02-18 12:11:18 +00:00
Brendan Abolivier
40e256e7aa
Update the olddeps CI check to use an old version of markupsafe ( #12025 )
2022-02-18 11:38:48 +00:00
Erik Johnston
3f4d25a48b
Remove unstable MSC3283 flags ( #12018 )
...
Fixes #11962
2022-02-17 17:22:55 +00:00
Brendan Abolivier
707049c6ff
Allow modules to set a display name on registration ( #12009 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-02-17 16:54:16 +00:00
Richard van der Hoff
da0e9f8efd
Faster joins: parse msc3706 fields in send_join response ( #12011 )
...
Part of my work on #11249 : add code to handle the new fields added in MSC3706.
2022-02-17 16:11:59 +00:00
Richard van der Hoff
6127c4b9f1
Configure tox to use venv ( #12015 )
...
As the comment says, virtualenv is a pile of fail.
2022-02-17 15:55:14 +00:00
Patrick Cloke
e69f8f0a8e
Remove support for the legacy structured logging configuration. ( #12008 )
2022-02-17 13:32:18 +00:00
Richard van der Hoff
696acd3515
send_join response: get create event from state, not auth_chain (#12005 )
...
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 11:59:26 +00:00
lukasdenk
4077177390
Prevent duplicate push notifications for room reads ( #11835 )
2022-02-17 10:23:54 +00:00
David Robertson
73fc488783
Explain the meaning of spam checker callbacks' return values ( #12003 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-02-16 12:25:43 +00:00
Patrick Cloke
7a92d68441
Fix a typo in a comment.
2022-02-16 06:53:21 -05:00
Brendan Abolivier
130fd45393
Limit concurrent AS joins ( #11996 )
...
Initially introduced in matrix-org-hotfixes by e5537cf (and tweaked by later commits).
Fixes #11995
See also #4826
2022-02-16 11:16:48 +00:00
Erik Johnston
2b5643b3af
Optimise calculating device_list changes in /sync. ( #11974 )
...
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 15:01:00 +00:00
Richard van der Hoff
bab2394aa9
_auth_and_persist_outliers: drop events we have already seen (#11994 )
...
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 14:33:28 +00:00
Erik Johnston
0dbbe33a65
Track cache invalidations ( #12000 )
...
Currently we only track evictions due to size or time constraints.
2022-02-15 14:31:04 +00:00
Erik Johnston
dc9fe61050
Fix incorrect get_rooms_for_user for remote user ( #11999 )
...
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 14:26:28 +00:00
Richard van der Hoff
5598556b77
Docker: remove VOLUME directive ( #11997 )
...
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 13:59:15 +00:00
Patrick Cloke
e44f91d678
Refactor search code to reduce function size. ( #11991 )
...
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 13:47:05 +00:00
Patrick Cloke
45f45404de
Fix incorrect thread summaries when the latest event is edited. ( #11992 )
...
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 08:26:57 -05:00
Sean Quah
85e24d9d2b
Merge tag 'v1.53.0rc1' into develop
...
Synapse 1.53.0rc1 (2022-02-15)
==============================
Features
--------
- Add experimental support for sending to-device messages to application services, as specified by [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409 ). ([\#11215](https://github.com/matrix-org/synapse/issues/11215 ), [\#11966](https://github.com/matrix-org/synapse/issues/11966 ))
- Remove account data (including client config, push rules and ignored users) upon user deactivation. ([\#11655](https://github.com/matrix-org/synapse/issues/11655 ))
- Experimental support for [MSC3666](https://github.com/matrix-org/matrix-doc/pull/3666 ): including bundled aggregations in server side search results. ([\#11837](https://github.com/matrix-org/synapse/issues/11837 ))
- Enable cache time-based expiry by default. The `expiry_time` config flag has been superseded by `expire_caches` and `cache_entry_ttl`. ([\#11849](https://github.com/matrix-org/synapse/issues/11849 ))
- Add a callback to allow modules to allow or forbid a 3PID (email address, phone number) from being associated to a local account. ([\#11854](https://github.com/matrix-org/synapse/issues/11854 ))
- Stabilize support and remove unstable endpoints for [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231 ). Clients must switch to the stable identifier and endpoint. See the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#stablisation-of-msc3231 ) for more information. ([\#11867](https://github.com/matrix-org/synapse/issues/11867 ))
- Allow modules to retrieve the current instance's server name and worker name. ([\#11868](https://github.com/matrix-org/synapse/issues/11868 ))
- Use a dedicated configurable rate limiter for 3PID invites. ([\#11892](https://github.com/matrix-org/synapse/issues/11892 ))
- Support the stable API endpoint for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283 ): new settings in `/capabilities` endpoint. ([\#11933](https://github.com/matrix-org/synapse/issues/11933 ), [\#11989](https://github.com/matrix-org/synapse/issues/11989 ))
- Support the `dir` parameter on the `/relations` endpoint, per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#11941](https://github.com/matrix-org/synapse/issues/11941 ))
- Experimental implementation of [MSC3706](https://github.com/matrix-org/matrix-doc/pull/3706 ): extensions to `/send_join` to support reduced response size. ([\#11967](https://github.com/matrix-org/synapse/issues/11967 ))
Bugfixes
--------
- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716 ) historical messages backfilling in random order on remote homeservers. ([\#11114](https://github.com/matrix-org/synapse/issues/11114 ))
- Fix a bug introduced in Synapse 1.51.0 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`. ([\#11890](https://github.com/matrix-org/synapse/issues/11890 ))
- Fix a long-standing bug where some unknown endpoints would return HTML error pages instead of JSON `M_UNRECOGNIZED` errors. ([\#11930](https://github.com/matrix-org/synapse/issues/11930 ))
- Implement an allow list of content types for which we will attempt to preview a URL. This prevents Synapse from making useless longer-lived connections to streaming media servers. ([\#11936](https://github.com/matrix-org/synapse/issues/11936 ))
- Fix a long-standing bug where pagination tokens from `/sync` and `/messages` could not be provided to the `/relations` API. ([\#11952](https://github.com/matrix-org/synapse/issues/11952 ))
- Require that modules register their callbacks using keyword arguments. ([\#11975](https://github.com/matrix-org/synapse/issues/11975 ))
- Fix a long-standing bug where `M_WRONG_ROOM_KEYS_VERSION` errors would not include the specced `current_version` field. ([\#11988](https://github.com/matrix-org/synapse/issues/11988 ))
Improved Documentation
----------------------
- Fix typo in User Admin API: unpind -> unbind. ([\#11859](https://github.com/matrix-org/synapse/issues/11859 ))
- Document images returned by the User List Media Admin API can include those generated by URL previews. ([\#11862](https://github.com/matrix-org/synapse/issues/11862 ))
- Remove outdated MSC1711 FAQ document. ([\#11907](https://github.com/matrix-org/synapse/issues/11907 ))
- Correct the structured logging configuration example. Contributed by Brad Jones. ([\#11946](https://github.com/matrix-org/synapse/issues/11946 ))
- Add information on the Synapse release cycle. ([\#11954](https://github.com/matrix-org/synapse/issues/11954 ))
- Fix broken link in the README to the admin API for password reset. ([\#11955](https://github.com/matrix-org/synapse/issues/11955 ))
Deprecations and Removals
-------------------------
- Drop support for `webclient` listeners and configuring `web_client_location` to a non-HTTP(S) URL. Deprecated configurations are a configuration error. ([\#11895](https://github.com/matrix-org/synapse/issues/11895 ))
- Remove deprecated `user_may_create_room_with_invites` spam checker callback. See the [upgrade notes](https://matrix-org.github.io/synapse/latest/upgrade.html#removal-of-user_may_create_room_with_invites ) for more information. ([\#11950](https://github.com/matrix-org/synapse/issues/11950 ))
- No longer build `.deb` packages for Ubuntu 21.04 Hirsute Hippo, which has now EOLed. ([\#11961](https://github.com/matrix-org/synapse/issues/11961 ))
Internal Changes
----------------
- Enhance user registration test helpers to make them more useful for tests involving application services and devices. ([\#11615](https://github.com/matrix-org/synapse/issues/11615 ), [\#11616](https://github.com/matrix-org/synapse/issues/11616 ))
- Improve performance when fetching bundled aggregations for multiple events. ([\#11660](https://github.com/matrix-org/synapse/issues/11660 ), [\#11752](https://github.com/matrix-org/synapse/issues/11752 ))
- Fix type errors introduced by new annotations in the Prometheus Client library. ([\#11832](https://github.com/matrix-org/synapse/issues/11832 ))
- Add missing type hints to replication code. ([\#11856](https://github.com/matrix-org/synapse/issues/11856 ), [\#11938](https://github.com/matrix-org/synapse/issues/11938 ))
- Ensure that `opentracing` scopes are activated and closed at the right time. ([\#11869](https://github.com/matrix-org/synapse/issues/11869 ))
- Improve opentracing for incoming federation requests. ([\#11870](https://github.com/matrix-org/synapse/issues/11870 ))
- Improve internal docstrings in `synapse.util.caches`. ([\#11876](https://github.com/matrix-org/synapse/issues/11876 ))
- Do not needlessly clear the `get_users_in_room` and `get_users_in_room_with_profiles` caches when any room state changes. ([\#11878](https://github.com/matrix-org/synapse/issues/11878 ))
- Convert `ApplicationServiceTestCase` to use `simple_async_mock`. ([\#11880](https://github.com/matrix-org/synapse/issues/11880 ))
- Remove experimental changes to the default push rules which were introduced in Synapse 1.19.0 but never enabled. ([\#11884](https://github.com/matrix-org/synapse/issues/11884 ))
- Disable coverage calculation for olddeps build. ([\#11888](https://github.com/matrix-org/synapse/issues/11888 ))
- Preparation to support sending device list updates to application services. ([\#11905](https://github.com/matrix-org/synapse/issues/11905 ))
- Add a test that checks users receive their own device list updates down `/sync`. ([\#11909](https://github.com/matrix-org/synapse/issues/11909 ))
- Run Complement tests sequentially. ([\#11910](https://github.com/matrix-org/synapse/issues/11910 ))
- Various refactors to the application service notifier code. ([\#11911](https://github.com/matrix-org/synapse/issues/11911 ), [\#11912](https://github.com/matrix-org/synapse/issues/11912 ))
- Tests: replace mocked `Authenticator` with the real thing. ([\#11913](https://github.com/matrix-org/synapse/issues/11913 ))
- Various refactors to the typing notifications code. ([\#11914](https://github.com/matrix-org/synapse/issues/11914 ))
- Use the proper type for the `Content-Length` header in the `UploadResource`. ([\#11927](https://github.com/matrix-org/synapse/issues/11927 ))
- Remove an unnecessary ignoring of type hints due to fixes in upstream packages. ([\#11939](https://github.com/matrix-org/synapse/issues/11939 ))
- Add missing type hints. ([\#11953](https://github.com/matrix-org/synapse/issues/11953 ))
- Fix an import cycle in `synapse.event_auth`. ([\#11965](https://github.com/matrix-org/synapse/issues/11965 ))
- Unpin `frozendict` but exclude the known bad version 2.1.2. ([\#11969](https://github.com/matrix-org/synapse/issues/11969 ))
- Prepare for rename of default Complement branch. ([\#11971](https://github.com/matrix-org/synapse/issues/11971 ))
- Fetch Synapse's version using a helper from `matrix-common`. ([\#11979](https://github.com/matrix-org/synapse/issues/11979 ))
2022-02-15 13:14:52 +00:00
Andrew Morgan
87f2005713
Add some tests for propagation of device list changes between local users ( #11972 )
2022-02-15 11:27:56 +00:00
Sean Quah
f66997f291
Update CHANGES.md
2022-02-15 11:12:42 +00:00
Sean Quah
7c05599041
1.53.0rc1
2022-02-15 10:44:24 +00:00
Pascal Bach
c4c98c7518
Revert "Pin to frozendict<2.1.2 ( #11625 )" and allow frozendict>2.1.2 ( #11969 )
...
This reverts commit 2bf31f7807 .
Signed-off-by: Pascal Bach <pascal.bach@nextrem.ch >
2022-02-14 21:18:01 +00:00
Michael Telatynski
54e74f8bde
Fix M_WRONG_ROOM_KEYS_VERSION error not including current_version field ( #11988 )
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2022-02-14 19:28:00 +00:00
Andrew Morgan
7812fe9edd
Note when unstable MSC3283 prefixes will be removed ( #11989 )
2022-02-14 19:07:59 +00:00
H. Shay
9c4563c5cd
remove empty file, reword/rename newsfragment, and add line to upgrade doc
2022-02-14 10:21:00 -08:00
Patrick Cloke
738e569ed2
Require that modules register their callbacks using keyword arguments. ( #11975 )
...
To allow for easier backwards/forwards compatibility by making
it easier to add/remove callbacks.
2022-02-14 09:18:44 -05:00
David Robertson
4ae956c8bb
Use version string helper from matrix-common ( #11979 )
...
* Require latest matrix-common
* Use the common function
2022-02-14 13:12:22 +00:00
Andrew Morgan
55113dd5e8
Notify users, rather than rooms, of device list updates ( #11905 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-02-12 09:33:49 -05:00
Richard van der Hoff
63c46349c4
Implement MSC3706: partial state in /send_join response ( #11967 )
...
* 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
2022-02-12 10:44:16 +00:00
Shay
b2b971f28a
Enable cache time-based expiry by default ( #11849 )
2022-02-11 11:05:20 -08:00
Patrick Cloke
4d7e74b2e5
Support the MSC3715 for /relations. ( #11941 )
...
This adds an unstable org.matrix.msc3715.dir parameter
which acts like dir on /mesages.
2022-02-11 11:20:27 -05:00
Patrick Cloke
b65acead42
Fetch thread summaries for multiple events in a single query ( #11752 )
...
This should reduce database usage when fetching bundled aggregations
as the number of individual queries (and round trips to the database) are
reduced.
2022-02-11 09:50:14 -05:00
Richard van der Hoff
bb98c593a5
Prepare for rename of default complement branch ( #11971 )
...
use `HEAD` rather than hardcoding `master`
2022-02-11 14:43:34 +00:00
Brendan Abolivier
0171fa5226
Remove deprecated user_may_create_room_with_invites callback ( #11950 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-02-11 13:58:11 +00:00
Erik Johnston
086d1d6d0b
Fix Newsfile
...
\#11966 fixes a bug introduced by #11215 , which isn't in a released
version.
2022-02-11 13:51:26 +00:00
Erik Johnston
705a439972
Fix Newsfile
...
\#11966 fixes a bug introduced by #11215 , which isn't in a released
version.
2022-02-11 13:49:40 +00:00
Erik Johnston
79fb64e417
Fix to-device being dropped in limited sync in SQLite. ( #11966 )
...
If ther are more than 100 to-device messages pending for a device
`/sync` will only return the first 100, however the next batch token was
incorrectly calculated and so all other pending messages would be
dropped.
This is due to `txn.rowcount` only returning the number of rows that
*changed*, rather than the number *selected* in SQLite.
2022-02-11 13:38:05 +00:00
Richard van der Hoff
4ef39f3353
fix import cycle ( #11965 )
2022-02-11 13:07:55 +00:00
Patrick Cloke
a121507cfe
Adds misc missing type hints ( #11953 )
2022-02-11 07:20:16 -05:00
Richard van der Hoff
c3db7a0b59
Tests: replace mocked Authenticator with the real thing ( #11913 )
...
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.
2022-02-11 12:06:02 +00:00
Dirk Klimpel
d36943c4df
Support the stable API endpoint for MSC3283: new settings in /capabilities endpoint ( #11933 )
2022-02-11 09:32:11 +00:00
Shay
1e12efa1b2
Drop support for EOL Ubuntu 21.04 ( #11961 )
2022-02-10 13:59:42 -08:00
Patrick Cloke
df36945ff0
Support pagination tokens from /sync and /messages in the relations API. ( #11952 )
2022-02-10 10:52:48 -05:00
Denis Kasak
337f38cac3
Implement a content type allow list for URL previews ( #11936 )
...
This implements an allow list for content types for which Synapse will attempt URL preview. If a URL resolves to a resource with a content type which isn't in the list, the download will terminate immediately.
This makes sense given that Synapse would never successfully generate a URL preview for such files in the first place, and helps prevent issues with streaming media servers, such as #8302 .
Signed-off-by: Denis Kasak dkasak@termina.org.uk
2022-02-10 15:43:01 +00:00
Alexander Mnich
06e5a76322
Fix broken link in README to admin API. ( #11955 )
...
From when the documentation was converted from rst -> md.
2022-02-10 14:18:27 +00:00
Patrick Cloke
e4fdf459e2
Basic documentation for the release cycle. ( #11954 )
2022-02-10 13:15:10 +00:00
Brad Jones
3914576b2b
Fix example for structured logging. ( #11946 )
...
The StreamHandler takes a stream parameter, not location.
2022-02-09 20:56:33 +00:00
Patrick Cloke
0408d694ee
Update changelog from #11867 to be a single line.
2022-02-09 11:32:20 -05:00
Brendan Abolivier
6f440fd859
Recommend upgrading treq alongside twisted ( #11943 )
2022-02-09 15:06:51 +00:00
Patrick Cloke
d0e78af35e
Add missing type hints to synapse.replication. ( #11938 )
2022-02-08 11:03:08 -05:00
Patrick Cloke
8c94b3abe9
Experimental support to include bundled aggregations in search results (MSC3666) ( #11837 )
2022-02-08 09:21:20 -05:00
Patrick Cloke
6c0984e3f0
Remove unnecessary ignores due to Twisted upgrade. ( #11939 )
...
Twisted 22.1.0 fixed some internal type hints, allowing Synapse
to remove ignore calls for parameters to connectTCP.
2022-02-08 09:15:59 -05:00
Brendan Abolivier
6b91315ddf
Merge branch 'master' into develop
2022-02-08 13:26:09 +00:00
Brendan Abolivier
0b561a0ea1
Merge branch 'release-v1.52'
2022-02-08 13:25:54 +00:00
Patrick Cloke
63d90f10ec
Add missing type hints to synapse.replication.http. ( #11856 )
2022-02-08 07:44:39 -05:00
Patrick Cloke
8b309adb43
Fetch edits for multiple events in a single query. ( #11660 )
...
This should reduce database usage when fetching bundled aggregations
as the number of individual queries (and round trips to the database) are
reduced.
2022-02-08 07:43:30 -05:00
Patrick Cloke
380c3d40f4
Return JSON errors for unknown resources under /matrix/client. ( #11930 )
...
Re-applies the changes from 3e0cfd447e (#11602 ),
reverting d93ec0a0ba (#11764 ) now that the conflict
with the webclient listener was fixed in 119edf51eb (#11895 ).
2022-02-08 07:06:25 -05:00
Brendan Abolivier
1aa2231e27
Fix wording
2022-02-08 12:03:49 +00:00
Brendan Abolivier
5cdd491310
Add words about the Twisted security fix
2022-02-08 11:47:35 +00:00
Brendan Abolivier
7d56b6c083
1.52.0
2022-02-08 11:35:05 +00:00
Andrew Morgan
3655585e85
Add a docstring to add_device_change_to_streams and fix some nearby types ( #11912 )
2022-02-08 10:52:22 +00:00
Brendan Abolivier
0640f8ebaa
Add a callback to allow modules to deny 3PID ( #11854 )
...
Part of the Tchap Synapse mainlining.
This allows modules to implement extra logic to figure out whether a given 3PID can be added to the local homeserver. In the Tchap use case, this will allow a Synapse module to interface with the custom endpoint /internal_info.
2022-02-08 11:20:32 +01:00
Eric Eastwood
fef2e792be
Fix historical messages backfilling in random order on remote homeservers (MSC2716) ( #11114 )
...
Fix https://github.com/matrix-org/synapse/issues/11091
Fix https://github.com/matrix-org/synapse/issues/10764 (side-stepping the issue because we no longer have to deal with `fake_prev_event_id`)
1. Made the `/backfill` response return messages in `(depth, stream_ordering)` order (previously only sorted by `depth`)
- Technically, it shouldn't really matter how `/backfill` returns things but I'm just trying to make the `stream_ordering` a little more consistent from the origin to the remote homeservers in order to get the order of messages from `/messages` consistent ([sorted by `(topological_ordering, stream_ordering)`](https://github.com/matrix-org/synapse/blob/develop/docs/development/room-dag-concepts.md#depth-and-stream-ordering )).
- Even now that we return backfilled messages in order, it still doesn't guarantee the same `stream_ordering` (and more importantly the [`/messages` order](https://github.com/matrix-org/synapse/blob/develop/docs/development/room-dag-concepts.md#depth-and-stream-ordering )) on the other server. For example, if a room has a bunch of history imported and someone visits a permalink to a historical message back in time, their homeserver will skip over the historical messages in between and insert the permalink as the next message in the `stream_order` and totally throw off the sort.
- This will be even more the case when we add the [MSC3030 jump to date API endpoint](https://github.com/matrix-org/matrix-doc/pull/3030 ) so the static archives can navigate and jump to a certain date.
- We're solving this in the future by switching to [online topological ordering](https://github.com/matrix-org/gomatrixserverlib/issues/187 ) and [chunking](https://github.com/matrix-org/synapse/issues/3785 ) which by its nature will apply retroactively to fix any inconsistencies introduced by people permalinking
2. As we're navigating `prev_events` to return in `/backfill`, we order by `depth` first (newest -> oldest) and now also tie-break based on the `stream_ordering` (newest -> oldest). This is technically important because MSC2716 inserts a bunch of historical messages at the same `depth` so it's best to be prescriptive about which ones we should process first. In reality, I think the code already looped over the historical messages as expected because the database is already in order.
3. Making the historical state chain and historical event chain float on their own by having no `prev_events` instead of a fake `prev_event` which caused backfill to get clogged with an unresolvable event. Fixes https://github.com/matrix-org/synapse/issues/11091 and https://github.com/matrix-org/synapse/issues/10764
4. We no longer find connected insertion events by finding a potential `prev_event` connection to the current event we're iterating over. We now solely rely on marker events which when processed, add the insertion event as an extremity and the federating homeserver can ask about it when time calls.
- Related discussion, https://github.com/matrix-org/synapse/pull/11114#discussion_r741514793
Before | After
--- | ---
 | 
#### Why aren't we sorting topologically when receiving backfill events?
> The main reason we're going to opt to not sort topologically when receiving backfill events is because it's probably best to do whatever is easiest to make it just work. People will probably have opinions once they look at [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716 ) which could change whatever implementation anyway.
>
> As mentioned, ideally we would do this but code necessary to make the fake edges but it gets confusing and gives an impression of “just whyyyy” (feels icky). This problem also dissolves with online topological ordering.
>
> -- https://github.com/matrix-org/synapse/pull/11114#discussion_r741517138
See https://github.com/matrix-org/synapse/pull/11114#discussion_r739610091 for the technical difficulties
2022-02-07 15:54:13 -06:00
Andrew Morgan
cf06783d54
Remove optional state of ApplicationService.is_interested's store parameter ( #11911 )
2022-02-07 18:26:42 +00:00
Patrick Cloke
314ca4c86d
Pass the proper type when uploading files. ( #11927 )
...
The Content-Length header should be treated as an int, not
a string. This shouldn't have any user-facing change.
2022-02-07 10:06:52 -05:00
Andrew Morgan
e03dde259b
Clean up an indirect reference to the homeserver datastore ( #11914 )
2022-02-07 13:25:09 +00:00
Andrew Morgan
0c4878caf2
Add a unit test for users receiving their own device list updates ( #11909 )
2022-02-07 13:21:19 +00:00
Dirk Klimpel
65ef21b1c7
Clarify that users' media are also preview images ( #11862 )
2022-02-04 14:39:14 +00:00
kegsay
a3865ed525
Run Complement tests sequentially ( #11910 )
...
Since #11811 there has been general Complement flakiness around networking.
It seems like tests are hitting the wrong containers. In an effort to diagnose
the cause of this, as well as reduce its impact on this project, set the
parallelsim to 1 (no parallelism) when running tests.
If this fixes the flakiness then this indicates the cause and I can diagnose
this further. If this doesn't fix the flakiness then that implies some kind
of test pollution which also helps to diagnose this further.
2022-02-04 13:04:57 +00:00
Jonathan de Jong
02632b3504
Stabilise MSC3231 (Token Based Registration) ( #11867 )
2022-02-04 12:15:13 +00:00
Richard van der Hoff
b3d155a749
Delete MSC1711_certificates_FAQ.md ( #11907 )
...
This document isn't really relevant any more, and its existence is more confusing than helpful.
2022-02-04 11:27:00 +00:00
Richard van der Hoff
ce34ffacb1
Merge remote-tracking branch 'origin/master' into develop
2022-02-04 10:47:55 +00:00
Patrick Cloke
119edf51eb
Remove support for the webclient listener. ( #11895 )
...
Also remove support for non-HTTP(S) web_client_location.
2022-02-03 18:36:49 +00:00
Christian Paul
6b1c265c21
Fix typo: unpind -> unbind ( #11859 )
...
Co-authored-by: reivilibre <olivier@librepush.net >
2022-02-03 17:20:44 +00:00
Brendan Abolivier
d80d39b035
Add a ratelimiter for 3pid invite ( #11892 )
2022-02-03 14:28:15 +01:00
reivilibre
833247553f
Allow specifying the application service-specific user_id parameter in the join test helper. ( #11616 )
2022-02-03 13:09:22 +00:00
Richard van der Hoff
964f5b9324
Improve opentracing for federation requests ( #11870 )
...
The idea here is to set the parent span for incoming federation requests to the
*outgoing* span on the other end. That means that you can see (most of) the
full end-to-end flow when you have a process that includes federation requests.
However, in order not to lose information, we still want a link to the
`incoming-federation-request` span from the servlet, so we have to create
another span to do exactly that.
2022-02-03 12:29:16 +00:00
Richard van der Hoff
31b554c297
Fixes for opentracing scopes ( #11869 )
...
`start_active_span` was inconsistent as to whether it would activate the span
immediately, or wait for `scope.__enter__` to happen (it depended on whether
the current logcontext already had an associated scope). The inconsistency was
rather confusing if you were hoping to set up a couple of separate spans before
activating either.
Looking at the other implementations of opentracing `ScopeManager`s, the
intention is that it *should* be activated immediately, as the name
implies. Indeed, the idea is that you don't have to use the scope as a
contextmanager at all - you can just call `.close` on the result. Hence, our
cleanup has to happen in `.close` rather than `.__exit__`.
So, the main change here is to ensure that `start_active_span` does activate
the span, and that `scope.close()` does close the scope.
We also add some tests, which requires a `tracer` param so that we don't have
to rely on the global variable in unit tests.
2022-02-02 22:41:57 +00:00
Patrick Cloke
a8da046907
Invalidate the get_users_in_room{_with_profile} caches only when necessary. ( #11878 )
...
The get_users_in_room and get_users_in_room_with_profiles
are now only invalidated when the membership of a room changes,
instead of during any state change in the room.
2022-02-02 12:24:07 -05:00
reivilibre
41818cda1f
Fix type errors introduced by new annotations in the Prometheus Client library. ( #11832 )
...
Co-authored-by: David Robertson <davidr@element.io >
2022-02-02 16:51:00 +00:00
David Robertson
dd7f825118
Fix losing incoming EDUs if debug logging enabled ( #11890 )
...
* Fix losing incoming EDUs if debug logging enabled
Fixes #11889 . Homeservers should only be affected if the
`synapse.8631_debug` logger was enabled for DEBUG mode.
I am not sure if this merits a bugfix release: I think the logging can
be disabled in config if anyone is affected? But it is still pretty bad.
2022-02-02 16:25:17 +00:00
Richard van der Hoff
23a698f5e6
Disable coverage calculation for olddeps build. ( #11888 )
...
We disabled coverage calculation for most of CI in #11017 , but the olddeps
build uses a separate script and got forgotten.
2022-02-02 15:59:33 +00:00
David Robertson
f510fba4ba
Describe prune_unread_entries in docstrings ( #11876 )
...
Should have been caught in #10826 .
2022-02-02 15:11:23 +00:00
Patrick Cloke
acda9f07c8
Revert experimental push rules from #7997 . ( #11884 )
...
Manually reverts the merge from cdbb8e6d6e .
2022-02-02 09:49:31 -05:00
reivilibre
af795173be
Add a background database update to purge account data for deactivated users. ( #11655 )
2022-02-02 11:37:18 +00:00
reivilibre
513913cc6b
Expose the registered device ID from the register_appservice_user test helper. ( #11615 )
2022-02-02 09:59:55 +00:00
Andrew Morgan
3f72c2a322
Convert ApplicationServiceTestCase to use simple_async_mock ( #11880 )
2022-02-01 17:45:13 +00:00
Brendan Abolivier
5c16c33021
Allow modules to retrieve server and worker names ( #11868 )
...
Fixes #10701
2022-02-01 16:23:55 +01:00
Andrew Morgan
64ec45fc1b
Send to-device messages to application services ( #11215 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-02-01 14:13:38 +00:00
David Robertson
b7282fe7d1
Don't mention 3.6 EOL under misc
...
It's already under deps & removals
2022-02-01 11:07:12 +00:00
David Robertson
a35e9db9be
1.52.0rc1
2022-02-01 11:04:17 +00:00
Dirk Klimpel
901b264c0c
Add type hints to tests/rest/admin ( #11851 )
2022-01-31 14:20:05 -05:00
Dirk Klimpel
0da2301b21
Consolidate the access_token information in the admin api ( #11861 )
...
Co-authored-by: reivilibre <olivier@librepush.net >
2022-01-31 16:24:29 +00:00
Patrick Cloke
02755c3188
Remove the obsolete MSC1849 configuration flag. ( #11843 )
...
MSC1849 was replaced by MSC2675, which was merged.
The configuration flag, which defaulted to true, is no
longer useful.
2022-01-31 10:13:32 -05:00
Dirk Klimpel
7eb198ddc8
Remove not needed old table of contents in documentation ( #11860 )
2022-01-31 14:40:20 +00:00
Brendan Abolivier
bf60da1a60
Configurable limits on avatars ( #11846 )
...
Only allow files which file size and content types match configured
limits to be set as avatar.
Most of the inspiration from the non-test code comes from matrix-org/synapse-dinsic#19
2022-01-28 15:41:33 +01:00
Brendan Abolivier
6d482ba259
Pass isolation_level to runWithConnection ( #11847 )
...
This was missed in https://github.com/matrix-org/synapse/pull/11799
2022-01-27 17:45:39 +00:00
Richard van der Hoff
57e4786e90
Create singletons for StateFilter.{all,none}() ( #11836 )
...
No point recreating these for each call, since they are frozen
2022-01-27 10:54:27 +00:00
Dirk Klimpel
fd65139714
Fix some indentation inconsistencies in the sample config (modules) ( #11838 )
2022-01-27 10:06:29 +00:00
Shay
ec07062e31
Update installation docs to indicate that we support Python 3.10 ( #11820 )
2022-01-26 16:05:29 -08:00
Vaishnav Nair
cef0d5d90a
Include prev_content field in AS events ( #11798 )
...
* Include 'prev_content' field in AS events
Signed-off-by: Vaishnav Nair <nairvaishnav007@icloud.com >
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-01-26 14:48:27 +00:00
Brendan Abolivier
2d3bd9aa67
Add a module callback to set username at registration ( #11790 )
...
This is in the context of mainlining the Tchap fork of Synapse. Currently in Tchap usernames are derived from the user's email address (extracted from the UIA results, more specifically the m.login.email.identity step).
This change also exports the check_username method from the registration handler as part of the module API, so that a module can check if the username it's trying to generate is correct and doesn't conflict with an existing one, and fallback gracefully if not.
Co-authored-by: David Robertson <davidr@element.io >
2022-01-26 14:21:13 +00:00
Patrick Cloke
2897fb6b4f
Improvements to bundling aggregations. ( #11815 )
...
This is some odds and ends found during the review of #11791
and while continuing to work in this code:
* Return attrs classes instead of dictionaries from some methods
to improve type safety.
* Call `get_bundled_aggregations` fewer times.
* Adds a missing assertion in the tests.
* Do not return empty bundled aggregations for an event (preferring
to not include the bundle at all, as the docstring states).
2022-01-26 08:27:04 -05:00
David Robertson
d8df8e6c14
Don't print HTTPStatus.* in "Processed..." logs ( #11827 )
...
* Don't print HTTPStatus.* in "Processed..." logs
Fixes #11812 . See also #7118 and
https://github.com/matrix-org/synapse/pull/7188#r401719326 in
particular.
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-01-26 12:47:34 +00:00
David Robertson
c5815567a4
Avoid type annotation problems in prom-client ( #11834 )
2022-01-26 12:06:56 +00:00
Brendan Abolivier
95b3f952fa
Add a config flag to inhibit M_USER_IN_USE during registration ( #11743 )
...
This is mostly motivated by the tchap use case, where usernames are automatically generated from the user's email address (in a way that allows figuring out the email address from the username). Therefore, it's an issue if we respond to requests on /register and /register/available with M_USER_IN_USE, because it can potentially leak email addresses (which include the user's real name and place of work).
This commit adds a flag to inhibit the M_USER_IN_USE errors that are raised both by /register/available, and when providing a username early into the registration process. This error will still be raised if the user completes the registration process but the username conflicts. This is particularly useful when using modules (https://github.com/matrix-org/synapse/pull/11790 adds a module callback to set the username of users at registration) or SSO, since they can ensure the username is unique.
More context is available in the PR that introduced this behaviour to synapse-dinsic: matrix-org/synapse-dinsic#48 - as well as the issue in the matrix-dinsic repo: matrix-org/matrix-dinsic#476
2022-01-26 13:02:54 +01:00
David Robertson
74e4419eb4
Fix another jsonschema typecheck error ( #11830 )
...
Similar to #11817 .
In `_create_power_level_validator` we
- retrieve `validator`. This is a class implementing the
`jsonschema.protocols.Validator` interface. In other words,
`validator: Type[jsonschema.protocols.Validator]`.
- we then create an second validator class by modifying the original
`validator`. We return that class, which is also of type
`Type[jsonschema.protocols.Validator]`.
So the original annotation was incorrect: it claimed we were returning
an instance of jsonSchema.Draft7Validator, not the class (or a subclass)
itself. (Strictly speaking this is incorrect, because `POWER_LEVELS_SCHEMA`
isn't pinned to a particular version of JSON Schema. But there are other
complications with the type stubs if you try to fix this; I felt like
the change herein was a decent compromise that better expresses intent).
(I suspect/hope the typeshed project would welcome an effort to improve
the jsonschema stubs. Let's see if I get some spare time.)
2022-01-25 15:29:28 -05:00
Shay
b8bf600700
Check that gc method is available before using in synapse/app/_base ( #11816 )
...
* add check that gc.freeze is available before calling
* newsfragment
* lint
* Update comment
Co-authored-by: Dan Callahan <danc@element.io >
Co-authored-by: Dan Callahan <danc@element.io >
2022-01-25 10:35:18 -08:00
Dirk Klimpel
6a72c910f1
Add admin API to get a list of federated rooms ( #11658 )
2022-01-25 16:11:40 +00:00
kegsay
0938f32e93
CI: run Complement on the VM, not inside Docker ( #11811 )
...
* CI: run Complement on the VM, not inside Docker
This requires https://github.com/matrix-org/complement/pull/289
We now run Complement on the VM instead of inside a Docker container.
This is to allow Complement to bind to any high-numbered port when it
starts up its own federation servers. We want to do this to allow for
more concurrency when running complement tests. Previously, Complement
only ever bound to `:8448` when running its own federation server. This
prevented multiple federation tests running at the same time as they would
fight each other on the port. This did however allow Complement to run
in Docker, as the host could just port forward `:8448` to allow homeserver
containers to communicate to Complement. Now that we are using random
ports however, we cannot use Docker to run Complement. This ends up
being a good thing because:
- Running Complement tests locally is closer to how they run in CI.
- Allows the `CI` env var to be removed in Complement.
- Slightly speeds up runs as we don't need to pull down the Complement
image prior to running tests. This assumes GHA caches actions sensibly.
* Changelog
* Full stop
* Update .github/workflows/tests.yml
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
* Review comments
* Update .github/workflows/tests.yml
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-01-25 15:05:22 +00:00
Brendan Abolivier
1d5f7b2cc6
Log modules at startup ( #11813 )
2022-01-25 15:35:35 +01:00
Nick Barrett
b59d285f7c
Db txn set isolation level ( #11799 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
2022-01-25 15:14:46 +01:00
Richard van der Hoff
fc8598bc87
Minor updates, and docs, for schema delta files ( #11823 )
...
* Make functions in python deltas optional
It's annoying to always have to write stubs for these.
* Documentation for delta files
* changelog
2022-01-25 14:11:13 +00:00
Forest Johnson
4210143f53
Docs: add missing PR submission process how-tos ( #11821 )
...
* Docs: add missing PR submission process how-tos
The documentation says that in order to submit a pull request you have to run the linter and links to [Run the linters](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#run-the-linters ). IMO "Run the linters" should explain that development dependencies are a pre-requisite.
I also included `pip install wheel` which I had to run inside my virtual environment on ubuntu before I `pip install -e ".[all,dev]"` would succeed.
2022-01-25 14:09:56 +00:00
David Robertson
4e09d727b6
Use changelog from develop
...
It had already accounted for 1.50.2 (ordered chronologically rather than
sem-ver-ically); it just seems this wasn't merged into master when we
released 1.50.2.
2022-01-25 12:53:29 +00:00
David Robertson
6911604a0f
Merge branch 'master' into develop
2022-01-25 12:52:27 +00:00
David Robertson
8e45dfbe25
Merge branch 'release-v1.51'
2022-01-25 12:35:30 +00:00
David Robertson
b500fcbc0c
Merge tag 'v1.51.0'
...
Synapse 1.51.0 (2022-01-25)
===========================
No significant changes since 1.51.0rc2.
Synapse 1.51.0 deprecates `webclient` listeners and non-HTTP(S) `web_client_location`s. Support for these will be removed in Synapse 1.53.0, at which point Synapse will not be capable of directly serving a web client for Matrix.
Synapse 1.51.0rc2 (2022-01-24)
==============================
Bugfixes
--------
- Fix a bug introduced in Synapse 1.40.0 that caused Synapse to fail to process incoming federation traffic after handling a large amount of events in a v1 room. ([\#11806](https://github.com/matrix-org/synapse/issues/11806 ))
Synapse 1.51.0rc1 (2022-01-21)
==============================
Features
--------
- Add `track_puppeted_user_ips` config flag to record client IP addresses against puppeted users, and include the puppeted users in monthly active user counts. ([\#11561](https://github.com/matrix-org/synapse/issues/11561 ), [\#11749](https://github.com/matrix-org/synapse/issues/11749 ), [\#11757](https://github.com/matrix-org/synapse/issues/11757 ))
- Include whether the requesting user has participated in a thread when generating a summary for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440 ). ([\#11577](https://github.com/matrix-org/synapse/issues/11577 ))
- Return an `M_FORBIDDEN` error code instead of `M_UNKNOWN` when a spam checker module prevents a user from creating a room. ([\#11672](https://github.com/matrix-org/synapse/issues/11672 ))
- Add a flag to the `synapse_review_recent_signups` script to ignore and filter appservice users. ([\#11675](https://github.com/matrix-org/synapse/issues/11675 ), [\#11770](https://github.com/matrix-org/synapse/issues/11770 ))
Bugfixes
--------
- Fix a long-standing issue which could cause Synapse to incorrectly accept data in the unsigned field of events
received over federation. ([\#11530](https://github.com/matrix-org/synapse/issues/11530 ))
- Fix a long-standing bug where Synapse wouldn't cache a response indicating that a remote user has no devices. ([\#11587](https://github.com/matrix-org/synapse/issues/11587 ))
- Fix an error that occurs whilst trying to get the federation status of a destination server that was working normally. This admin API was newly introduced in Synapse v1.49.0. ([\#11593](https://github.com/matrix-org/synapse/issues/11593 ))
- Fix bundled aggregations not being included in the `/sync` response, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675 ). ([\#11612](https://github.com/matrix-org/synapse/issues/11612 ), [\#11659](https://github.com/matrix-org/synapse/issues/11659 ), [\#11791](https://github.com/matrix-org/synapse/issues/11791 ))
- Fix the `/_matrix/client/v1/room/{roomId}/hierarchy` endpoint returning incorrect fields which have been present since Synapse 1.49.0. ([\#11667](https://github.com/matrix-org/synapse/issues/11667 ))
- Fix preview of some GIF URLs (like tenor.com). Contributed by Philippe Daouadi. ([\#11669](https://github.com/matrix-org/synapse/issues/11669 ))
- Fix a bug where only the first 50 rooms from a space were returned from the `/hierarchy` API. This has existed since the introduction of the API in Synapse v1.41.0. ([\#11695](https://github.com/matrix-org/synapse/issues/11695 ))
- Fix a bug introduced in Synapse v1.18.0 where password reset and address validation emails would not be sent if their subject was configured to use the 'app' template variable. Contributed by @br4nnigan. ([\#11710](https://github.com/matrix-org/synapse/issues/11710 ), [\#11745](https://github.com/matrix-org/synapse/issues/11745 ))
- Make the 'List Rooms' Admin API sort stable. Contributed by Daniël Sonck. ([\#11737](https://github.com/matrix-org/synapse/issues/11737 ))
- Fix a long-standing bug where space hierarchy over federation would only work correctly some of the time. ([\#11775](https://github.com/matrix-org/synapse/issues/11775 ))
- Fix a bug introduced in Synapse v1.46.0 that prevented `on_logged_out` module callbacks from being correctly awaited by Synapse. ([\#11786](https://github.com/matrix-org/synapse/issues/11786 ))
Improved Documentation
----------------------
- Warn against using a Let's Encrypt certificate for TLS/DTLS TURN server client connections, and suggest using ZeroSSL certificate instead. This works around client-side connectivity errors caused by WebRTC libraries that reject Let's Encrypt certificates. Contibuted by @AndrewFerr. ([\#11686](https://github.com/matrix-org/synapse/issues/11686 ))
- Document the new `SYNAPSE_TEST_PERSIST_SQLITE_DB` environment variable in the contributing guide. ([\#11715](https://github.com/matrix-org/synapse/issues/11715 ))
- Document that the minimum supported PostgreSQL version is now 10. ([\#11725](https://github.com/matrix-org/synapse/issues/11725 ))
- Fix typo in demo docs: differnt. ([\#11735](https://github.com/matrix-org/synapse/issues/11735 ))
- Update room spec URL in config files. ([\#11739](https://github.com/matrix-org/synapse/issues/11739 ))
- Mention `python3-venv` and `libpq-dev` dependencies in the contribution guide. ([\#11740](https://github.com/matrix-org/synapse/issues/11740 ))
- Update documentation for configuring login with Facebook. ([\#11755](https://github.com/matrix-org/synapse/issues/11755 ))
- Update installation instructions to note that Python 3.6 is no longer supported. ([\#11781](https://github.com/matrix-org/synapse/issues/11781 ))
Deprecations and Removals
-------------------------
- Remove the unstable `/send_relation` endpoint. ([\#11682](https://github.com/matrix-org/synapse/issues/11682 ))
- Remove `python_twisted_reactor_pending_calls` Prometheus metric. ([\#11724](https://github.com/matrix-org/synapse/issues/11724 ))
- Remove the `password_hash` field from the response dictionaries of the [Users Admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html ). ([\#11576](https://github.com/matrix-org/synapse/issues/11576 ))
- **Deprecate support for `webclient` listeners and non-HTTP(S) `web_client_location` configuration. ([\#11774](https://github.com/matrix-org/synapse/issues/11774 ), [\#11783](https://github.com/matrix-org/synapse/issues/11783 ))**
Internal Changes
----------------
- Run `pyupgrade --py37-plus --keep-percent-format` on Synapse. ([\#11685](https://github.com/matrix-org/synapse/issues/11685 ))
- Use buildkit's cache feature to speed up docker builds. ([\#11691](https://github.com/matrix-org/synapse/issues/11691 ))
- Use `auto_attribs` and native type hints for attrs classes. ([\#11692](https://github.com/matrix-org/synapse/issues/11692 ), [\#11768](https://github.com/matrix-org/synapse/issues/11768 ))
- Remove debug logging for #4422 , which has been closed since Synapse 0.99. ([\#11693](https://github.com/matrix-org/synapse/issues/11693 ))
- Remove fallback code for Python 2. ([\#11699](https://github.com/matrix-org/synapse/issues/11699 ))
- Add a test for [an edge case](https://github.com/matrix-org/synapse/pull/11532#discussion_r769104461 ) in the `/sync` logic. ([\#11701](https://github.com/matrix-org/synapse/issues/11701 ))
- Add the option to write SQLite test dbs to disk when running tests. ([\#11702](https://github.com/matrix-org/synapse/issues/11702 ))
- Improve Complement test output for Gitub Actions. ([\#11707](https://github.com/matrix-org/synapse/issues/11707 ))
- Fix docstring on `add_account_data_for_user`. ([\#11716](https://github.com/matrix-org/synapse/issues/11716 ))
- Complement environment variable name change and update `.gitignore`. ([\#11718](https://github.com/matrix-org/synapse/issues/11718 ))
- Simplify calculation of Prometheus metrics for garbage collection. ([\#11723](https://github.com/matrix-org/synapse/issues/11723 ))
- Improve accuracy of `python_twisted_reactor_tick_time` Prometheus metric. ([\#11724](https://github.com/matrix-org/synapse/issues/11724 ), [\#11771](https://github.com/matrix-org/synapse/issues/11771 ))
- Minor efficiency improvements when inserting many values into the database. ([\#11742](https://github.com/matrix-org/synapse/issues/11742 ))
- Invite PR authors to give themselves credit in the changelog. ([\#11744](https://github.com/matrix-org/synapse/issues/11744 ))
- Add optional debugging to investigate [issue 8631](https://github.com/matrix-org/synapse/issues/8631 ). ([\#11760](https://github.com/matrix-org/synapse/issues/11760 ))
- Remove `log_function` utility function and its uses. ([\#11761](https://github.com/matrix-org/synapse/issues/11761 ))
- Add a unit test that checks both `client` and `webclient` resources will function when simultaneously enabled. ([\#11765](https://github.com/matrix-org/synapse/issues/11765 ))
- Allow overriding complement commit using `COMPLEMENT_REF`. ([\#11766](https://github.com/matrix-org/synapse/issues/11766 ))
- Add some comments and type annotations for `_update_outliers_txn`. ([\#11776](https://github.com/matrix-org/synapse/issues/11776 ))
2022-01-25 12:35:11 +00:00
David Robertson
105fbce55c
Point to upgrade notes in changelog
2022-01-25 12:28:30 +00:00
Dirk Klimpel
0d6cfea9b8
Add admin API to reset connection timeouts for remote server ( #11639 )
...
* Fix get federation status of destination if no error occured
2022-01-25 12:06:29 +00:00
David Robertson
343d4f13d8
Correct version number
2022-01-25 11:42:32 +00:00
David Robertson
6e9e923ed5
Call out deprecation
2022-01-25 11:41:31 +00:00
David Robertson
874365fc05
1.51.0
2022-01-25 11:30:02 +00:00
Patrick Cloke
15c2a6a106
Ignore the jsonschema type. ( #11817 )
2022-01-25 12:07:10 +01:00
Richard van der Hoff
2d327d25bf
Skip the initial amd64-only Docker build ( #11810 )
...
PyNaCl's recent 1.5.0 release on PyPi includes arm64 wheels, which means our
arm64 docker images now build in a sensible amount of time, so we can skip the
amd64-only build.
2022-01-24 18:31:23 +00:00
Patrick Cloke
02d99f044e
Apply a timeout to reading the body when fetching a file. ( #11784 )
...
This prevents the URL preview code from reading
a stream forever.
2022-01-24 14:38:37 +00:00
Andrew Morgan
ec2271ac50
Merge branch 'master' into develop
2022-01-24 14:22:39 +00:00
Patrick Cloke
807efd26ae
Support rendering previews with data: URLs in them ( #11767 )
...
Images which are data URLs will no longer break URL
previews and will properly be "downloaded" and
thumbnailed.
2022-01-24 08:58:18 -05:00
Andrew Morgan
c3040dd5cc
Merge tag 'v1.51.0rc2' into develop
...
Synapse 1.51.0rc2 (2022-01-24)
==============================
Bugfixes
--------
- Fix a bug introduced in Synapse 1.40.0 that caused Synapse to fail to process incoming federation traffic after handling a large amount of events in a v1 room. ([\#11806](https://github.com/matrix-org/synapse/issues/11806 ))
2022-01-24 13:55:03 +00:00
Andrew Morgan
36f37acf53
1.50.2
2022-01-24 13:37:20 +00:00
reivilibre
df54c8485a
Remove account data (including client config, push rules and ignored users) upon user deactivation. ( #11621 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2022-01-24 13:37:00 +00:00
Andrew Morgan
8ff465d206
Fix logic for dropping old events in fed queue ( #11806 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
Co-authored-by: Richard van der Hoff <richard@matrix.org >
2022-01-24 13:35:50 +00:00
Andrew Morgan
14b45b25dd
1.51.0rc2
2022-01-24 12:25:18 +00:00
Andrew Morgan
dc671d3ea7
Fix logic for dropping old events in fed queue ( #11806 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org >
Co-authored-by: Richard van der Hoff <richard@matrix.org >
2022-01-24 12:20:01 +00:00
Shay
9006ee36d1
Drop support for and remove references to EOL Python 3.6 ( #11683 )
...
* remove reference in comments to python3.6
* upgrade tox python env in script
* bump python version in example for completeness
* upgrade python version requirement in setup doc
* upgrade necessary python version in __init__.py
* upgrade python version in setup.py
* newsfragment
* drops refs to bionic and replace with focal
* bump refs to postgres 9.6 to 10
* fix hanging ci
* try installing tzdata first
* revert change made in b979f336
* ignore new random mypy error while debugging other error
* fix lint error for temporary workaround
* revert change to install list
* try passing env var
* export debian frontend var?
* move line and add comment
* bump pillow dependency
* bump lxml depenency
* install libjpeg-dev for pillow
* bump automat version to one compatible with py3.8
* add libwebp for pillow
* bump twisted trunk python version
* change suffix of newsfragment
* remove redundant python 3.7 checks
* lint
2022-01-21 14:23:26 -08:00
Olivier Wilkinson (reivilibre)
f8cf02b200
Remove obsolete newsfile
...
The PR was cherrypicked into v1.51.0rc1.
2022-01-21 14:05:27 +00:00
Olivier Wilkinson (reivilibre)
ffc61d1b69
Merge tag 'v1.51.0rc1' into develop
...
Synapse 1.51.0rc1 (2022-01-21)
==============================
Features
--------
- Add `track_puppeted_user_ips` config flag to record client IP addresses against puppeted users, and include the puppeted users in monthly active user counts. ([\#11561](https://github.com/matrix-org/synapse/issues/11561 ), [\#11749](https://github.com/matrix-org/synapse/issues/11749 ), [\#11757](https://github.com/matrix-org/synapse/issues/11757 ))
- Include whether the requesting user has participated in a thread when generating a summary for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440 ). ([\#11577](https://github.com/matrix-org/synapse/issues/11577 ))
- Return an `M_FORBIDDEN` error code instead of `M_UNKNOWN` when a spam checker module prevents a user from creating a room. ([\#11672](https://github.com/matrix-org/synapse/issues/11672 ))
- Add a flag to the `synapse_review_recent_signups` script to ignore and filter appservice users. ([\#11675](https://github.com/matrix-org/synapse/issues/11675 ), [\#11770](https://github.com/matrix-org/synapse/issues/11770 ))
Bugfixes
--------
- Fix a long-standing issue which could cause Synapse to incorrectly accept data in the unsigned field of events
received over federation. ([\#11530](https://github.com/matrix-org/synapse/issues/11530 ))
- Fix a long-standing bug where Synapse wouldn't cache a response indicating that a remote user has no devices. ([\#11587](https://github.com/matrix-org/synapse/issues/11587 ))
- Fix an error that occurs whilst trying to get the federation status of a destination server that was working normally. This admin API was newly introduced in Synapse v1.49.0. ([\#11593](https://github.com/matrix-org/synapse/issues/11593 ))
- Fix bundled aggregations not being included in the `/sync` response, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675 ). ([\#11612](https://github.com/matrix-org/synapse/issues/11612 ), [\#11659](https://github.com/matrix-org/synapse/issues/11659 ), [\#11791](https://github.com/matrix-org/synapse/issues/11791 ))
- Fix the `/_matrix/client/v1/room/{roomId}/hierarchy` endpoint returning incorrect fields which have been present since Synapse 1.49.0. ([\#11667](https://github.com/matrix-org/synapse/issues/11667 ))
- Fix preview of some GIF URLs (like tenor.com). Contributed by Philippe Daouadi. ([\#11669](https://github.com/matrix-org/synapse/issues/11669 ))
- Fix a bug where only the first 50 rooms from a space were returned from the `/hierarchy` API. This has existed since the introduction of the API in Synapse v1.41.0. ([\#11695](https://github.com/matrix-org/synapse/issues/11695 ))
- Fix a bug introduced in Synapse v1.18.0 where password reset and address validation emails would not be sent if their subject was configured to use the 'app' template variable. Contributed by @br4nnigan. ([\#11710](https://github.com/matrix-org/synapse/issues/11710 ), [\#11745](https://github.com/matrix-org/synapse/issues/11745 ))
- Make the 'List Rooms' Admin API sort stable. Contributed by Daniël Sonck. ([\#11737](https://github.com/matrix-org/synapse/issues/11737 ))
- Fix a long-standing bug where space hierarchy over federation would only work correctly some of the time. ([\#11775](https://github.com/matrix-org/synapse/issues/11775 ))
- Fix a bug introduced in Synapse v1.46.0 that prevented `on_logged_out` module callbacks from being correctly awaited by Synapse. ([\#11786](https://github.com/matrix-org/synapse/issues/11786 ))
Improved Documentation
----------------------
- Warn against using a Let's Encrypt certificate for TLS/DTLS TURN server client connections, and suggest using ZeroSSL certificate instead. This works around client-side connectivity errors caused by WebRTC libraries that reject Let's Encrypt certificates. Contibuted by @AndrewFerr. ([\#11686](https://github.com/matrix-org/synapse/issues/11686 ))
- Document the new `SYNAPSE_TEST_PERSIST_SQLITE_DB` environment variable in the contributing guide. ([\#11715](https://github.com/matrix-org/synapse/issues/11715 ))
- Document that the minimum supported PostgreSQL version is now 10. ([\#11725](https://github.com/matrix-org/synapse/issues/11725 ))
- Fix typo in demo docs: differnt. ([\#11735](https://github.com/matrix-org/synapse/issues/11735 ))
- Update room spec URL in config files. ([\#11739](https://github.com/matrix-org/synapse/issues/11739 ))
- Mention `python3-venv` and `libpq-dev` dependencies in the contribution guide. ([\#11740](https://github.com/matrix-org/synapse/issues/11740 ))
- Update documentation for configuring login with Facebook. ([\#11755](https://github.com/matrix-org/synapse/issues/11755 ))
- Update installation instructions to note that Python 3.6 is no longer supported. ([\#11781](https://github.com/matrix-org/synapse/issues/11781 ))
Deprecations and Removals
-------------------------
- Remove the unstable `/send_relation` endpoint. ([\#11682](https://github.com/matrix-org/synapse/issues/11682 ))
- Remove `python_twisted_reactor_pending_calls` Prometheus metric. ([\#11724](https://github.com/matrix-org/synapse/issues/11724 ))
- Remove the `password_hash` field from the response dictionaries of the [Users Admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html ). ([\#11576](https://github.com/matrix-org/synapse/issues/11576 ))
- Deprecate support for `webclient` listeners and non-HTTP(S) `web_client_location` configuration. ([\#11774](https://github.com/matrix-org/synapse/issues/11774 ), [\#11783](https://github.com/matrix-org/synapse/issues/11783 ))
Internal Changes
----------------
- Run `pyupgrade --py37-plus --keep-percent-format` on Synapse. ([\#11685](https://github.com/matrix-org/synapse/issues/11685 ))
- Use buildkit's cache feature to speed up docker builds. ([\#11691](https://github.com/matrix-org/synapse/issues/11691 ))
- Use `auto_attribs` and native type hints for attrs classes. ([\#11692](https://github.com/matrix-org/synapse/issues/11692 ), [\#11768](https://github.com/matrix-org/synapse/issues/11768 ))
- Remove debug logging for #4422 , which has been closed since Synapse 0.99. ([\#11693](https://github.com/matrix-org/synapse/issues/11693 ))
- Remove fallback code for Python 2. ([\#11699](https://github.com/matrix-org/synapse/issues/11699 ))
- Add a test for [an edge case](https://github.com/matrix-org/synapse/pull/11532#discussion_r769104461 ) in the `/sync` logic. ([\#11701](https://github.com/matrix-org/synapse/issues/11701 ))
- Add the option to write SQLite test dbs to disk when running tests. ([\#11702](https://github.com/matrix-org/synapse/issues/11702 ))
- Improve Complement test output for Gitub Actions. ([\#11707](https://github.com/matrix-org/synapse/issues/11707 ))
- Fix docstring on `add_account_data_for_user`. ([\#11716](https://github.com/matrix-org/synapse/issues/11716 ))
- Complement environment variable name change and update `.gitignore`. ([\#11718](https://github.com/matrix-org/synapse/issues/11718 ))
- Simplify calculation of Prometheus metrics for garbage collection. ([\#11723](https://github.com/matrix-org/synapse/issues/11723 ))
- Improve accuracy of `python_twisted_reactor_tick_time` Prometheus metric. ([\#11724](https://github.com/matrix-org/synapse/issues/11724 ), [\#11771](https://github.com/matrix-org/synapse/issues/11771 ))
- Minor efficiency improvements when inserting many values into the database. ([\#11742](https://github.com/matrix-org/synapse/issues/11742 ))
- Invite PR authors to give themselves credit in the changelog. ([\#11744](https://github.com/matrix-org/synapse/issues/11744 ))
- Add optional debugging to investigate [issue 8631](https://github.com/matrix-org/synapse/issues/8631 ). ([\#11760](https://github.com/matrix-org/synapse/issues/11760 ))
- Remove `log_function` utility function and its uses. ([\#11761](https://github.com/matrix-org/synapse/issues/11761 ))
- Add a unit test that checks both `client` and `webclient` resources will function when simultaneously enabled. ([\#11765](https://github.com/matrix-org/synapse/issues/11765 ))
- Allow overriding complement commit using `COMPLEMENT_REF`. ([\#11766](https://github.com/matrix-org/synapse/issues/11766 ))
- Add some comments and type annotations for `_update_outliers_txn`. ([\#11776](https://github.com/matrix-org/synapse/issues/11776 ))
2022-01-21 14:04:23 +00:00
Olivier Wilkinson (reivilibre)
2d295a4be9
Edit the changelog according to feedback
2022-01-21 13:15:13 +00:00
Richard van der Hoff
2aa37a4250
Add state_key and rejection_reason to events ( #11792 )
...
... and start populating them for new events
2022-01-21 12:21:28 +00:00
Olivier Wilkinson (reivilibre)
ea579a478a
Edit the changelog for grammar and clarity
2022-01-21 11:44:02 +00:00
Olivier Wilkinson (reivilibre)
266df5c908
1.51.0rc1
2022-01-21 10:47:03 +00:00
Patrick Cloke
7a11509d17
Do not try to serialize raw aggregations dict. ( #11791 )
2022-01-21 10:40:34 +00:00
Patrick Cloke
b784299cbc
Do not try to serialize raw aggregations dict. ( #11791 )
2022-01-21 10:31:31 +00:00
Richard van der Hoff
9f2016e96e
Drop unused table public_room_list_stream. ( #11795 )
...
This is a follow-up to #10565 .
2022-01-21 09:19:56 +00:00
Richard van der Hoff
2277275485
Stop reading from event_reference_hashes ( #11794 )
...
Preparation for dropping this table altogether. Part of #6574 .
2022-01-21 09:18:10 +00:00
Richard van der Hoff
c027bc0e4b
Add FrozenEvent.get_state_key and use it in a couple of places ( #11793 )
...
This is more efficient, since we only have to look up `state_key` in the event
dict once, rather than three (!) times.
2022-01-21 09:10:01 +00:00
reivilibre
4c2096599c
Make the get_global_account_data_by_type_for_user cache be a tree-cache whose key is prefixed with the user ID ( #11788 )
2022-01-21 08:38:36 +00:00
reivilibre
e83520cc42
Make get_account_data_for_room_and_type a tree cache ( #11789 )
2022-01-21 08:01:37 +00:00
Brendan Abolivier
bfe6d5553a
Correctly await on_logged_out callbacks ( #11786 )
2022-01-20 19:19:40 +01:00
Patrick Cloke
d09099642e
Fix redirecting to the webclient for non-HTTP(S) web_client_location. ( #11783 )
...
To not change the behaviour during the deprecation period.
Follow-up to #11774 .
2022-01-20 15:34:45 +00:00
Andrew Morgan
121b9e2475
Add a regression test for using both webclient and client resources simultaneously ( #11765 )
2022-01-20 09:47:29 -05:00
Andrew Morgan
7bf2d6c268
Partially revert #11675 ; prevent attempting to create pushers on workers ( #11770 )
2022-01-20 09:37:34 -05:00
Richard van der Hoff
56834ab779
installation.md: drop python 3.6 support ( #11781 )
...
#11595 dropped support for python 3.6, but forgot to update this doc.
2022-01-20 14:37:11 +00:00
Patrick Cloke
91221b6961
Add deprecation warnings for webclient listener and non-HTTP(S) web_client_location. ( #11774 )
...
This changes the behaviour of the root endpoint to redirect
directly to the configuration of `web_client_location` if it is
given an HTTP(S) URL.
2022-01-20 14:21:06 +00:00
David Robertson
f160fe18e3
Debug for device lists updates ( #11760 )
...
Debug for #8631 .
I'm having a hard time tracking down what's going wrong in that issue.
In the reported example, I could see server A sending federation traffic
to server B and all was well. Yet B reports out-of-sync device updates
from A.
I couldn't see what was _in_ the events being sent from A to B. So I
have added some crude logging to track
- when we have updates to send to a remote HS
- the edus we actually accumulate to send
- when a federation transaction includes a device list update edu
- when such an EDU is received
This is a bit of a sledgehammer.
2022-01-20 13:38:44 +00:00
Nicolas Werner
fa583c2198
Allow overriding the complement ref. ( #11766 )
...
Updates complement.sh to read the ref from an environment
variable (defaulting to master) when downloading a complement
bundle for testing.
2022-01-20 13:04:58 +00:00
Sean Quah
af13a3be29
Fix a bug that corrupted the cache of federated space hierarchies ( #11775 )
...
`FederationClient.get_room_hierarchy()` caches its return values, so
refactor the code to avoid modifying the returned room summary.
2022-01-20 11:03:42 +00:00
Richard van der Hoff
5572e6cc4b
Comments and typing for _update_outliers_txn ( #11776 )
...
A couple of surprises for me here, so thought I'd document them
2022-01-19 19:45:36 +00:00
Patrick Cloke
c072c0b829
Fix mypy for platforms without epoll support. ( #11771 )
2022-01-19 16:50:09 +00:00