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
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
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
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
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
David Robertson
dc901a885f
Fix typo in release script ( #14920 )
...
* Fix typo in release script
* Changelog
2023-01-26 13:27:27 +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
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]
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
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
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
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
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
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
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
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 ))
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEWMTnW8Z8khaaf90R+84KzgcyGG8FAmOYkOQACgkQ+84Kzgcy
GG/HrwwAoGuVLEIUQMMevXRw0tdtLMZ9hCwTOJSJrTcIiWYyzEJUd5wn9z4u59vq
6fLR0yNQhsLb5+WpyaUtYlM0qYx6rqMBdwqIBDkCcICF3wU2YzH5i04NaIoMqGGo
7mWrGyl+L0sqCWTkKJO0O5vdrvr36Kguy1ljLrUxwaAZs/so2L/umCm582M+KEYU
RHlJnzjESUP0MQ5D0zP9xurgn+UcfJCkejj0avF8yDWEr91s0u0xr4+GzxwBSAGm
Ckn+U5JfIfDgCTVnCKEkbB79S6MwzU7DDb6yIzXaivRw2rXlttrsxFJGkkkwyzEE
Oo+9Lpvor0DsIzHj/OeCxSgpiW5mHkuKeI+jFhiFIKriVX+77DwjajnjRUdeaQGS
l6wwueElzmtiAdUM8qV1KFTOorJiqh77Y9sSnORQXFnv9pnNixYDE8+VQl1k9u+m
pvWH65DbJiLPQjb8y9MedCwM+4vaduRctXoUGb6WoNGm8mgz1/88wWVcEfV46TNO
jYNAEJ0x
=3x7E
-----END PGP SIGNATURE-----
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
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
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