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
dependabot[bot]
527366f962
Bump packaging from 21.3 to 22.0 ( #14657 )
...
* Bump packaging from 21.3 to 22.0
Bumps [packaging](https://github.com/pypa/packaging ) from 21.3 to 22.0.
- [Release notes](https://github.com/pypa/packaging/releases )
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pypa/packaging/compare/21.3...22.0 )
---
updated-dependencies:
- dependency-name: packaging
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 13:05:38 +00:00
dependabot[bot]
b087964875
Bump flake8-bugbear from 22.10.27 to 22.12.6 ( #14656 )
...
* Bump flake8-bugbear from 22.10.27 to 22.12.6
Bumps [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear ) from 22.10.27 to 22.12.6.
- [Release notes](https://github.com/PyCQA/flake8-bugbear/releases )
- [Commits](https://github.com/PyCQA/flake8-bugbear/compare/22.10.27...22.12.6 )
---
updated-dependencies:
- dependency-name: flake8-bugbear
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 12:22:51 +00:00
Brendan Abolivier
2a3cd59dd0
Add optional ICU support for user search ( #14464 )
...
Fixes #13655
This change uses ICU (International Components for Unicode) to improve boundary detection in user search.
This change also adds a new dependency on libicu-dev and pkg-config for the Debian packages, which are available in all supported distros.
2022-12-12 13:21:17 +01:00
dependabot[bot]
a5d8fee097
Bump phonenumbers from 8.13.1 to 8.13.2 ( #14660 )
...
* Bump phonenumbers from 8.13.1 to 8.13.2
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.1 to 8.13.2.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.1...v8.13.2 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:52:08 +00:00
dependabot[bot]
ceb7be56a6
Bump serde from 1.0.148 to 1.0.150 ( #14659 )
...
* Bump serde from 1.0.148 to 1.0.150
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.148 to 1.0.150.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.150 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:44:17 +00:00
dependabot[bot]
eb32bc5056
Bump authlib from 1.1.0 to 1.2.0 ( #14661 )
...
* Bump authlib from 1.1.0 to 1.2.0
Bumps [authlib](https://github.com/lepture/authlib ) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/lepture/authlib/releases )
- [Changelog](https://github.com/lepture/authlib/blob/master/docs/changelog.rst )
- [Commits](https://github.com/lepture/authlib/compare/v1.1.0...v1.2.0 )
---
updated-dependencies:
- dependency-name: authlib
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:41:40 +00:00
dependabot[bot]
4ea8745724
Bump types-pillow from 9.3.0.1 to 9.3.0.4 ( #14658 )
...
* Bump types-pillow from 9.3.0.1 to 9.3.0.4
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.3.0.1 to 9.3.0.4.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-12 11:26:05 +00:00
Sean Quah
373c485d8c
Handle half-created indices in receipts index background update ( #14650 )
...
When Synapse is terminated while running the background update to create
the `receipts_graph` or `receipts_linearized` indexes, the indexes may
be successfully created (or marked as invalid on postgres) while the
background update remains unfinished. When Synapse next starts up, the
background update will fail because the index already exists, or exists
but is invalid on postgres.
Use the existing code to create indices in background updates, since it
handles these edge cases.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-12-09 23:02:11 +00:00
Patrick Cloke
3ac412b4e2
Require types in tests.storage. ( #14646 )
...
Adds missing type hints to `tests.storage` package
and does not allow untyped definitions.
2022-12-09 12:36:32 -05:00
Erik Johnston
94bc21e69f
Limit the number of devices we delete at once ( #14649 )
2022-12-09 13:31:32 +00:00
Erik Johnston
c2de2ca630
Delete stale non-e2e devices for users, take 2 ( #14595 )
...
This should help reduce the number of devices e.g. simple bots the repeatedly login rack up.
We only delete non-e2e devices as they should be safe to delete, whereas if we delete e2e devices for a user we may accidentally break their ability to receive e2e keys for a message.
2022-12-09 09:37:07 +00:00
Ashish Kumar
a58b550eac
Fix html templates to load images only on HTTPS ( #14625 )
...
This PR changes http-based image URLs to be https in html templates.
This impacts the Synapse SSO error page, where browsers report mixed
media content warnings.
Also, https://matrix.org/img/vector-logo-email.png is currently broken
but the URL has been updated to be https anyway.
Signed-off-by: Ashish Kumar <ashfame@users.noreply.github.com>
2022-12-08 17:28:02 +00:00
Patrick Cloke
c369e95691
Rebuild the user directory and stats tables. ( #14643 )
...
Due to the various fixes to the StreamChangeCache it is not
safe to trust the information in the user directory or room/user
stats tables. Rebuild them as background jobs.
In particular see da77720752
(#14639 ),
and 6a8310f3df
(#14435 ).
Maybe also be related to fac8a38525
(#14592 ).
2022-12-08 11:40:20 -05:00
Patrick Cloke
9d8a3234ba
Respond with proper error responses on unknown paths. ( #14621 )
...
Returns a proper 404 with an errcode of M_RECOGNIZED for
unknown endpoints per MSC3743.
2022-12-08 11:37:05 -05:00
Patrick Cloke
da77720752
Check the stream position before checking if the cache is empty. ( #14639 )
...
An empty cache does not mean the entity has no changed, if
it is earlier than the earliest known stream position return that
the entity *has* changed since the cache cannot accurately
answer that query.
2022-12-08 11:35:49 -05:00
dependabot[bot]
f3ad68c343
Bump certifi from 2021.10.8 to 2022.12.7 ( #14645 )
...
* Bump certifi from 2021.10.8 to 2022.12.7
Bumps [certifi](https://github.com/certifi/python-certifi ) from 2021.10.8 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases )
- [Commits](https://github.com/certifi/python-certifi/compare/2021.10.08...2022.12.07 )
---
updated-dependencies:
- dependency-name: certifi
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-08 15:45:31 +00:00
Nick Mills-Barrett
60c3fea327
Reject receipt requests with invalid room or event IDs. ( #14632 )
...
If the room or event IDs are empty or of an invalid form they
should be rejected.
2022-12-07 17:35:41 +00:00
realtyem
2506dd7641
Unit tests CI speedup ( #14610 )
2022-12-07 15:47:05 +00:00
reivilibre
be3a8a85e3
Add --editable
flag to complement.sh
which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. ( #14548 )
...
Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
2022-12-07 15:45:31 +00:00
Mathieu Velten
22e91b8019
docker: remove useless cargo install with apt ( #14636 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-12-07 15:29:32 +01:00
reivilibre
96251af50d
Fix a bug introduced in v1.67.0 where not specifying a config file or a server URL would lead to the register_new_matrix_user
script failing. ( #14637 )
2022-12-07 13:39:27 +00:00
villepeh
d69bf3b24c
Add Mastodon SSO setup instructions to docs ( #14594 )
...
Fixes https://github.com/matrix-org/synapse/issues/14147
2022-12-07 11:44:53 +00:00
villepeh
9a9568168a
Change turn_allow_guests
example value to lowercase true
( #14634 )
...
* Set `turn_allow_guests` example value to lowercase
* Create 14634.doc
2022-12-07 11:33:24 +00:00
reivilibre
cf1059d045
Fix a long-standing bug where the user directory would return 1 more row than requested. ( #14631 )
2022-12-07 11:19:43 +00:00
reivilibre
9e82caac45
Faster remote room joins: unblock tasks waiting for full room state when the un-partial-stating of that room is received over the replication stream. [rei:frrj/streams/unpsr] ( #14474 )
2022-12-06 15:48:42 +00:00
Andrew Morgan
66d47b44cd
docs: Replace old note about Postgres 10+ being required with link to our deprecation policy ( #14590 )
2022-12-06 14:36:04 +00:00
Patrick Cloke
9b6224577e
Failover on proper error responses. ( #14620 )
...
When querying a remote server handle a 404/405 with an
errcode of M_UNRECOGNIZED as an unimplemented endpoint.
2022-12-06 07:23:03 -05:00
Richard van der Hoff
cb59e08062
Improve logging and opentracing for to-device message handling ( #14598 )
...
A batch of changes intended to make it easier to trace to-device messages through the system.
The intention here is that a client can set a property org.matrix.msgid in any to-device message it sends. That ID is then included in any tracing or logging related to the message. (Suggestions as to where this field should be documented welcome. I'm not enthusiastic about speccing it - it's very much an optional extra to help with debugging.)
I've also generally improved the data we send to opentracing for these messages.
2022-12-06 09:52:55 +00:00
Erik Johnston
cee9445884
Better return type for get_all_entities_changed
( #14604 )
...
Help callers from using the return value incorrectly by ensuring
that callers explicitly check if there was a cache hit or not.
2022-12-05 15:19:14 -05:00
Patrick Cloke
6a8310f3df
Compare to the earliest known stream pos in the stream change cache. ( #14435 )
...
The internal methods of the StreamChangeCache were inconsistently
treating the earliest known stream position as valid. It is now treated as
invalid, meaning the cache cannot determine if an entity at the earliest
known stream position has changed or not.
2022-12-05 09:00:59 -05:00
reivilibre
501f62d1a6
Faster remote room joins: stream the un-partial-stating of rooms over replication. [rei:frrj/streams/unpsr] ( #14473 )
2022-12-05 13:07:55 +00:00
Will Hunt
e1779bc69f
Fix push.enabled config documentation ( #14619 )
...
* Fix push.enabled config documentation
* Create 14619.doc
* Update 14619.doc
2022-12-05 12:47:45 +00:00
David Robertson
93ac3c197e
Suppress empty body warnings in room servelets ( #14600 )
...
* Suppress empty body warnings in room servelets
We've already decided to allow empty bodies for backwards compat. The
change here stops us from emitting a misleading warning; see also
https://github.com/matrix-org/synapse/issues/14478#issuecomment-1319157105
* Changelog
2022-12-05 11:30:41 +00:00
realtyem
05eb55f57d
Handle 'go get' deprecation ( #14611 )
...
* Switch out 'go get' for 'go install'.
* Changelog
2022-12-05 10:29:55 +00:00
dependabot[bot]
057cc7850a
Bump cryptography from 38.0.3 to 38.0.4 ( #14616 )
...
* Bump cryptography from 38.0.3 to 38.0.4
Bumps [cryptography](https://github.com/pyca/cryptography ) from 38.0.3 to 38.0.4.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/38.0.3...38.0.4 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:27:01 +00:00
dependabot[bot]
de6bb61062
Bump types-requests from 2.28.11.2 to 2.28.11.5 ( #14615 )
...
* Bump types-requests from 2.28.11.2 to 2.28.11.5
Bumps [types-requests](https://github.com/python/typeshed ) from 2.28.11.2 to 2.28.11.5.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-requests
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:10:42 +00:00
dependabot[bot]
7558d294ae
Bump twine from 4.0.1 to 4.0.2 ( #14614 )
...
* Bump twine from 4.0.1 to 4.0.2
Bumps [twine](https://github.com/pypa/twine ) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/4.0.1...4.0.2 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:10:06 +00:00
dependabot[bot]
680a8d4e9e
Bump types-setuptools from 65.5.0.3 to 65.6.0.1 ( #14613 )
...
* Bump types-setuptools from 65.5.0.3 to 65.6.0.1
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.3 to 65.6.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:03:34 +00:00
dependabot[bot]
802539159e
Bump phonenumbers from 8.13.0 to 8.13.1 ( #14612 )
...
* Bump phonenumbers from 8.13.0 to 8.13.1
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.0 to 8.13.1.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.0...v8.13.1 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-05 10:01:40 +00:00
dependabot[bot]
e863a99d8d
Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1 ( #14607 )
...
* Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1
Bumps [JasonEtco/create-an-issue](https://github.com/JasonEtco/create-an-issue ) from 2.5.0 to 2.8.1.
- [Release notes](https://github.com/JasonEtco/create-an-issue/releases )
- [Commits](5d9504915f...77399b6110
)
---
updated-dependencies:
- dependency-name: JasonEtco/create-an-issue
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-02 18:36:12 +00:00
Patrick Cloke
f685318c2a
Use ClientRestResource on both the main process and workers. ( #14528 )
...
Add logic to ClientRestResource to decide whether to mount servlets
or not based on whether the current process is a worker.
This is clearer to see what a worker runs than the completely separate /
copy & pasted list of servlets being mounted for workers.
2022-12-02 13:10:05 -05:00
Erik Johnston
890e5f610e
Fix Rust lint CI ( #14602 )
2022-12-02 18:04:28 +00:00
Patrick Cloke
acea4d7a2f
Add missing types to tests.util. ( #14597 )
...
Removes files under tests.util from the ignored by list, then
fully types all tests/util/*.py files.
2022-12-02 17:58:56 +00:00
Patrick Cloke
fac8a38525
Properly handle unknown results for the stream change cache. ( #14592 )
...
StreamChangeCache.get_all_changed_entities can return None to signify
it does not have information at the given stream position. Two callers (related
to device lists and presence) were treating this response the same as an empty
list (i.e. there being no updates).
2022-12-02 10:28:41 -05:00
realtyem
6acb6d772a
Update worker docs to update preferred settings for pusher and federation_sender ( #14493 )
...
* Fix one typo on line 3700(and apparently do something to other lines, no idea)
* Update config_documentation.md with more information about how federation_senders and pushers settings can be handled.
Specifically, that the instance map style of config does not require the special other variables that enable and disable functionality and that a single worker CAN be added to the map not only just two or more.
* Extra line here for consistency and appearance.
* Add link to sygnal repo.
* Add deprecation notice to workers.md and point to the newer alternative method of defining this functionality.
* Changelog
* Correct version number of Synapse the deprecation is happening in.
* Update quiet deprecation with simple notice and suggestion.
2022-12-02 11:38:01 +00:00
dependabot[bot]
656dce4baf
Bump jsonschema from 4.17.0 to 4.17.3 ( #14591 )
...
* Bump jsonschema from 4.17.0 to 4.17.3
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.17.0 to 4.17.3.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.3 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-12-01 19:05:08 +00:00
Will Hunt
71f3e53ad0
Add push.enabled
option to disable push notification calculation ( #14551 )
...
* Add initial option
* changelog
* Some more linting
2022-12-01 13:46:24 +00:00
David Robertson
781b14ec69
Merge branch 'release-v1.73' into develop
2022-12-01 13:43:30 +00:00
realtyem
854a6884d8
Modernize unit tests configuration settings for workers. ( #14568 )
...
Use the newer foo_instances configuration instead of the
deprecated flags to enable specific features (e.g. start_pushers).
2022-12-01 07:38:27 -05:00
David Robertson
6a41e5022e
1.73.0rc2
2022-12-01 10:02:56 +00:00
David Robertson
7aefc7e9fc
Cite launchpad bug that says ubuntu's pkgs are old ( #14517 )
...
* Cite launchpad bug that says ubuntu's pkgs are old
* Add some cross-references while I'm here
* Changelog
2022-11-30 18:33:35 +00:00
Nick Mills-Barrett
e8bce8999f
Aggregate unread notif count query for badge count calculation ( #14255 )
...
Fetch the unread notification counts used by the badge counts
in push notifications for all rooms at once (instead of fetching
them per room).
2022-11-30 08:45:06 -05:00
Mathieu Velten
4569eda944
Use servers list approx to send read receipts when in partial state ( #14549 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-11-30 13:39:47 +01:00
Richard van der Hoff
ecb6fe9d9c
Stop using deprecated keyIds
param on /key/v2/server ( #14525 )
...
Fixes #14523 .
2022-11-30 11:59:57 +00:00
David Robertson
c29e2c6306
Revert "POC delete stale non-e2e devices for users ( #14038 )" ( #14582 )
2022-11-29 17:48:48 +00:00
Patrick Cloke
13aa29db1d
Advertise support for Matrix v1.5. ( #14576 )
...
All features of Matrix v1.5 were already supported: this was
mostly a maintenance release.
2022-11-29 10:49:23 -05:00
David Robertson
8c5b8e6d40
1.73.0rc1
2022-11-29 12:32:02 +00:00
David Robertson
5b0dcda7f0
Fix GHA job for pushing the complement-synapse image ( #14573 )
...
Co-authored-by: Michael Kaye <1917473+michaelkaye@users.noreply.github.com>
2022-11-29 12:22:08 +00:00
Erik Johnston
c7e29ca277
POC delete stale non-e2e devices for users ( #14038 )
...
This should help reduce the number of devices e.g. simple bots the repeatedly login rack up.
We only delete non-e2e devices as they should be safe to delete, whereas if we delete e2e devices for a user we may accidentally break their ability to receive e2e keys for a message.
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-11-29 10:36:41 +00:00
Shay
72f3e38137
Fix possible variable shadow in create_new_client_event
( #14575 )
2022-11-28 19:18:12 -08:00
Travis Ralston
9ccc09fe9e
Support MSC1767's content.body
behaviour; Add base rules from MSC3933 ( #14524 )
...
* Support MSC1767's `content.body` behaviour in push rules
* Add the base rules from MSC3933
* Changelog entry
* Flip condition around for finding `m.markup`
* Remove forgotten import
2022-11-28 18:02:41 -07:00
Travis Ralston
dd51828120
Create MSC1767 (extensible events) room version; Implement MSC3932 ( #14521 )
...
* Add MSC1767's dedicated room version, based on v10
* Only enable MSC1767 room version if the config flag is on
Using a similar technique to knocking:
https://github.com/matrix-org/synapse/pull/6739/files#diff-3af529eedb0e00279bafb7369370c9654b37792af8eafa0925400e9281d57f0a
* Support MSC3932: Extensible events room version feature flag
* Changelog entry
2022-11-28 17:22:34 -07:00
Travis Ralston
3da6450327
Initial support for MSC3931: Room version push rule feature flags ( #14520 )
...
* Add support for MSC3931: Room Version Supports push rule condition
* Create experimental flag for future work, and use it to gate MSC3931
* Changelog entry
2022-11-28 16:29:53 -07:00
Eric Eastwood
8f10c8b054
Move MSC3030 /timestamp_to_event
endpoint to stable v1 location ( #14471 )
...
Fix https://github.com/matrix-org/synapse/issues/14390
- Client API: `/_matrix/client/unstable/org.matrix.msc3030/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>` -> `/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>`
- Federation API: `/_matrix/federation/unstable/org.matrix.msc3030/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>` -> `/_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>`
Complement test changes: https://github.com/matrix-org/complement/pull/559
2022-11-28 15:54:18 -06:00
Andrew Ferrazzutti
1183c372fa
Use device_one_time_keys_count
to match MSC3202 ( #14565 )
...
* Use `device_one_time_keys_count` to match MSC3202
Rename the `device_one_time_key_counts` key in responses to
`device_one_time_keys_count` to match the name specified by MSC3202.
Also change related variable/class names for consistency.
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
* Update changelog.d/14565.misc
* Revert name change for `one_time_key_counts` key
as this is a different key altogether from `device_one_time_keys_count`,
which is used for `/sync` instead of appservice transactions.
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-11-28 16:17:29 +00:00
Sean Quah
d56f48038a
Fix logging context warnings due to common usage metrics setup ( #14574 )
...
`setup()` is run under the sentinel context manager, so we wrap the
initial update in a background process. Before this change, Synapse
would log two warnings on startup:
Starting db txn 'count_daily_users' from sentinel context
Starting db connection from sentinel context: metrics will be lost
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-28 15:25:18 +00:00
Patrick Cloke
d748bbc8f8
Include thread information when sending receipts over federation. ( #14466 )
...
Include the thread_id field when sending read receipts over
federation. This might result in the same user having multiple
read receipts per-room, meaning multiple EDUs must be sent
to encapsulate those receipts.
This restructures the PerDestinationQueue APIs to support
multiple receipt EDUs, queue_read_receipt now becomes linear
time in the number of queued threaded receipts in the room for
the given user, it is expected this is a small number since receipt
EDUs are sent as filler in transactions.
2022-11-28 14:40:17 +00:00
Sean Quah
f792dd74e1
Remove option to skip locking of tables during emulated upserts ( #14469 )
...
To perform an emulated upsert into a table safely, we must either:
* lock the table,
* be the only writer upserting into the table
* or rely on another unique index being present.
When the 2nd or 3rd cases were applicable, we previously avoided locking
the table as an optimization. However, as seen in #14406 , it is easy to
slip up when adding new schema deltas and corrupt the database.
The only time we lock when performing emulated upserts is while waiting
for background updates on postgres. On sqlite, we do no locking at all.
Let's remove the option to skip locking tables, so that we don't shoot
ourselves in the foot again.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-28 13:42:06 +00:00
Michael Kaye
2dad42a9fb
Push complement image to a docker registry ( #14509 )
...
* GHA workflow to build complement images of key branches.
* Add changelog.d
* GHA workflow to build complement images of key branches.
* Add changelog.d
* Update complement.yml
Remove special casing for michaelk branch.
* Update complement.yml
Should run on master, develop not main, develop
* Rename file to be more obvious
* Merge did not go correctly.
* Setup 5am builds of develop, limit to one run at once.
* Fix crontab---run once at 5AM, not very minute between 5 and 6
* Fix cron syntax again?
* Tweak workflow name
* Allow manual debug runs
* Tweak indentation
Ctrl-Alt-L in PyCharm
Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
Co-authored-by: David Robertson <davidr@element.io>
2022-11-28 12:51:40 +00:00
dependabot[bot]
58383c18bd
Bump serde_json from 1.0.88 to 1.0.89 ( #14560 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 12:45:58 +00:00
dependabot[bot]
7a7ee3d6b8
Bump serde from 1.0.147 to 1.0.148 ( #14559 )
...
* Bump serde from 1.0.147 to 1.0.148
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.147 to 1.0.148.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 12:30:12 +00:00
David Robertson
105ab1c3d2
Run Rust CI when Cargo.lock changes too ( #14571 )
...
* Run Rust CI when Cargo.lock changes too
* Changelog
2022-11-28 11:47:16 +00:00
dependabot[bot]
7d24662fdd
Bump dtolnay/rust-toolchain from 55c7845fad90d0ae8b2e83715cb900e5e861e8cb to e645b0cf01249a964ec099494d38d2da0f0b349f ( #14557 )
...
* Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from 55c7845fad90d0ae8b2e83715cb900e5e861e8cb to e645b0cf01249a964ec099494d38d2da0f0b349f.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](55c7845fad...e645b0cf01
)
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-28 11:08:15 +00:00
Ashish Kumar
09de2aecb0
Add support for handling avatar with SSO login ( #13917 )
...
This commit adds support for handling a provided avatar picture URL
when logging in via SSO.
Signed-off-by: Ashish Kumar <ashfame@users.noreply.github.com>
Fixes #9357 .
2022-11-25 15:16:50 +00:00
Mathieu Velten
39cde585bf
Faster joins: use initial list of servers if we don't have the full state yet ( #14408 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-11-24 18:09:47 +01:00
schmop
c2e06c36d4
Fix crash admin media list api when info is None ( #14537 )
...
Fixes https://github.com/matrix-org/synapse/issues/14536
2022-11-24 10:49:04 +00:00
Benjamin Kampmann
f6c74d1cb2
Implement message forward pagination from start when no from is given, fixes #12383 ( #14149 )
...
Fixes https://github.com/matrix-org/synapse/issues/12383
2022-11-24 09:10:51 +00:00
reivilibre
9af2be192a
Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. ( #14538 )
2022-11-24 09:09:17 +00:00
Mathieu Velten
3b4e150868
Faster joins: use servers list approximation in assert_host_in_room
( #14515 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-11-24 09:10:47 +01:00
Erik Johnston
f38d7d79c8
Add another index to device_lists_changes_in_room
( #14534 )
...
This helps avoid reading unnecessarily large amounts of data from the
table when querying with a set of room IDs.
2022-11-23 14:09:00 +00:00
Patrick Cloke
4ae967cf63
Add missing type hints to test.util.caches ( #14529 )
2022-11-22 17:35:54 -05:00
Eric Eastwood
7f78b383ca
Optimize filter_events_for_client
for faster /messages
- v2 ( #14527 )
...
Fix #14108
2022-11-22 21:56:28 +00:00
realtyem
df390a8e67
Refactor federation_sender
and pusher
configuration loading. ( #14496 )
...
To avoid duplicating the same logic for handling legacy configuration
settings.
This should help in applying similar logic to other worker types.
2022-11-22 21:33:58 +00:00
David Robertson
972743051b
Add more prompts to bug report form ( #14522 )
2022-11-22 21:23:22 +00:00
Patrick Cloke
6d47b7e325
Add a type hint for get_device_handler()
and fix incorrect types. ( #14055 )
...
This was the last untyped handler from the HomeServer object. Since
it was being treated as Any (and thus unchecked) it was being used
incorrectly in a few places.
2022-11-22 14:08:04 -05:00
Brendan Abolivier
9b4cb1e2ed
Apply correct editorconfig to .pyi files ( #14526 )
...
The current configuration might cause some editors to misbehave when editing stub files.
2022-11-22 18:33:28 +00:00
Sean Quah
9cae44f49e
Track unconverted device list outbound pokes using a position instead ( #14516 )
...
When a local device list change is added to
`device_lists_changes_in_room`, the `converted_to_destinations` flag is
set to `FALSE` and the `_handle_new_device_update_async` background
process is started. This background process looks for unconverted rows
in `device_lists_changes_in_room`, copies them to
`device_lists_outbound_pokes` and updates the flag.
To update the `converted_to_destinations` flag, the database performs a
`DELETE` and `INSERT` internally, which fragments the table. To avoid
this, track unconverted rows using a `(stream ID, room ID)` position
instead of the flag.
From now on, the `converted_to_destinations` column indicates rows that
need converting to outbound pokes, but does not indicate whether the
conversion has already taken place.
Closes #14037 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-22 16:46:52 +00:00
Patrick Cloke
7eb7460042
Parallelize calls to fetch bundled aggregations. ( #14510 )
...
The bundled aggregations for annotations, references, and edits
can be parallelized.
2022-11-22 09:47:32 -05:00
Patrick Cloke
6d7523ef14
Batch fetch bundled references ( #14508 )
...
Avoid an n+1 query problem and fetch the bundled aggregations for
m.reference relations in a single query instead of a query per event.
This applies similar logic for as was previously done for edits in
8b309adb43
(#11660 ; threads
in b65acead42
(#11752 ); and
annotations in 1799a54a54
(#14491 ).
2022-11-22 09:41:09 -05:00
Patrick Cloke
1799a54a54
Batch fetch bundled annotations ( #14491 )
...
Avoid an n+1 query problem and fetch the bundled aggregations for
m.annotation relations in a single query instead of a query per event.
This applies similar logic for as was previously done for edits in
8b309adb43
(#11660 ) and threads
in b65acead42
(#11752 ).
2022-11-22 07:26:11 -05:00
Mathieu Velten
1526ff389f
Faster joins: filter out non local events when a room doesn't have its full state ( #14404 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-11-21 16:46:14 +01:00
Brennan Chapman
640cb3c81c
Fix broken admin API request recommendation link ( #14499 )
...
Signed-off-by: Brennan Chapman <brennan@chapmanb.com>
2022-11-21 12:40:25 +01:00
dependabot[bot]
22036f038e
Bump serde_json from 1.0.87 to 1.0.88 ( #14505 )
...
* Bump serde_json from 1.0.87 to 1.0.88
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.87...v1.0.88 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:30:18 +00:00
dependabot[bot]
6e0cb8de79
Bump phonenumbers from 8.12.56 to 8.13.0 ( #14504 )
...
* Bump phonenumbers from 8.12.56 to 8.13.0
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.12.56 to 8.13.0.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.12.56...v8.13.0 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:30:05 +00:00
dependabot[bot]
d988fb5e7b
Bump towncrier from 21.9.0 to 22.8.0 ( #14503 )
...
* Bump towncrier from 21.9.0 to 22.8.0
Bumps [towncrier](https://github.com/hawkowl/towncrier ) from 21.9.0 to 22.8.0.
- [Release notes](https://github.com/hawkowl/towncrier/releases )
- [Changelog](https://github.com/twisted/towncrier/blob/trunk/NEWS.rst )
- [Commits](https://github.com/hawkowl/towncrier/compare/21.9.0...22.8.0 )
---
updated-dependencies:
- dependency-name: towncrier
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:54 +00:00
dependabot[bot]
8f77418edd
Bump pygithub from 1.56 to 1.57 ( #14500 )
...
* Bump pygithub from 1.56 to 1.57
Bumps [pygithub](https://github.com/pygithub/pygithub ) from 1.56 to 1.57.
- [Release notes](https://github.com/pygithub/pygithub/releases )
- [Changelog](https://github.com/PyGithub/PyGithub/blob/master/doc/changes.rst )
- [Commits](https://github.com/pygithub/pygithub/compare/v1.56...v1.57 )
---
updated-dependencies:
- dependency-name: pygithub
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:42 +00:00
dependabot[bot]
78867f302f
Bump types-pillow from 9.2.2.1 to 9.3.0.1 ( #14502 )
...
* Bump types-pillow from 9.2.2.1 to 9.3.0.1
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.2.2.1 to 9.3.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:29:24 +00:00
dependabot[bot]
8718322130
Bump sentry-sdk from 1.10.1 to 1.11.0 ( #14501 )
...
* Bump sentry-sdk from 1.10.1 to 1.11.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.10.1...1.11.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-21 10:28:57 +00:00
Richard van der Hoff
8d133a8464
Fixes to federation_client
dev script ( #14479 )
...
* Attempt to fix federation-client devscript handling of .well-known
The script was setting the wrong value in the Host header
* Fix TLS verification
Turns out that actually doing TLS verification isn't that hard. Let's enable
it.
2022-11-20 17:41:17 +00:00
David Robertson
e1b15f25f3
Fix /key/v2/server calls with URL-unsafe key IDs ( #14490 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-11-18 19:56:42 +00:00
Sean Quah
78e23eea05
Reduce default third party invite rate limit to 216 invites per day ( #14487 )
...
The previous default was the same as the `rc_message` rate limit, which
defaults to 17,280 per day.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-18 18:10:01 +00:00
Andrew Morgan
ae22e6e94f
Enable 'strict_equality' checking for mypy ( #14452 )
2022-11-17 18:34:09 +00:00
David Robertson
01a0527892
Fix version that worker_main_http_uri
is redundant from ( #14476 )
...
* Fix version that `worker_main_http_uri` is redundant from
* Changelog
2022-11-17 16:11:08 +00:00
Andrew Morgan
e7132c3f81
Fix check to ignore blank lines in incoming TCP replication ( #14449 )
2022-11-17 16:09:56 +00:00
Mathieu Velten
75888c2b1f
Faster joins: do not wait for full state when creating events to send ( #14403 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-11-17 17:01:14 +01:00
David Robertson
115f0eb233
Reintroduce #14376 , with bugfix for monoliths ( #14468 )
...
* Add tests for StreamIdGenerator
* Drive-by: annotate all defs
* Revert "Revert "Remove slaved id tracker (#14376 )" (#14463 )"
This reverts commit d63814fd73
, which in
turn reverted 36097e88c4
. This restores
the latter.
* Fix StreamIdGenerator not handling unpersisted IDs
Spotted by @erikjohnston.
Closes #14456 .
* Changelog
Co-authored-by: Nick Mills-Barrett <nick@fizzadar.com>
Co-authored-by: Erik Johnston <erik@matrix.org>
2022-11-16 22:16:46 +00:00
realtyem
c15e9a0edb
Remove need for worker_main_http_uri
setting to use /keys/upload. ( #14400 )
2022-11-16 22:16:25 +00:00
Erik Johnston
a84744fba0
Merge branch 'release-v1.72' into develop
2022-11-16 18:22:04 +00:00
Andrew Morgan
618e4ab81b
Fix an invalid comparison of UserPresenceState
to str
( #14393 )
2022-11-16 15:25:35 +00:00
Patrick Cloke
d8cc86eff4
Remove redundant types from comments. ( #14412 )
...
Remove type hints from comments which have been added
as Python type hints. This helps avoid drift between comments
and reality, as well as removing redundant information.
Also adds some missing type hints which were simple to fill in.
2022-11-16 15:25:24 +00:00
Erik Johnston
1a8cd8bec0
1.72.0rc1
2022-11-16 15:11:06 +00:00
Sean Quah
882277008c
Fix background updates failing to add unique indexes on receipts ( #14453 )
...
As part of the database migration to support threaded receipts, there is
a possible window in between
`73/08thread_receipts_non_null.sql.postgres` removing the original
unique constraints on `receipts_linearized` and `receipts_graph` and the
`reeipts_linearized_unique_index` and `receipts_graph_unique_index`
background updates from `72/08thread_receipts.sql` completing where
the unique constraints on `receipts_linearized` and `receipts_graph` are
missing. Any emulated upserts on these tables must therefore be
performed with a lock held, otherwise duplicate rows can end up in the
tables when there are concurrent emulated upserts. Fix the missing lock.
Note that emulated upserts no longer happen by default on sqlite, since
the minimum supported version of sqlite supports native upserts by
default now.
Finally, clean up any duplicate receipts that may have crept in before
trying to create the `receipts_graph_unique_index` and
`receipts_linearized_unique_index` unique indexes.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-16 15:01:22 +00:00
Erik Johnston
d63814fd73
Revert "Remove slaved id tracker ( #14376 )" ( #14463 )
...
This reverts commit 36097e88c4
.
2022-11-16 13:50:07 +00:00
Erik Johnston
945a0928c7
Don't filter state in /context response ( #14461 )
...
We don't filter state usually, so doing so here is a waste of time. This is not much of an issue for clients that enable lazy loading of members, since there will be fewer state events.
2022-11-16 12:09:33 +00:00
Andrew Morgan
f844b470f6
Fix stub return type of PushRuleEvaluator.run
( #14451 )
2022-11-16 12:03:05 +00:00
Erik Johnston
5cb6ad3b87
Fix HTML templates missing correct HTML tags ( #14448 )
2022-11-16 11:14:38 +00:00
David Robertson
1eed795fc5
Include heroes in partial join responses' state ( #14442 )
...
* Pull out hero selection logic
* Include heroes in partial join response's state
* Changelog
* Fixup trial test
* Remove TODO
2022-11-15 17:35:19 +00:00
David Robertson
258b5285b6
Fix typechecking errors introduced in #14128 ( #14455 )
...
* Fix typechecking errors introduced in #14128
* Changelog
* Correct annotations
so that context_factory works if you don't use TLS
2022-11-15 16:36:43 +00:00
DeepBlueV7.X
63cc56affa
Send content rules with pattern_type to clients ( #14356 )
2022-11-15 15:29:30 +00:00
Tuomas Ojamies
b5ab2c428a
Support using SSL on worker endpoints. ( #14128 )
...
* Fix missing SSL support in worker endpoints.
* Add changelog
* SSL for Replication endpoint
* Remove unit test change
* Refactor listener creation to reduce duplicated code
* Fix the logger message
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add config documentation for new TLS option
Co-authored-by: Tuomas Ojamies <tojamies@palantir.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2022-11-15 12:55:00 +00:00
reivilibre
634359b083
Update docstring to clarify that get_partial_state_events_batch
does not just give you completely arbitrary partial-state events. ( #14417 )
2022-11-15 10:43:17 +00:00
sando38
64dd8a9c6e
Include additional TURN server example into documentation ( #14293 )
...
* Include eturnal TURN server configuration example
and moving specific configuration examples into sub folders.
* Update docs/turn-howto.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
* Update docs/setup/turn/coturn.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
* Update docs/setup/turn/eturnal.md
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
* Fix TURN relaying public IP address hint
* lint eturnal installation commands
* Adjust synapse setup to link to existing documentation
..avoid redundant information.
* remove redundant text
* include alpine linux package link
* Create 14293.doc
* Update 14293.doc
add missing dot
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net>
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net>
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
* Update docs/setup/turn/eturnal.md
Co-authored-by: reivilibre <olivier@librepush.net>
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
* Update docs/setup/turn/coturn.md
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
* Update eturnal.md to link to official documentation
... and to simplify some aspects
* Adjust coturn to link to default prefix
* Mention eturnalctl location
* Update docs/turn-howto.md
Co-authored-by: Saarko <sandomir@tutanotal.com>
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
Co-authored-by: reivilibre <olivier@librepush.net>
Co-authored-by: Moritz Dietz <moritzdietz@users.noreply.github.com>
2022-11-14 17:55:10 +00:00
Nick Mills-Barrett
36097e88c4
Remove slaved id tracker ( #14376 )
...
This matches the multi instance writer ID generator class which can
both handle advancing the current token over replication and by calling
the database.
2022-11-14 17:31:36 +00:00
dependabot[bot]
e226513c0f
Bump jsonschema from 4.16.0 to 4.17.0 ( #14439 )
...
* Bump jsonschema from 4.16.0 to 4.17.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.16.0...v4.17.0 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:17:29 +00:00
dependabot[bot]
4d1de6a944
Bump flake8-comprehensions from 3.8.0 to 3.10.1 ( #14438 )
...
* Bump flake8-comprehensions from 3.8.0 to 3.10.1
Bumps [flake8-comprehensions](https://github.com/adamchainz/flake8-comprehensions ) from 3.8.0 to 3.10.1.
- [Release notes](https://github.com/adamchainz/flake8-comprehensions/releases )
- [Changelog](https://github.com/adamchainz/flake8-comprehensions/blob/main/HISTORY.rst )
- [Commits](https://github.com/adamchainz/flake8-comprehensions/compare/3.8.0...3.10.1 )
---
updated-dependencies:
- dependency-name: flake8-comprehensions
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:17:19 +00:00
dependabot[bot]
4a333d638b
Bump types-pyopenssl from 22.0.10 to 22.1.0.2 ( #14437 )
...
* Bump types-pyopenssl from 22.0.10 to 22.1.0.2
Bumps [types-pyopenssl](https://github.com/python/typeshed ) from 22.0.10 to 22.1.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyopenssl
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 17:16:53 +00:00
dependabot[bot]
2cecb782c4
Bump canonicaljson from 1.6.3 to 1.6.4 ( #14440 )
...
* Bump canonicaljson from 1.6.3 to 1.6.4
Bumps [canonicaljson](https://github.com/matrix-org/python-canonicaljson ) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/matrix-org/python-canonicaljson/releases )
- [Changelog](https://github.com/matrix-org/python-canonicaljson/blob/main/CHANGES.md )
- [Commits](https://github.com/matrix-org/python-canonicaljson/compare/v1.6.3...v1.6.4 )
---
updated-dependencies:
- dependency-name: canonicaljson
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 16:35:08 +00:00
dependabot[bot]
ae54a94063
Bump types-setuptools from 65.5.0.2 to 65.5.0.3 ( #14436 )
...
* Bump types-setuptools from 65.5.0.2 to 65.5.0.3
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.2 to 65.5.0.3.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 16:34:00 +00:00
Erik Johnston
6816300588
Make Dependabot only bump Rust deps in the lock file ( #14434 )
...
This is to help downstream packagers.
2022-11-14 14:45:17 +00:00
David Robertson
2cc592584a
Remove unused type-ignores ( #14433 )
...
* Remove unused type-ignores
Oversights in #14427 and #14429 .
* Changelog
2022-11-14 13:46:29 +00:00
Patrick Cloke
fb66fae84b
Clean-up events persistance code ( #14411 )
...
By removing unused variables and making some arguments
required which are always provided.
2022-11-14 08:13:11 -05:00
dependabot[bot]
95f7a65a56
Bump gitpython from 3.1.27 to 3.1.29 ( #14429 )
...
* Bump gitpython from 3.1.27 to 3.1.29
Bumps [gitpython](https://github.com/gitpython-developers/GitPython ) from 3.1.27 to 3.1.29.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases )
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES )
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.27...3.1.29 )
---
updated-dependencies:
- dependency-name: gitpython
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:15:35 +00:00
dependabot[bot]
683bf4af4b
Bump types-pyyaml from 6.0.12.1 to 6.0.12.2 ( #14428 )
...
* Bump types-pyyaml from 6.0.12.1 to 6.0.12.2
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12.1 to 6.0.12.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:10:40 +00:00
dependabot[bot]
8e38d74313
Bump attrs from 21.4.0 to 22.1.0 ( #14427 )
...
* Bump attrs from 21.4.0 to 22.1.0
Bumps [attrs](https://github.com/python-attrs/attrs ) from 21.4.0 to 22.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases )
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-attrs/attrs/compare/21.4.0...22.1.0 )
---
updated-dependencies:
- dependency-name: attrs
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 12:07:44 +00:00
dependabot[bot]
b7f5a3aaa6
Bump flake8 from 4.0.1 to 5.0.4 ( #14431 )
...
* Bump flake8 from 4.0.1 to 5.0.4
Bumps [flake8](https://github.com/pycqa/flake8 ) from 4.0.1 to 5.0.4.
- [Release notes](https://github.com/pycqa/flake8/releases )
- [Commits](https://github.com/pycqa/flake8/compare/4.0.1...5.0.4 )
---
updated-dependencies:
- dependency-name: flake8
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:41:55 +00:00
dependabot[bot]
cc45808ea3
Bump types-jsonschema from 4.17.0.0 to 4.17.0.1 ( #14430 )
...
* Bump types-jsonschema from 4.17.0.0 to 4.17.0.1
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.17.0.0 to 4.17.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:41:31 +00:00
dependabot[bot]
fec1e2cb52
Bump blake2 from 0.10.4 to 0.10.5 ( #14426 )
...
* Bump blake2 from 0.10.4 to 0.10.5
Bumps [blake2](https://github.com/RustCrypto/hashes ) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/blake2-v0.10.4...blake2-v0.10.5 )
---
updated-dependencies:
- dependency-name: blake2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:55 +00:00
dependabot[bot]
639780fc15
Bump actions/upload-artifact from 2 to 3 ( #14425 )
...
* Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:38 +00:00
dependabot[bot]
2e7c86c129
Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2 ( #14424 )
...
* Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.24.1 to 2.24.2.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](b12b127cf2...e6e25ac3a2
)
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-14 10:39:09 +00:00
Brad Jones
334a8324d3
Update sample Nginx configuration to HTTP 1.1 ( #14414 )
...
Signed-off-by: Brad Jones <brad@kinksters.dating>
2022-11-11 17:28:05 +00:00
Ashish Kumar
a3623af74e
Add an Admin API endpoint for looking up users based on 3PID ( #14405 )
2022-11-11 15:38:17 +00:00
Nick Mills-Barrett
3a4f80f8c6
Merge/remove Slaved*
stores into WorkerStores
( #14375 )
2022-11-11 10:51:49 +00:00
Patrick Cloke
13ca8bb2fc
Remove duplicated code to evict entries. ( #14410 )
...
This code was factored out to a method, but also left in-place.
Calling this twice in a row makes no sense: the first call will reduce
the size appropriately, but the loop will immediately exit since the
cache size was already reduced.
2022-11-10 15:33:34 -05:00
Sean Quah
b2c2b03079
Fix PostgreSQL sometimes using table scans for event_search
( #14409 )
...
PostgreSQL may underestimate the number of distinct `room_id`s in
`event_search`, which can cause it to use table scans for queries for
multiple rooms.
Fix this by setting `n_distinct` on the column.
Resolves #14402 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-10 19:02:27 +00:00
David Robertson
d10a85ec9e
Quieter logging for stateres failure at missing prev events ( #14346 )
2022-11-10 12:17:46 +00:00
Patrick Cloke
e9a4343cb2
Drop support for Postgres 10 in full text search code. ( #14397 )
2022-11-09 09:55:34 -05:00
dependabot[bot]
21447c9102
Bump dawidd6/action-download-artifact from 2.24.0 to 2.24.1 ( #14398 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org>
2022-11-09 12:16:12 +00:00
realtyem
e9cbddc8e7
Modernize configure_workers_and_start.py bootstrapping script for Dockerfile-workers. ( #14294 )
2022-11-09 12:02:15 +00:00
Sean Quah
0cf48f2d5f
Build Debian packages for Ubuntu 22.10 Kinetic Kudu ( #14396 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-09 10:33:13 +00:00
Sean Quah
22d46db0ea
Test against PostgreSQL 15 in CI ( #14394 )
...
Resolves #14170 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-09 10:32:52 +00:00
Sean Quah
a5fcdea090
Remove support for PostgreSQL 10 ( #14392 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-08 17:17:13 +00:00
realtyem
d85cba1aa0
Add all Stream Writer worker types to configure_workers_and_start.py ( #14197 )
...
Co-authored-by: reivilibre <oliverw@matrix.org>
2022-11-08 13:14:00 +00:00
realtyem
69814eb282
Allow override for requesting specific worker types for Complement on command line. ( #14324 )
...
* Expose getting SYNAPSE_WORKER_TYPES from external, allowing override of workers requested.
* Add WORKER_TYPES variable option to complement.sh script that passes requested workers into start_for_complement.sh entrypoint.
* Update docs to reflect this new ability.
* Changelog
* Don't rely on soft wrapping to format long strings
Good idea dklimpel. Thanks for catching that.
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
* Small nits just noticed in docs.
* Fixup new line in docs.
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
2022-11-08 12:34:09 +00:00
Shay
7894251bce
Correctly create power level event during initial room creation ( #14361 )
2022-11-07 13:38:50 -08:00
Richard van der Hoff
2193513346
Fix background update table-scanning events
( #14374 )
...
When this background update did its last batch, it would try to update all the
events that had been inserted since the bgupdate started, which could cause a
table-scan. Make sure we limit the update correctly.
2022-11-07 14:28:00 +00:00
aceArt-GmbH
42f9d414c2
Add example on how to load balance /sync requests ( #14297 )
...
Signed-off-by: lukas <lukas.walter@aceart.de>
Signed-off-by: lukas <lukas.walter@aceart.de>
2022-11-07 13:51:53 +00:00
Sean Quah
e980982b59
Do not reject /sync
requests with unrecognised filter fields ( #14369 )
...
For forward compatibility, Synapse needs to ignore fields it does not
recognise instead of raising an error.
Fixes #14365 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-11-07 13:49:31 +00:00
dependabot[bot]
233fc6e279
Bump types-jsonschema from 4.4.6 to 4.17.0.0 ( #14386 )
...
* Bump types-jsonschema from 4.4.6 to 4.17.0.0
Bumps [types-jsonschema](https://github.com/python/typeshed ) from 4.4.6 to 4.17.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-jsonschema
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:26 +00:00
dependabot[bot]
bd70fc1a3c
Bump types-pyyaml from 6.0.12 to 6.0.12.1 ( #14385 )
...
* Bump types-pyyaml from 6.0.12 to 6.0.12.1
Bumps [types-pyyaml](https://github.com/python/typeshed ) from 6.0.12 to 6.0.12.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pyyaml
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:16 +00:00
dependabot[bot]
a2a44e53a6
Bump cryptography from 36.0.1 to 38.0.3 ( #14384 )
...
* Bump cryptography from 36.0.1 to 38.0.3
Bumps [cryptography](https://github.com/pyca/cryptography ) from 36.0.1 to 38.0.3.
- [Release notes](https://github.com/pyca/cryptography/releases )
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/36.0.1...38.0.3 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:29:08 +00:00
dependabot[bot]
6ac9b5c9a5
Bump pillow from 9.2.0 to 9.3.0 ( #14383 )
...
* Bump pillow from 9.2.0 to 9.3.0
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 9.2.0 to 9.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/9.2.0...9.3.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:50 +00:00
dependabot[bot]
7deee6763c
Bump types-setuptools from 65.5.0.1 to 65.5.0.2 ( #14382 )
...
* Bump types-setuptools from 65.5.0.1 to 65.5.0.2
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.5.0.1 to 65.5.0.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:29 +00:00
dependabot[bot]
b03b5a5a4f
Bump pyo3 from 0.17.2 to 0.17.3 ( #14381 )
...
* Bump pyo3 from 0.17.2 to 0.17.3
Bumps [pyo3](https://github.com/pyo3/pyo3 ) from 0.17.2 to 0.17.3.
- [Release notes](https://github.com/pyo3/pyo3/releases )
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pyo3/pyo3/compare/v0.17.2...v0.17.3 )
---
updated-dependencies:
- dependency-name: pyo3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:19 +00:00
dependabot[bot]
1df4260620
Bump regex from 1.6.0 to 1.7.0 ( #14380 )
...
* Bump regex from 1.6.0 to 1.7.0
Bumps [regex](https://github.com/rust-lang/regex ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:28:08 +00:00
dependabot[bot]
04359f92f2
Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0 ( #14379 )
...
* Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0
Bumps [peaceiris/actions-mdbook](https://github.com/peaceiris/actions-mdbook ) from 1.1.14 to 1.2.0.
- [Release notes](https://github.com/peaceiris/actions-mdbook/releases )
- [Changelog](https://github.com/peaceiris/actions-mdbook/blob/main/CHANGELOG.md )
- [Commits](https://github.com/peaceiris/actions-mdbook/compare/v1.1.14...adeb05db28a0c0004681db83893d56c0388ea9ea )
---
updated-dependencies:
- dependency-name: peaceiris/actions-mdbook
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:27:52 +00:00
dependabot[bot]
b2a1e75431
Bump dawidd6/action-download-artifact from 2.15.0 to 2.24.0 ( #14378 )
...
* Bump dawidd6/action-download-artifact from 2.15.0 to 2.24.0
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2.15.0 to 2.24.0.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](af92a8455a...46b4ae883b
)
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-07 10:27:39 +00:00
dependabot[bot]
8bcdd712b8
Bump flake8-bugbear from 22.9.23 to 22.10.27 ( #14329 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2022-11-04 18:43:14 +00:00
Brendan Abolivier
bb39fc4366
Fix the trigger path for deploying documentation PRs ( #14370 )
...
This was missed from #12947
2022-11-04 18:33:01 +00:00
Michael Telatynski
79b6c19321
Upload documentation PRs to Netlify ( #12947 )
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Erik Johnston <erik@matrix.org>
Co-authored-by: David Robertson <davidr@element.io>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-11-04 17:08:11 +00:00
Tulir Asokan
a4b1f64562
Fix /refresh endpoint version ( #14364 )
2022-11-04 16:43:51 +00:00
Brendan Abolivier
86c5a710d8
Implement MSC3912: Relation-based redactions ( #14260 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-11-03 16:21:31 +00:00
David Robertson
e5cd278f3f
Use maintained action to install Rust in latest deps/twisted trunk jobs ( #14351 )
...
* Use maintained action to install Rust
Part of #14203 . Like the changes in #14313 .
* Changelog
2022-11-02 23:19:57 +00:00
David Robertson
d4fac8a3e2
Fix typo in #13320 which could cause log spam ( #14347 )
2022-11-01 19:20:35 +00:00
Patrick Cloke
59ca73006c
Enable testing MSC3874 in complement. ( #14339 )
2022-11-01 13:26:28 -04:00
David Robertson
2bd7f3eeab
Allow PUT/GET of aliases during faster join ( #14292 )
...
without blocking on full state.
2022-11-01 15:02:39 +00:00
David Robertson
2b56aaa0b8
Merge branch 'release-v1.71' into develop
2022-11-01 14:43:52 +00:00
dependabot[bot]
1dd16e96c8
Bump twisted from 22.8.0 to 22.10.0 ( #14340 )
...
* Bump twisted from 22.8.0 to 22.10.0
Bumps [twisted](https://github.com/twisted/twisted ) from 22.8.0 to 22.10.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-22.8.0...twisted-22.10.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-11-01 14:31:12 +00:00
David Robertson
a62c796f63
Deal with another batch of GHA warning messages ( #14313 )
2022-11-01 13:58:39 +00:00
David Robertson
5905ba12d0
Run trial tests against Python 3.11 ( #13812 )
2022-11-01 13:07:54 +00:00
David Robertson
ddbba28d52
1.71.0rc1
2022-11-01 12:10:51 +00:00
David Robertson
9473ebb9e7
Revert "Fix event size checks ( #13710 )"
...
This reverts commit fab495a9e1
.
As noted in
https://github.com/matrix-org/synapse/pull/13710#issuecomment-1298396007 :
> We want to see this change land for the protocol's sake (and plan to
un-revert it) but want to give this a little more time before releasing
this.
2022-11-01 11:47:09 +00:00
reivilibre
b922b54b61
Fix type annotation causing import time error in the Complement forking launcher. ( #14084 )
...
Co-authored-by: David Robertson <davidr@element.io>
2022-11-01 10:30:43 +00:00
David Robertson
dbfc9b803e
Fix dehydrated device REST checks ( #14336 )
2022-10-31 20:31:43 +00:00
Quentin Gliech
cc3a52b33d
Support OIDC backchannel logouts ( #11414 )
...
If configured an OIDC IdP can log a user's session out of
Synapse when they log out of the identity provider.
The IdP sends a request directly to Synapse (and must be
configured with an endpoint) when a user logs out.
2022-10-31 13:07:30 -04:00
dependabot[bot]
15bdb0da52
Bump sentry-sdk from 1.5.11 to 1.10.1 ( #14330 )
...
* Bump sentry-sdk from 1.5.11 to 1.10.1
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python ) from 1.5.11 to 1.10.1.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/1.5.11...1.10.1 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:43:19 +00:00
dependabot[bot]
b2890369cd
Bump psycopg2 from 2.9.4 to 2.9.5 ( #14331 )
...
* Bump psycopg2 from 2.9.4 to 2.9.5
Bumps [psycopg2](https://github.com/psycopg/psycopg2 ) from 2.9.4 to 2.9.5.
- [Release notes](https://github.com/psycopg/psycopg2/releases )
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS )
- [Commits](https://github.com/psycopg/psycopg2/commits )
---
updated-dependencies:
- dependency-name: psycopg2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:34:00 +00:00
dependabot[bot]
278f8543be
Bump twine from 3.8.0 to 4.0.1 ( #14332 )
...
* Bump twine from 3.8.0 to 4.0.1
Bumps [twine](https://github.com/pypa/twine ) from 3.8.0 to 4.0.1.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/3.8.0...4.0.1 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:32:04 +00:00
dependabot[bot]
00d108fce4
Bump black from 22.3.0 to 22.10.0 ( #14328 )
...
* Bump black from 22.3.0 to 22.10.0
Bumps [black](https://github.com/psf/black ) from 22.3.0 to 22.10.0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/22.3.0...22.10.0 )
---
updated-dependencies:
- dependency-name: black
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-31 13:29:14 +00:00
David Robertson
2bb2c32e8e
Avoid incrementing bg process utime/stime counters by negative durations ( #14323 )
2022-10-31 13:02:07 +00:00
Andrew Morgan
7911e2835d
Prevent federation user keys query from returning device names if disallowed ( #14304 )
2022-10-28 18:06:02 +01:00
David Robertson
730b13dbc9
Improve RawHeaders
type hints ( #14303 )
2022-10-28 16:04:02 +00:00
Patrick Cloke
81815e0561
Switch search SQL to triple-quote strings. ( #14311 )
...
For ease of reading we switch from concatenated strings to
triple quote strings.
2022-10-28 11:44:10 -04:00
Dirk Klimpel
44f0d573cf
Add docs for an empty trusted_key_servers
config option ( #13999 )
...
* Add docs for an empty `trusted_key_servers` config option
* small rewording
* Tweak changelog
2022-10-28 13:55:03 +01:00
Eric Eastwood
aa70556699
Check appservice user interest against the local users instead of all users (get_users_in_room
mis-use) ( #13958 )
2022-10-27 18:29:23 +00:00
Patrick Cloke
67583281e3
Fix tests for change in PostgreSQL 14 behavior change. ( #14310 )
...
PostgreSQL 14 changed the behavior of `websearch_to_tsquery` to
improve some behaviour.
The tests were hitting those edge-cases about handling of hanging double
quotes. This fixes the tests to take into account the PostgreSQL version.
2022-10-27 13:58:12 +00:00
Dirk Klimpel
1357ae869f
Add workers settings to configuration manual ( #14086 )
...
* Add workers settings to configuration manual
* Update `pusher_instances`
* update url to python logger
* update headlines
* update links after headline change
* remove link from `daemon process`
There is no docs in Synapse for this
* extend example for `federation_sender_instances` and `pusher_instances`
* more infos about stream writers
* add link to DAG
* update `pusher_instances`
* update `worker_listeners`
* update `stream_writers`
* Update `worker_name`
Co-authored-by: David Robertson <davidr@element.io>
2022-10-27 14:39:47 +01:00
Mathieu Velten
4dc05f3019
Fix presence bug introduced in 1.64 by #13313 ( #14243 )
...
* Fix presence bug introduced in 1.64 by #13313
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
* Add changelog
* Add DISTINCT
* Apply suggestions from code review
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-10-27 13:16:00 +01:00
David Robertson
cbe01ccc3f
Reject history insertion during partial joins ( #14291 )
2022-10-27 10:52:23 +01:00
Eric Eastwood
40fa8294e3
Refactor MSC3030 /timestamp_to_event
to move away from our snowflake pull from destination
pattern ( #14096 )
...
1. `federation_client.timestamp_to_event(...)` now handles all `destination` looping and uses our generic `_try_destination_list(...)` helper.
2. Consistently handling `NotRetryingDestination` and `FederationDeniedError` across `get_pdu` , backfill, and the generic `_try_destination_list` which is used for many places we use this pattern.
3. `get_pdu(...)` now returns `PulledPduInfo` so we know which `destination` we ended up pulling the PDU from
2022-10-26 16:10:55 -05:00
David Robertson
0d59ae706a
Use poetry 1.2 for complement in latest deps ( #14305 )
2022-10-26 17:22:26 +01:00
Ashish Kumar
0cfbb35131
fix broken avatar checks when server_name contains a port ( #13927 )
...
Fixes check_avatar_size_and_mime_type() to successfully update avatars on homeservers running on non-default ports which it would mistakenly treat as remote homeserver while validating the avatar's size and mime type.
Signed-off-by: Ashish Kumar ashfame@users.noreply.github.com
2022-10-26 15:51:23 +01:00
Quentin Gliech
8756d5c87e
Save login tokens in database ( #13844 )
...
* Save login tokens in database
Signed-off-by: Quentin Gliech <quenting@element.io>
* Add upgrade notes
* Track login token reuse in a Prometheus metric
Signed-off-by: Quentin Gliech <quenting@element.io>
2022-10-26 11:45:41 +01:00
James Salter
d902181de9
Unified search query syntax using the full-text search capabilities of the underlying DB. ( #11635 )
...
Support a unified search query syntax which leverages more of the full-text
search of each database supported by Synapse.
Supports, with the same syntax across Postgresql 11+ and Sqlite:
- quoted "search terms"
- `AND`, `OR`, `-` (negation) operators
- Matching words based on their stem, e.g. searches for "dog" matches
documents containing "dogs".
This is achieved by
- If on postgresql 11+, pass the user input to `websearch_to_tsquery`
- If on sqlite, manually parse the query and transform it into the sqlite-specific
query syntax.
Note that postgresql 10, which is close to end-of-life, falls back to using
`phraseto_tsquery`, which only supports a subset of the features.
Multiple terms separated by a space are implicitly ANDed.
Note that:
1. There is no escaping of full-text syntax that might be supported by the database;
e.g. `NOT`, `NEAR`, `*` in sqlite. This runs the risk that people might discover this
as accidental functionality and depend on something we don't guarantee.
2. English text is assumed for stemming. To support other languages, either the target
language needs to be known at the time of indexing the message (via room metadata,
or otherwise), or a separate index for each language supported could be created.
Sqlite docs: https://www.sqlite.org/fts3.html#full_text_index_queries
Postgres docs: https://www.postgresql.org/docs/11/textsearch-controls.html
2022-10-25 14:05:22 -04:00
Quentin Gliech
9192d74b0b
Refactor OIDC tests to better mimic an actual OIDC provider. ( #13910 )
...
This implements a fake OIDC server, which intercepts calls to the HTTP client.
Improves accuracy of tests by covering more internal methods.
One particular example was the ID token validation, which previously mocked.
This uncovered an incorrect dependency: Synapse actually requires at least
authlib 0.15.1, not 0.14.0.
2022-10-25 14:25:02 +00:00
DeepBlueV7.X
2d0ba3f89a
Implementation for MSC3664: Pushrules for relations ( #11804 )
2022-10-25 14:38:01 +01:00
Nick Mills-Barrett
c9dffd5b33
Remove unused @lru_cache
decorator ( #13595 )
...
* Remove unused `@lru_cache` decorator
Spotted this working on something else.
Co-authored-by: David Robertson <davidr@element.io>
2022-10-25 11:39:25 +01:00
Erik Johnston
d125919963
Cache rust build deps in trial CI ( #14287 )
2022-10-25 11:27:56 +01:00
asymmetric
8c94dd3a27
Enable WAL for SQLite ( #13897 )
...
Signed-off-by: Lorenzo Manacorda <lorenzo@mailbox.org>
2022-10-25 10:22:55 +01:00
Ryan Miguel
19c0e55ef7
Return NOT_JSON if decode fails and defer set_timeline_upper_limit ca… ( #14262 )
...
* Return NOT_JSON if decode fails and defer set_timeline_upper_limit call until after check_valid_filter. Fixes #13661 . Signed-off-by: Ryan Miguel <miguel.ryanj@gmail.com>.
* Reword changelog
2022-10-24 16:55:06 +01:00
dependabot[bot]
872ea2f4de
Bump serde_json from 1.0.86 to 1.0.87 ( #14279 )
2022-10-24 14:08:22 +01:00
dependabot[bot]
386e72a22d
Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0 ( #14276 )
2022-10-24 10:16:33 +00:00
dependabot[bot]
c6987f65fe
Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0 ( #14275 )
2022-10-24 10:13:29 +00:00
Richard van der Hoff
1469fed0e3
Add debugging to help diagnose lost device-list-update ( #14268 )
2022-10-24 10:45:10 +01:00
dependabot[bot]
6c82b3759f
Bump pysaml2 from 7.1.2 to 7.2.1 ( #14270 )
2022-10-24 10:40:30 +01:00
dependabot[bot]
94f239d911
Bump jinja2 from 3.0.3 to 3.1.2 ( #14271 )
2022-10-24 10:40:08 +01:00
dependabot[bot]
673970bb5a
Bump types-requests from 2.28.11 to 2.28.11.2 ( #14272 )
2022-10-24 10:39:16 +01:00
dependabot[bot]
cb76892c7d
Bump setuptools-rust from 1.5.1 to 1.5.2 ( #14273 )
2022-10-24 10:39:00 +01:00
dependabot[bot]
cd02bfc026
Bump prometheus-client from 0.14.0 to 0.15.0 ( #14274 )
2022-10-24 10:38:40 +01:00
dependabot[bot]
5f06488418
Bump anyhow from 1.0.65 to 1.0.66 ( #14278 )
2022-10-24 10:20:13 +01:00
dependabot[bot]
278b530875
Bump serde from 1.0.145 to 1.0.147 ( #14277 )
2022-10-24 10:19:55 +01:00
Shay
b7a7ff6ee3
Add initial power level event to batch of bulk persisted events when creating a new room. ( #14228 )
2022-10-21 10:46:22 -07:00
Germain
1d45ad8b2a
Improve aesthetics and reusability of HTML templates. ( #13652 )
...
Use a base template to create a cohesive feel across the HTML
templates provided by Synapse.
Adds basic styling to the base template for a more user-friendly
look and feel.
2022-10-21 17:44:00 +00:00
Richard van der Hoff
d24346f530
Fix logging error on SIGHUP ( #14258 )
2022-10-21 16:03:44 +01:00
Tadeusz Sośnierz
1433b5d5b6
Show erasure status when listing users in the Admin API ( #14205 )
...
* Show erasure status when listing users in the Admin API
* Use USING when joining erased_users
* Add changelog entry
* Revert "Use USING when joining erased_users"
This reverts commit 30bd2bf106415caadcfdbdd1b234ef2b106cc394.
* Make the erased check work on postgres
* Add a testcase for showing erased user status
* Appease the style linter
* Explicitly convert `erased` to bool to make SQLite consistent with Postgres
This also adds us an easy way in to fix the other accidentally integered columns.
* Move erasure status test to UsersListTestCase
* Include user erased status when fetching user info via the admin API
* Document the erase status in user_admin_api
* Appease the linter and mypy
* Signpost comments in tests
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
2022-10-21 13:52:44 +01:00
DeepBlueV7.X
fab495a9e1
Fix event size checks ( #13710 )
2022-10-21 09:49:47 +01:00
David Robertson
cacda2d1f5
Build wheels on macos 11, not 10.15 ( #14249 )
2022-10-20 22:01:08 +00:00
Patrick Cloke
755bfeee3a
Use servlets for /key/ endpoints. ( #14229 )
...
To fix the response for unknown endpoints under that prefix.
See MSC3743.
2022-10-20 11:32:47 -04:00
Andrew Morgan
da2c93d4b6
Stop returning unsigned.invite_room_state
in PUT /_matrix/federation/v2/invite/{roomId}/{eventId}
responses ( #14064 )
...
Co-authored-by: David Robertson <davidr@element.io>
2022-10-20 15:17:45 +01:00
Erik Johnston
09c602b558
Merge branch 'release-v1.70' into develop
2022-10-20 09:47:04 +01:00
Eric Eastwood
70b3396506
Explain SynapseError
and FederationError
better ( #14191 )
...
Explain `SynapseError` and `FederationError` better
Spawning from https://github.com/matrix-org/synapse/pull/13816#discussion_r993262622
2022-10-19 15:39:43 -05:00
dependabot[bot]
3841900aaa
Bump types-opentracing from 2.4.7 to 2.4.10 ( #14133 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: reivilibre <oliverw@matrix.org>
2022-10-19 20:04:40 +00:00
dependabot[bot]
0b7830e457
Bump flake8-bugbear from 21.3.2 to 22.9.23 ( #14042 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Erik Johnston <erik@matrix.org>
Co-authored-by: David Robertson <davidr@element.io>
2022-10-19 19:38:24 +00:00
Matthew Hodgson
695a85d1bc
Document encryption_enabled_by_default_for_room_type under the right name ( #14110 )
...
* document encryption_enabled_by_default_for_room_type under the right name
* add changelog
* Update changelog.d/14110.doc
2022-10-19 20:17:37 +01:00
Finn
fe50738e59
let update_synapse_database run on a multi-database configurations ( #13422 )
...
* Allow sharded database in db migrate script
Signed-off-by: Finn Herzfeld <finn@beeper.com>
* Update changelog.d/13422.bugfix
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Remove check entirely
* remove unused import
Signed-off-by: Finn Herzfeld <finn@beeper.com>
Co-authored-by: finn <finn@beeper.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-10-19 19:08:40 +01:00
Erik Johnston
15a240f135
1.70.0rc1
2022-10-19 14:12:03 +01:00
Will Hunt
04d7f56f53
Use backend-meta edition of issue triage workflow ( #14230 )
2022-10-19 11:41:25 +01:00
Eric Eastwood
fa8616e65c
Fix MSC3030 /timestamp_to_event
returning outliers
that it has no idea whether are near a gap or not ( #14215 )
...
Fix MSC3030 `/timestamp_to_event` endpoint returning `outliers` that it has no idea whether are near a gap or not (and therefore unable to determine whether it's actually the closest event). The reason Synapse doesn't know whether an `outlier` is next to a gap is because our gap checks rely on entries in the `event_edges`, `event_forward_extremeties`, and `event_backward_extremities` tables which is [not the case for `outliers`](2c63cdcc3f/docs/development/room-dag-concepts.md (outliers)
).
Also fixes MSC3030 Complement `can_paginate_after_getting_remote_event_from_timestamp_to_event_endpoint` test flake. Although this acted flakey in Complement, if `sync_partial_state` raced and beat us before `/timestamp_to_event`, then even if we retried the failing `/context` request it wouldn't work until we made this Synapse change. With this PR, Synapse will never return an `outlier` event so that test will always go and ask over federation.
Fix https://github.com/matrix-org/synapse/issues/13944
### Why did this fail before? Why was it flakey?
Sleuthing the server logs on the [CI failure](https://github.com/matrix-org/synapse/actions/runs/3149623842/jobs/5121449357#step:5:5805 ), it looks like `hs2:/timestamp_to_event` found `$NP6-oU7mIFVyhtKfGvfrEQX949hQX-T-gvuauG6eurU` as an `outlier` event locally. Then when we went and asked for it via `/context`, since it's an `outlier`, it was filtered out of the results -> `You don't have permission to access that event.`
This is reproducible when `sync_partial_state` races and persists `$NP6-oU7mIFVyhtKfGvfrEQX949hQX-T-gvuauG6eurU` as an `outlier` before we evaluate `get_event_for_timestamp(...)`. To consistently reproduce locally, just add a delay at the [start of `get_event_for_timestamp(...)`](cb20b885cb/synapse/handlers/room.py (L1470-L1496)
) so it always runs after `sync_partial_state` completes.
```py
from twisted.internet import task as twisted_task
d = twisted_task.deferLater(self.hs.get_reactor(), 3.5)
await d
```
In a run where it passes, on `hs2`, `get_event_for_timestamp(...)` finds a different event locally which is next to a gap and we request from a closer one from `hs1` which gets backfilled. And since the backfilled event is not an `outlier`, it's returned as expected during `/context`.
With this PR, Synapse will never return an `outlier` event so that test will always go and ask over federation.
2022-10-18 19:46:25 -05:00
Aaron Raimist
2a76a7369f
Fix hiding devices names over federation ( #10015 )
...
And don't include blank opentracing stuff in device list updates.
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2022-10-18 20:54:27 +00:00
Shay
1c777ef1e8
Fix docstring in EventContext ( #14145 )
2022-10-18 13:40:50 -07:00
MichaIng
06b0c4edfe
Add aarch64 wheels to CI ( #14212 )
...
Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
2022-10-18 17:12:21 +00:00
dependabot[bot]
85aa0f513b
Bump twisted from 22.4.0 to 22.8.0 ( #14207 )
...
* Bump twisted from 22.4.0 to 22.8.0
Bumps [twisted](https://github.com/twisted/twisted ) from 22.4.0 to 22.8.0.
- [Release notes](https://github.com/twisted/twisted/releases )
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst )
- [Commits](https://github.com/twisted/twisted/compare/twisted-22.4.0...twisted-22.8.0 )
---
updated-dependencies:
- dependency-name: twisted
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 18:06:06 +01:00
Shay
847e2393f3
Prepatory work for adding power level event to batched events ( #14214 )
2022-10-18 09:58:47 -07:00
dependabot[bot]
2b940d2668
Bump pygithub from 1.55 to 1.56 ( #14206 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 16:36:31 +00:00
dependabot[bot]
f91b547a07
Bump types-setuptools from 65.4.0.0 to 65.5.0.1 ( #14208 )
...
* Bump types-setuptools from 65.4.0.0 to 65.5.0.1
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.4.0.0 to 65.5.0.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-18 16:53:34 +01:00
Hugh Nimmo-Smith
4eaf3eb840
Implementation of HTTP 307 response for MSC3886 POST endpoint ( #14018 )
...
Co-authored-by: reivilibre <olivier@librepush.net>
Co-authored-by: Andrew Morgan <andrewm@element.io>
2022-10-18 15:52:25 +00:00
David Robertson
844ce47b9b
Don't pin dev-deps in pyproject; use lower bounds ( #14227 )
...
* Don't pin dev-deps in pyproject; use lower bounds
This makes it slightly less tedious to update these things via
successive dependabot updates, by reducing the likelihood of a merge
conflict.
* Changelog
* Changelog
2022-10-18 16:44:43 +01:00
David Robertson
b951d6bd4c
Fixes to release-artifacts warnings ( #14224 )
2022-10-18 15:40:05 +00:00
Patrick Cloke
dbf18f514e
Update the thread_id right before use (in case the bg update hasn't finished) ( #14222 )
...
This avoids running a forced-update of a null thread_id rows.
An index is added (in the background) to hopefully make this
easier in the future.
2022-10-18 14:55:41 +00:00
Jonathan de Jong
e440f9674a
Enable URL previews in complement homeserver config. ( #14198 )
2022-10-18 09:52:23 -04:00
David Robertson
8e50299d8b
Fix track_memory_usage
on poetry-core 1.3.x installations ( #14221 )
...
* Fix `track_memory_usage` on poetry-core 1.3.x installations
The same kind of problem as discussed in #14085 :
1. we defined an extra with an underscore
2. we look it up at runtime with an underscore
3. but poetry-core 1.3.x. installs it with a dash, causing (2) to fail.
Fix by using a dash everywhere.
* Changelog
2022-10-18 13:59:04 +01:00
David Robertson
a8677bc9b8
Deal with some GHA deprecation warnings ( #14216 )
2022-10-18 13:45:34 +01:00
realtyem
6c5082f3e0
Flush stdout/err in Dockerfile-workers before replacing the current process ( #14195 )
...
Also update `subprocess.check_output` to the slightly newer `subprocess.run`.
Signed-off-by: Jason Little <realtyem@gmail.com>
2022-10-18 11:56:20 +00:00
David Robertson
c3a4780080
When restarting a partial join resync, prioritise the server which actioned a partial join ( #14126 )
2022-10-18 12:33:18 +01:00
Ivan Shapovalov
4af93bd7f6
Allow poetry-core 1.3.2 ( #14217 )
...
Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
2022-10-18 10:38:58 +01:00
Andrew Morgan
dc02d9f8c5
Avoid checking the event cache when backfilling events ( #14164 )
2022-10-18 10:33:35 +01:00
Andrew Morgan
828b5502cf
Remove _get_events_cache
check optimisation from _have_seen_events_dict
( #14161 )
2022-10-18 10:33:21 +01:00
Eric Eastwood
2c63cdcc3f
Add debug logs to figure out why an event was filtered ( #14095 )
...
Spawned while investigating https://github.com/matrix-org/synapse/issues/13944
This way we might get some more context whenever an `403 Forbidden - body: {"errcode":"M_FORBIDDEN","error":"You don't have permission to access that event."}` error is produced.
`log_config.yaml`
```yaml
loggers:
synapse:
level: INFO
synapse.visibility:
level: DEBUG
```
2022-10-17 16:02:39 -05:00
Erik Johnston
6fee2f49f3
Cache Rust build cache when building docker images ( #14130 )
2022-10-17 17:21:14 +00:00
dependabot[bot]
c101fc6568
Bump click from 8.1.1 to 8.1.3 ( #14201 )
2022-10-17 17:54:11 +01:00
Patrick Cloke
4283bd1cf9
Support filtering the /messages API by relation type (MSC3874). ( #14148 )
...
Gated behind an experimental configuration flag.
2022-10-17 11:32:11 -04:00
dependabot[bot]
6b24235142
Bump psycopg2 from 2.9.3 to 2.9.4 ( #14200 )
2022-10-17 13:24:17 +00:00
dependabot[bot]
2fa1bf598d
Bump bcrypt from 3.2.0 to 4.0.1 ( #14186 )
2022-10-17 13:42:18 +01:00
David Robertson
ccce8cdfc5
Use Pydantic when PUTting room aliases ( #14179 )
2022-10-17 13:39:12 +01:00
Nick Mills-Barrett
2c2c3f8b2c
Invalidate rooms for user caches when receiving membership events ( #14155 )
...
This should fix a race where the event notification comes in over
replication before the state replication, leaving a window during
which a sync may get an incorrect list of rooms for the user.
2022-10-17 13:27:51 +01:00
David Robertson
cd01a1d3b5
Fix dead link to admin registration API ( #14189 )
...
* Fix dead link to admin registration API
* Changelog
2022-10-17 12:10:01 +01:00
Dirk Klimpel
1eb8dcf4c9
Remove not needed replication
listener in docker compose example ( #14107 )
2022-10-17 12:00:09 +01:00
Eric Eastwood
40bb37eb27
Stop getting missing prev_events
after we already know their signature is invalid ( #13816 )
...
While https://github.com/matrix-org/synapse/pull/13635 stops us from doing the slow thing after we've already done it once, this PR stops us from doing one of the slow things in the first place.
Related to
- https://github.com/matrix-org/synapse/issues/13622
- https://github.com/matrix-org/synapse/pull/13635
- https://github.com/matrix-org/synapse/issues/13676
Part of https://github.com/matrix-org/synapse/issues/13356
Follow-up to https://github.com/matrix-org/synapse/pull/13815 which tracks event signature failures.
With this PR, we avoid the call to the costly `_get_state_ids_after_missing_prev_event` because the signature failure will count as an attempt before and we filter events based on the backoff before calling `_get_state_ids_after_missing_prev_event` now.
For example, this will save us 156s out of the 185s total that this `matrix.org` `/messages` request. If you want to see the full Jaeger trace of this, you can drag and drop this `trace.json` into your own Jaeger, https://gist.github.com/MadLittleMods/4b12d0d0afe88c2f65ffcc907306b761
To explain this exact scenario around `/messages` -> backfill, we call `/backfill` and first check the signatures of the 100 events. We see bad signature for `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` and `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` (both member events). Then we process the 98 events remaining that have valid signatures but one of the events references `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` as a `prev_event`. So we have to do the whole `_get_state_ids_after_missing_prev_event` rigmarole which pulls in those same events which fail again because the signatures are still invalid.
- `backfill`
- `outgoing-federation-request` `/backfill`
- `_check_sigs_and_hash_and_fetch`
- `_check_sigs_and_hash_and_fetch_one` for each event received over backfill
- ❗ `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` fails with `Signature on retrieved event was invalid.`: `unable to verify signature for sender domain xxx: 401: Failed to find any key to satisfy: _FetchKeyRequest(...)`
- ❗ `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` fails with `Signature on retrieved event was invalid.`: `unable to verify signature for sender domain xxx: 401: Failed to find any key to satisfy: _FetchKeyRequest(...)`
- `_process_pulled_events`
- `_process_pulled_event` for each validated event
- ❗ Event `$Q0iMdqtz3IJYfZQU2Xk2WjB5NDF8Gg8cFSYYyKQgKJ0` references `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` as a `prev_event` which is missing so we try to get it
- `_get_state_ids_after_missing_prev_event`
- `outgoing-federation-request` `/state_ids`
- ❗ `get_pdu` for `$luA4l7QHhf_jadH3mI-AyFqho0U2Q-IXXUbGSMq6h6M` which fails the signature check again
- ❗ `get_pdu` for `$zuOn2Rd2vsC7SUia3Hp3r6JSkSFKcc5j3QTTqW_0jDw` which fails the signature check
2022-10-15 00:36:49 -05:00
dependabot[bot]
616dcc1d18
Bump types-bleach from 4.1.4 to 5.0.3 ( #14188 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-14 23:57:55 +00:00
dependabot[bot]
8cd22674a1
Bump types-pillow from 9.2.2 to 9.2.2.1 ( #14187 )
...
* Bump types-pillow from 9.2.2 to 9.2.2.1
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.2.2 to 9.2.2.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-15 00:16:25 +01:00
realtyem
c75836fe77
Strip whitespace from worker types in Dockerfile-workers ( #14165 )
2022-10-14 19:38:04 +00:00
Patrick Cloke
d1bdeccb50
Accept threaded receipts for events related to the root event. ( #14174 )
...
The root node of a thread (and events related to it) are considered
"part of a thread" when validating receipts. This allows clients which
show the root node in both the main timeline and the threaded timeline
to easily send receipts in either.
Note that threaded notifications are not created for these events, these
events created notifications on the main timeline.
2022-10-14 18:05:25 +00:00
Patrick Cloke
022f25b309
Advertise support for Matrix 1.4. ( #14184 )
...
All features / changes in Matrix 1.4 are now supported in
Synapse.
2022-10-14 13:21:55 +00:00
Patrick Cloke
5a983cccfb
Fix changelog for #14171 to match #13394/#14175.
2022-10-14 08:56:37 -04:00
Andrew Morgan
97b3d037c0
Don't require optional invite_room_state
field on fed v2 invite ( #14083 )
2022-10-14 13:48:33 +01:00
Patrick Cloke
126a15794c
Do not allow a None-limit on PaginationConfig. ( #14146 )
...
The callers either set a default limit or manually handle a None-limit
later on (by setting a default value).
Update the callers to always instantiate PaginationConfig with a default
limit and then assume the limit is non-None.
2022-10-14 12:30:05 +00:00
realtyem
c7446906bd
Set LD_PRELOAD to load jemalloc in Dockerfile-workers. ( #14182 )
2022-10-14 13:29:49 +01:00
Patrick Cloke
c3e4edb4d6
Stabilize the threads API. ( #14175 )
...
Stabilize the threads API (MSC3856) by supporting (only) the v1
path for the endpoint.
This also marks the API as safe for workers since it is a read-only
API.
2022-10-14 07:16:50 -04:00
Patrick Cloke
9ff4155f6c
Properly invalidate get_thread_id cache. ( #14163 )
...
This was missed in 2b6d41ebd6
(#13824 ).
2022-10-14 07:10:44 -04:00
Patrick Cloke
2019b60f3b
Fix sqlite syntax for upserts. ( #14171 )
2022-10-13 12:53:24 -04:00
Patrick Cloke
3bbe532abb
Add an API for listing threads in a room. ( #13394 )
...
Implement the /threads endpoint from MSC3856.
This is currently unstable and behind an experimental configuration
flag.
It includes a background update to backfill data, results from
the /threads endpoint will be partial until that finishes.
2022-10-13 08:02:11 -04:00
Shay
b6baa46db0
Fix a bug where the joined hosts for a given event were not being properly cached ( #14125 )
2022-10-12 11:01:00 -07:00
Patrick Cloke
e6e876b9b1
Return the thread ID properly down sync. ( #14159 )
...
A receipt's thread ID, if one exists, should be added to the
body of a receipt.
2022-10-12 12:18:34 -04:00
Patrick Cloke
87099b6ea5
Return the main timeline for events which are not part of a thread. ( #14140 )
...
Fixes a bug where threaded receipts could not be sent for the
main timeline.
2022-10-12 12:15:52 -04:00
dependabot[bot]
e4e55f8eef
Bump typing-extensions from 4.1.1 to 4.4.0 ( #14134 )
2022-10-12 14:37:36 +01:00
Andrew Morgan
9c23442ac9
Correct field name for stripped state events when knocking. knock_state_events
-> knock_room_state
( #14102 )
2022-10-12 14:37:20 +01:00
dependabot[bot]
c152e58116
Bump bleach from 4.1.0 to 5.0.1 ( #14116 )
2022-10-12 14:37:04 +01:00
dependabot[bot]
10a432a5f0
Bump idna from 3.3 to 3.4 ( #14115 )
2022-10-12 14:34:50 +01:00
Patrick Cloke
c604d2c218
Mark /relations endpoint as usable on workers. ( #14028 )
...
Co-authored-by: Eric Eastwood <erice@element.io>
2022-10-12 06:46:13 -04:00
Nick Mills-Barrett
f9bc5428c4
Batch up calls to get_rooms_for_users
( #14109 )
2022-10-12 11:36:22 +01:00
Patrick Cloke
09be8ab5f9
Remove the experimental implementation of MSC3772. ( #14094 )
...
MSC3772 has been abandoned.
2022-10-12 06:26:39 -04:00
David Robertson
3f057e4c54
Use minimal Rust installation in docker images and CI ( #14141 )
2022-10-12 10:47:02 +01:00
Shay
a86b2f6837
Fix a bug where redactions were not being sent over federation if we did not have the original event. ( #13813 )
2022-10-11 11:18:45 -07:00
David Robertson
6a92944854
Handle gottestfmt
repository move ( #14144 )
2022-10-11 17:54:06 +00:00
Patrick Cloke
6136768e76
Remove the groups config code. ( #14142 )
...
This has been unused for a long time, but missed removal in #11584 .
2022-10-11 13:14:57 -04:00
Abdullah Osama
a9934d48c1
Making parse_server_name more consistent ( #14007 )
...
Fixes #12122
2022-10-11 12:42:11 +00:00
Erik Johnston
17c031b251
Enable dependabot for Rust dependencies ( #14132 )
2022-10-11 12:26:40 +01:00
Andrew Morgan
e580f03e02
Fix name of "alias_creation_rules" option in config manual ( #14124 )
2022-10-10 20:01:05 +00:00
dependabot[bot]
544cc400e3
Bump types-psycopg2 from 2.9.9 to 2.9.21.1 ( #14114 )
...
* Bump types-psycopg2 from 2.9.9 to 2.9.21.1
Bumps [types-psycopg2](https://github.com/python/typeshed ) from 2.9.9 to 2.9.21.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psycopg2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:41:21 +01:00
dependabot[bot]
475bc8acb9
Bump types-pillow from 9.0.15 to 9.2.2 ( #14113 )
...
* Bump types-pillow from 9.0.15 to 9.2.2
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.0.15 to 9.2.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:36:26 +01:00
Eric Eastwood
1bf2832714
Indicate what endpoint came back with a JSON response we were unable to parse ( #14097 )
...
**Before:**
```
WARNING - POST-11 - Unable to parse JSON: Expecting value: line 1 column 1 (char 0) (b'')
```
**After:**
```
WARNING - POST-11 - Unable to parse JSON from POST /_matrix/client/v3/join/%21ZlmJtelqFroDRJYZaq:hs1?server_name=hs1 response: Expecting value: line 1 column 1 (char 0) (b'')
```
---
It's possible to figure out which endpoint these warnings were coming from before but you had to follow the request ID `POST-11` to the log line that says `Completed request [...]`. Including this key information next to the JSON parsing error makes it much easier to reason whether it matters or not.
```
2022-09-29T08:23:25.7875506Z synapse_main | 2022-09-29 08:21:10,336 - synapse.http.matrixfederationclient - 299 - INFO - POST-11 - {GET-O-13} [hs1] Completed request: 200 OK in 0.53 secs, got 450 bytes - GET matrix://hs1/_matrix/federation/v1/make_join/%21ohtKoQiXlPePSycXwp%3Ahs1/%40charlie%3Ahs2?ver=1&ver=2&ver=3&ver=4&ver=5&ver=6&ver=org.matrix.msc2176&ver=7&ver=8&ver=9&ver=org.matrix.msc3787&ver=10&ver=org.matrix.msc2716v4
```
---
As a note, having no `body` is normal for the `/join` endpoint and it can handle it.
0c853e0970/synapse/rest/client/room.py (L398-L403)
Alternatively we could remove these extra logs but they are probably more usually helpful to figure out what went wrong.
2022-10-07 11:39:45 -05:00
Patrick Cloke
e03d7c5fd0
Remove support for the unstable dir flag on relations. ( #14106 )
...
From MSC3715, this was unused by clients (and there was no
way for clients to know it was supported).
Matrix 1.4 defines the stable field.
2022-10-07 12:38:46 -04:00
Patrick Cloke
ab8047b4bf
Apply & bundle edits for non-message events. ( #14034 )
...
Fixes two related bugs:
* No edit information was bundled for events which aren't `m.room.message`.
* `m.new_content` was not applied for those events.
2022-10-07 15:27:50 +00:00
Paul Tötterman
8074430d25
Document Google OpenID Connect email attribute ( #14081 )
2022-10-07 14:22:25 +00:00
Quentin Gliech
dc37b68a25
Parse SYNAPSE_ASYNC_IO_REACTOR env variable & log the reactor on startup ( #14092 )
2022-10-07 15:19:59 +01:00
dependabot[bot]
8faf7245fd
Bump phonenumbers from 8.12.44 to 8.12.56 ( #14043 )
...
* Bump phonenumbers from 8.12.44 to 8.12.56
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.12.44 to 8.12.56.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.12.44...v8.12.56 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:17:00 +01:00
dependabot[bot]
cb72c65609
Bump pydantic from 1.9.1 to 1.10.2 ( #14044 )
...
* Bump pydantic from 1.9.1 to 1.10.2
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 1.9.1 to 1.10.2.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v1.9.1...v1.10.2 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:08:24 +01:00
dependabot[bot]
5e2cfb64d7
Bump msgpack from 1.0.3 to 1.0.4 ( #14040 )
...
* Bump msgpack from 1.0.3 to 1.0.4
Bumps [msgpack](https://github.com/msgpack/msgpack-python ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/msgpack/msgpack-python/releases )
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst )
- [Commits](https://github.com/msgpack/msgpack-python/compare/v1.0.3...v1.0.4 )
---
updated-dependencies:
- dependency-name: msgpack
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:08:06 +01:00
Dirk Klimpel
c0e868e423
Improve the listener example on the metrics documentation ( #14078 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-10-07 14:54:01 +01:00
Patrick Cloke
00c93d2e7e
Be more lenient in the oEmbed response parsing. ( #14089 )
...
Attempt to parse any valid information from an oEmbed response
(instead of bailing at the first unexpected data). This should allow
for more partial oEmbed data to be returned, resulting in better /
more URL previews, even if those URL previews are only partial.
2022-10-07 09:29:43 -04:00
Patrick Cloke
66a7857334
Use stable identifiers for MSC3771 & MSC3773. ( #14050 )
...
These are both part of Matrix 1.4 which has now been released.
For now, support both the unstable and stable identifiers.
2022-10-07 09:26:40 -04:00
Dirk Klimpel
0adeccafc6
Add sample worker files for pusher
and federation_sender
( #14077 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-10-07 14:25:28 +01:00
David Robertson
2295095c97
Use Pydantic to validate /devices endpoints ( #14054 )
2022-10-07 13:54:07 +01:00
David Robertson
1fa2e58772
Catch BrokenPipeError from metrics server, and log as a warning ( #14072 )
2022-10-07 13:35:44 +01:00
David Robertson
d6ae14e60e
Update frozendict 2.3.3 -> 2.3.4 ( #13955 )
...
* Update frozendict 2.3.3 -> 2.3.4
This claims to fix more memory leaks.
Could have automated this upgrade with #11828 if we wanted.
* Changelog
2022-10-07 12:13:37 +01:00
David Robertson
0c853e0970
Fix broken links to README ( #14093 )
2022-10-06 22:49:51 +00:00
David Robertson
cb20b885cb
Always close _all_ ijson
coroutines, even if doing so raises Exceptions ( #14065 )
2022-10-06 18:17:50 +00:00
Andre Klärner
b753f63000
The changelog entry ending in a .
or !
is not optional ( #14087 )
2022-10-06 17:11:32 +00:00
Shay
7b7478e8b6
Batch up notifications after event persistence ( #14033 )
2022-10-05 10:12:48 -07:00
Richard van der Hoff
51436c8dd5
Complement test image: capture logs from nginx ( #14063 )
...
Have nginx send its logs to stderr/out, so that we can debug
https://github.com/matrix-org/synapse/issues/13334 .
2022-10-05 17:37:34 +01:00
Patrick Cloke
0b037d6c91
Fix handling of public rooms filter with a network tuple. ( #14053 )
...
Fixes two related bugs:
* The handling of `[null]` for a `room_types` filter was incorrect.
* The ordering of arguments when providing both a network tuple
and room type field was incorrect.
2022-10-05 12:49:52 +00:00
Patrick Cloke
dcced5a8d7
Use threaded receipts when fetching events for push. ( #13878 )
...
Update the HTTP and email pushers to consider threaded read receipts
when fetching unread events.
2022-10-04 12:07:02 -04:00
dependabot[bot]
c3b0e5e178
Bump types-pyyaml from 6.0.4 to 6.0.12 ( #14041 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 15:53:47 +00:00
Nick Mills-Barrett
0506bb100e
Remove get rooms for user with stream ordering ( #13991 )
...
By getting the joined rooms before the current token we avoid any reading
history to confirm a user *was* in a room. We can then use any membership
change events, which we already fetch during sync, to determine the final
list of joined room IDs.
2022-10-04 16:42:59 +01:00
Patrick Cloke
2b6d41ebd6
Recursively fetch the thread for receipts & notifications. ( #13824 )
...
Consider an event to be part of a thread if you can follow a
chain of relations up to a thread root.
Part of MSC3773 & MSC3771.
2022-10-04 11:36:16 -04:00
ffaex
3e74ad20db
update authlib from 0.15.5 to 1.1.0 ( #14006 )
...
Signed-off-by: Fyodor Fomichev <fyodor.fomichev@gmail.com>
2022-10-04 14:49:07 +00:00
Patrick Cloke
a7ba457b2b
Mark events as read using threaded read receipts from MSC3771. ( #13877 )
...
Applies the proper logic for unthreaded and threaded receipts to either
apply to all events in the room or only events in the same thread, respectively.
2022-10-04 10:46:42 -04:00
Sean Quah
f0019f3f3b
Synapse 1.69.0rc1 (2022-10-04)
...
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Features
--------
- Allow application services to set the `origin_server_ts` of a state event by providing the query parameter `ts` in [`PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey ), per [MSC3316](https://github.com/matrix-org/matrix-doc/pull/3316 ). Contributed by @lukasdenk. ([\#11866](https://github.com/matrix-org/synapse/issues/11866 ))
- Allow server admins to require a manual approval process before new accounts can be used (using [MSC3866](https://github.com/matrix-org/matrix-spec-proposals/pull/3866 )). ([\#13556](https://github.com/matrix-org/synapse/issues/13556 ))
- Exponentially backoff from backfilling the same event over and over. ([\#13635](https://github.com/matrix-org/synapse/issues/13635 ), [\#13936](https://github.com/matrix-org/synapse/issues/13936 ))
- Add cache invalidation across workers to module API. ([\#13667](https://github.com/matrix-org/synapse/issues/13667 ), [\#13947](https://github.com/matrix-org/synapse/issues/13947 ))
- Experimental implementation of [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882 ) to allow an existing device/session to generate a login token for use on a new device/session. ([\#13722](https://github.com/matrix-org/synapse/issues/13722 ), [\#13868](https://github.com/matrix-org/synapse/issues/13868 ))
- Experimental support for thread-specific receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771 )). ([\#13782](https://github.com/matrix-org/synapse/issues/13782 ), [\#13893](https://github.com/matrix-org/synapse/issues/13893 ), [\#13932](https://github.com/matrix-org/synapse/issues/13932 ), [\#13937](https://github.com/matrix-org/synapse/issues/13937 ), [\#13939](https://github.com/matrix-org/synapse/issues/13939 ))
- Add experimental support for [MSC3881: Remotely toggle push notifications for another client](https://github.com/matrix-org/matrix-spec-proposals/pull/3881 ). ([\#13799](https://github.com/matrix-org/synapse/issues/13799 ), [\#13831](https://github.com/matrix-org/synapse/issues/13831 ), [\#13860](https://github.com/matrix-org/synapse/issues/13860 ))
- Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. ([\#13815](https://github.com/matrix-org/synapse/issues/13815 ))
- Improve validation for the unspecced, internal-only `_matrix/client/unstable/add_threepid/msisdn/submit_token` endpoint. ([\#13832](https://github.com/matrix-org/synapse/issues/13832 ))
- Faster remote room joins: record _when_ we first partial-join to a room. ([\#13892](https://github.com/matrix-org/synapse/issues/13892 ))
- Support a `dir` parameter on the `/relations` endpoint per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#13920](https://github.com/matrix-org/synapse/issues/13920 ))
- Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). ([\#13957](https://github.com/matrix-org/synapse/issues/13957 ))
Bugfixes
--------
- Send push notifications for invites received over federation. ([\#13719](https://github.com/matrix-org/synapse/issues/13719 ), [\#14014](https://github.com/matrix-org/synapse/issues/14014 ))
- Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. ([\#13830](https://github.com/matrix-org/synapse/issues/13830 ))
- Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715 ) would give incorrect results when paginating forward. ([\#13840](https://github.com/matrix-org/synapse/issues/13840 ))
- Fix access token leak to logs from proxy agent. ([\#13855](https://github.com/matrix-org/synapse/issues/13855 ))
- Fix `have_seen_event` cache not being invalidated after we persist an event which causes inefficiency effects like extra `/state` federation calls. ([\#13863](https://github.com/matrix-org/synapse/issues/13863 ))
- Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. ([\#13872](https://github.com/matrix-org/synapse/issues/13872 ))
- Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. ([\#13904](https://github.com/matrix-org/synapse/issues/13904 ))
- Fix packaging to include `Cargo.lock` in `sdist`. ([\#13909](https://github.com/matrix-org/synapse/issues/13909 ))
- Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. ([\#13922](https://github.com/matrix-org/synapse/issues/13922 ))
- Fix a bug introduced in v1.68.0 where Synapse would require `setuptools_rust` at runtime, even though the package is only required at build time. ([\#13952](https://github.com/matrix-org/synapse/issues/13952 ))
- Fix a long-standing bug where `POST /_matrix/client/v3/keys/query` requests could result in excessively large SQL queries. ([\#13956](https://github.com/matrix-org/synapse/issues/13956 ))
- Fix a performance regression in the `get_users_in_room` database query. Introduced in v1.67.0. ([\#13972](https://github.com/matrix-org/synapse/issues/13972 ))
- Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in `release` mode when using `poetry install`. ([\#14009](https://github.com/matrix-org/synapse/issues/14009 ))
- Do not return an unspecified `original_event` field when using the stable `/relations` endpoint. Introduced in Synapse v1.57.0. ([\#14025](https://github.com/matrix-org/synapse/issues/14025 ))
- Correctly handle a race with device lists when a remote user leaves during a partial join. ([\#13885](https://github.com/matrix-org/synapse/issues/13885 ))
- Correctly handle sending local device list updates to remote servers during a partial join. ([\#13934](https://github.com/matrix-org/synapse/issues/13934 ))
Improved Documentation
----------------------
- Add `worker_main_http_uri` for the worker generator bash script. ([\#13772](https://github.com/matrix-org/synapse/issues/13772 ))
- Update URL for the NixOS module for Synapse. ([\#13818](https://github.com/matrix-org/synapse/issues/13818 ))
- Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name`, not `displayname`. ([\#13836](https://github.com/matrix-org/synapse/issues/13836 ))
- Fix a cross-link from the registration admin API to the `registration_shared_secret` configuration documentation. ([\#13870](https://github.com/matrix-org/synapse/issues/13870 ))
- Update the man page for the `hash_password` script to correct the default number of bcrypt rounds performed. ([\#13911](https://github.com/matrix-org/synapse/issues/13911 ), [\#13930](https://github.com/matrix-org/synapse/issues/13930 ))
- Emphasize the right reasons when to use `(room_id, event_id)` in a database schema. ([\#13915](https://github.com/matrix-org/synapse/issues/13915 ))
- Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. ([\#13928](https://github.com/matrix-org/synapse/issues/13928 ))
- Clarify that the `auto_join_rooms` config option can also be used with Space aliases. ([\#13931](https://github.com/matrix-org/synapse/issues/13931 ))
- Add some cross references to worker documentation. ([\#13974](https://github.com/matrix-org/synapse/issues/13974 ))
- Linkify urls in config documentation. ([\#14003](https://github.com/matrix-org/synapse/issues/14003 ))
Deprecations and Removals
-------------------------
- Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ([\#13843](https://github.com/matrix-org/synapse/issues/13843 ))
- Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. ([\#14024](https://github.com/matrix-org/synapse/issues/14024 ))
Internal Changes
----------------
- Speed up creation of DM rooms. ([\#13487](https://github.com/matrix-org/synapse/issues/13487 ), [\#13800](https://github.com/matrix-org/synapse/issues/13800 ))
- Port push rules to using Rust. ([\#13768](https://github.com/matrix-org/synapse/issues/13768 ), [\#13838](https://github.com/matrix-org/synapse/issues/13838 ), [\#13889](https://github.com/matrix-org/synapse/issues/13889 ))
- Optimise get rooms for user calls. Contributed by Nick @ Beeper (@fizzadar). ([\#13787](https://github.com/matrix-org/synapse/issues/13787 ))
- Update the script which makes full schema dumps. ([\#13792](https://github.com/matrix-org/synapse/issues/13792 ))
- Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@fizzadar). ([\#13796](https://github.com/matrix-org/synapse/issues/13796 ))
- Improve the `synapse.api.auth.Auth` mock used in unit tests. ([\#13809](https://github.com/matrix-org/synapse/issues/13809 ))
- Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ([\#13823](https://github.com/matrix-org/synapse/issues/13823 ))
- Carry IdP Session IDs through user-mapping sessions. ([\#13839](https://github.com/matrix-org/synapse/issues/13839 ))
- Fix the release script not publishing binary wheels. ([\#13850](https://github.com/matrix-org/synapse/issues/13850 ))
- Raise issue if complement fails with latest deps. ([\#13859](https://github.com/matrix-org/synapse/issues/13859 ))
- Correct the comments in the complement dockerfile. ([\#13867](https://github.com/matrix-org/synapse/issues/13867 ))
- Create a new snapshot of the database schema. ([\#13873](https://github.com/matrix-org/synapse/issues/13873 ))
- Faster room joins: Send device list updates to most servers in rooms with partial state. ([\#13874](https://github.com/matrix-org/synapse/issues/13874 ), [\#14013](https://github.com/matrix-org/synapse/issues/14013 ))
- Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ([\#13876](https://github.com/matrix-org/synapse/issues/13876 ))
- Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to `/backfill`. ([\#13879](https://github.com/matrix-org/synapse/issues/13879 ))
- Faster room joins: Avoid waiting for full state when processing `/keys/changes` requests. ([\#13888](https://github.com/matrix-org/synapse/issues/13888 ))
- Improve backfill robustness by trying more servers when we get a `4xx` error back. ([\#13890](https://github.com/matrix-org/synapse/issues/13890 ))
- Fix mypy errors with canonicaljson 1.6.3. ([\#13905](https://github.com/matrix-org/synapse/issues/13905 ))
- Faster remote room joins: correctly handle remote device list updates during a partial join. ([\#13913](https://github.com/matrix-org/synapse/issues/13913 ))
- Complement image: propagate SIGTERM to all workers. ([\#13914](https://github.com/matrix-org/synapse/issues/13914 ))
- Update an innaccurate comment in Synapse's upsert database helper. ([\#13924](https://github.com/matrix-org/synapse/issues/13924 ))
- Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). ([\#13925](https://github.com/matrix-org/synapse/issues/13925 ), [\#13993](https://github.com/matrix-org/synapse/issues/13993 ))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade. ([\#13960](https://github.com/matrix-org/synapse/issues/13960 ))
- Refactor language in user directory `_track_user_joined_room` code to make it more clear that we use both local and remote users. ([\#13966](https://github.com/matrix-org/synapse/issues/13966 ))
- Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). ([\#13969](https://github.com/matrix-org/synapse/issues/13969 ))
- Speed up calculating push actions in large rooms. ([\#13973](https://github.com/matrix-org/synapse/issues/13973 ), [\#13992](https://github.com/matrix-org/synapse/issues/13992 ))
- Enable update notifications from Github's dependabot. ([\#13976](https://github.com/matrix-org/synapse/issues/13976 ))
- Prototype a workflow to automatically add changelogs to dependabot PRs. ([\#13998](https://github.com/matrix-org/synapse/issues/13998 ), [\#14011](https://github.com/matrix-org/synapse/issues/14011 ), [\#14017](https://github.com/matrix-org/synapse/issues/14017 ), [\#14021](https://github.com/matrix-org/synapse/issues/14021 ), [\#14027](https://github.com/matrix-org/synapse/issues/14027 ))
- Fix type annotations to be compatible with new annotations in development versions of twisted. ([\#14012](https://github.com/matrix-org/synapse/issues/14012 ))
- Clear out stale entries in `event_push_actions_staging` table. ([\#14020](https://github.com/matrix-org/synapse/issues/14020 ))
- Bump versions of GitHub actions. ([\#13978](https://github.com/matrix-org/synapse/issues/13978 ), [\#13979](https://github.com/matrix-org/synapse/issues/13979 ), [\#13980](https://github.com/matrix-org/synapse/issues/13980 ), [\#13982](https://github.com/matrix-org/synapse/issues/13982 ), [\#14015](https://github.com/matrix-org/synapse/issues/14015 ), [\#14019](https://github.com/matrix-org/synapse/issues/14019 ), [\#14022](https://github.com/matrix-org/synapse/issues/14022 ), [\#14023](https://github.com/matrix-org/synapse/issues/14023 ))
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEWMTnW8Z8khaaf90R+84KzgcyGG8FAmM8IQMACgkQ+84Kzgcy
GG+eewv/fl+SluS/J5xQ/bJU/rCp1TREd29vafWbCapjLFI4g/2CsLjWXXfP+zFi
xHbGA/lWK7Vju/SV/9cURbouosxeCtbc5MrB5l2WmQB21Uw1Ql2DUkGBPVQKb45/
OkCG3J5qAID9r+OsGf6Ir1pJ6+38r5zliEuTn7557B5Fuawjbx7BWX5dfotjH49r
WvhyKV+2EzVenmA82iLwC+RSykYcbTkCvKyoNd4Ry6oBOIBDFgLQIVivnQp6W/RK
CneP7Q64Ga9+WvLUt9Xgp0B1vIWJcPoM9uPeeifb9Pzq7m7jPo48Zld6Sxdp/zAs
NrLFdTQa+YfgvyvtxDXr8fLPjJ91F1Gv6wyPPtd57tZDLgcn3U2UMifDAjMgCWKB
7IEKNOH5fSY00q50cnSr2wS2azYPAS4KFfgXArZ0t1RaU2LDkjyZVjJj7eI7zuex
rlqVqvZtqjdreOVUBkf401zTD/hD4+Vld8BnbHX3liAcGObOUIRSsGCwhFh6bquw
8hYy9V6Y
=wV0r
-----END PGP SIGNATURE-----
Merge tag 'v1.69.0rc1' into develop
Synapse 1.69.0rc1 (2022-10-04)
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Features
--------
- Allow application services to set the `origin_server_ts` of a state event by providing the query parameter `ts` in [`PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey ), per [MSC3316](https://github.com/matrix-org/matrix-doc/pull/3316 ). Contributed by @lukasdenk. ([\#11866](https://github.com/matrix-org/synapse/issues/11866 ))
- Allow server admins to require a manual approval process before new accounts can be used (using [MSC3866](https://github.com/matrix-org/matrix-spec-proposals/pull/3866 )). ([\#13556](https://github.com/matrix-org/synapse/issues/13556 ))
- Exponentially backoff from backfilling the same event over and over. ([\#13635](https://github.com/matrix-org/synapse/issues/13635 ), [\#13936](https://github.com/matrix-org/synapse/issues/13936 ))
- Add cache invalidation across workers to module API. ([\#13667](https://github.com/matrix-org/synapse/issues/13667 ), [\#13947](https://github.com/matrix-org/synapse/issues/13947 ))
- Experimental implementation of [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882 ) to allow an existing device/session to generate a login token for use on a new device/session. ([\#13722](https://github.com/matrix-org/synapse/issues/13722 ), [\#13868](https://github.com/matrix-org/synapse/issues/13868 ))
- Experimental support for thread-specific receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771 )). ([\#13782](https://github.com/matrix-org/synapse/issues/13782 ), [\#13893](https://github.com/matrix-org/synapse/issues/13893 ), [\#13932](https://github.com/matrix-org/synapse/issues/13932 ), [\#13937](https://github.com/matrix-org/synapse/issues/13937 ), [\#13939](https://github.com/matrix-org/synapse/issues/13939 ))
- Add experimental support for [MSC3881: Remotely toggle push notifications for another client](https://github.com/matrix-org/matrix-spec-proposals/pull/3881 ). ([\#13799](https://github.com/matrix-org/synapse/issues/13799 ), [\#13831](https://github.com/matrix-org/synapse/issues/13831 ), [\#13860](https://github.com/matrix-org/synapse/issues/13860 ))
- Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. ([\#13815](https://github.com/matrix-org/synapse/issues/13815 ))
- Improve validation for the unspecced, internal-only `_matrix/client/unstable/add_threepid/msisdn/submit_token` endpoint. ([\#13832](https://github.com/matrix-org/synapse/issues/13832 ))
- Faster remote room joins: record _when_ we first partial-join to a room. ([\#13892](https://github.com/matrix-org/synapse/issues/13892 ))
- Support a `dir` parameter on the `/relations` endpoint per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#13920](https://github.com/matrix-org/synapse/issues/13920 ))
- Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). ([\#13957](https://github.com/matrix-org/synapse/issues/13957 ))
Bugfixes
--------
- Send push notifications for invites received over federation. ([\#13719](https://github.com/matrix-org/synapse/issues/13719 ), [\#14014](https://github.com/matrix-org/synapse/issues/14014 ))
- Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. ([\#13830](https://github.com/matrix-org/synapse/issues/13830 ))
- Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715 ) would give incorrect results when paginating forward. ([\#13840](https://github.com/matrix-org/synapse/issues/13840 ))
- Fix access token leak to logs from proxy agent. ([\#13855](https://github.com/matrix-org/synapse/issues/13855 ))
- Fix `have_seen_event` cache not being invalidated after we persist an event which causes inefficiency effects like extra `/state` federation calls. ([\#13863](https://github.com/matrix-org/synapse/issues/13863 ))
- Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. ([\#13872](https://github.com/matrix-org/synapse/issues/13872 ))
- Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. ([\#13904](https://github.com/matrix-org/synapse/issues/13904 ))
- Fix packaging to include `Cargo.lock` in `sdist`. ([\#13909](https://github.com/matrix-org/synapse/issues/13909 ))
- Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. ([\#13922](https://github.com/matrix-org/synapse/issues/13922 ))
- Fix a bug introduced in v1.68.0 where Synapse would require `setuptools_rust` at runtime, even though the package is only required at build time. ([\#13952](https://github.com/matrix-org/synapse/issues/13952 ))
- Fix a long-standing bug where `POST /_matrix/client/v3/keys/query` requests could result in excessively large SQL queries. ([\#13956](https://github.com/matrix-org/synapse/issues/13956 ))
- Fix a performance regression in the `get_users_in_room` database query. Introduced in v1.67.0. ([\#13972](https://github.com/matrix-org/synapse/issues/13972 ))
- Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in `release` mode when using `poetry install`. ([\#14009](https://github.com/matrix-org/synapse/issues/14009 ))
- Do not return an unspecified `original_event` field when using the stable `/relations` endpoint. Introduced in Synapse v1.57.0. ([\#14025](https://github.com/matrix-org/synapse/issues/14025 ))
- Correctly handle a race with device lists when a remote user leaves during a partial join. ([\#13885](https://github.com/matrix-org/synapse/issues/13885 ))
- Correctly handle sending local device list updates to remote servers during a partial join. ([\#13934](https://github.com/matrix-org/synapse/issues/13934 ))
Improved Documentation
----------------------
- Add `worker_main_http_uri` for the worker generator bash script. ([\#13772](https://github.com/matrix-org/synapse/issues/13772 ))
- Update URL for the NixOS module for Synapse. ([\#13818](https://github.com/matrix-org/synapse/issues/13818 ))
- Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name`, not `displayname`. ([\#13836](https://github.com/matrix-org/synapse/issues/13836 ))
- Fix a cross-link from the registration admin API to the `registration_shared_secret` configuration documentation. ([\#13870](https://github.com/matrix-org/synapse/issues/13870 ))
- Update the man page for the `hash_password` script to correct the default number of bcrypt rounds performed. ([\#13911](https://github.com/matrix-org/synapse/issues/13911 ), [\#13930](https://github.com/matrix-org/synapse/issues/13930 ))
- Emphasize the right reasons when to use `(room_id, event_id)` in a database schema. ([\#13915](https://github.com/matrix-org/synapse/issues/13915 ))
- Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. ([\#13928](https://github.com/matrix-org/synapse/issues/13928 ))
- Clarify that the `auto_join_rooms` config option can also be used with Space aliases. ([\#13931](https://github.com/matrix-org/synapse/issues/13931 ))
- Add some cross references to worker documentation. ([\#13974](https://github.com/matrix-org/synapse/issues/13974 ))
- Linkify urls in config documentation. ([\#14003](https://github.com/matrix-org/synapse/issues/14003 ))
Deprecations and Removals
-------------------------
- Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ([\#13843](https://github.com/matrix-org/synapse/issues/13843 ))
- Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. ([\#14024](https://github.com/matrix-org/synapse/issues/14024 ))
Internal Changes
----------------
- Speed up creation of DM rooms. ([\#13487](https://github.com/matrix-org/synapse/issues/13487 ), [\#13800](https://github.com/matrix-org/synapse/issues/13800 ))
- Port push rules to using Rust. ([\#13768](https://github.com/matrix-org/synapse/issues/13768 ), [\#13838](https://github.com/matrix-org/synapse/issues/13838 ), [\#13889](https://github.com/matrix-org/synapse/issues/13889 ))
- Optimise get rooms for user calls. Contributed by Nick @ Beeper (@fizzadar). ([\#13787](https://github.com/matrix-org/synapse/issues/13787 ))
- Update the script which makes full schema dumps. ([\#13792](https://github.com/matrix-org/synapse/issues/13792 ))
- Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@fizzadar). ([\#13796](https://github.com/matrix-org/synapse/issues/13796 ))
- Improve the `synapse.api.auth.Auth` mock used in unit tests. ([\#13809](https://github.com/matrix-org/synapse/issues/13809 ))
- Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ([\#13823](https://github.com/matrix-org/synapse/issues/13823 ))
- Carry IdP Session IDs through user-mapping sessions. ([\#13839](https://github.com/matrix-org/synapse/issues/13839 ))
- Fix the release script not publishing binary wheels. ([\#13850](https://github.com/matrix-org/synapse/issues/13850 ))
- Raise issue if complement fails with latest deps. ([\#13859](https://github.com/matrix-org/synapse/issues/13859 ))
- Correct the comments in the complement dockerfile. ([\#13867](https://github.com/matrix-org/synapse/issues/13867 ))
- Create a new snapshot of the database schema. ([\#13873](https://github.com/matrix-org/synapse/issues/13873 ))
- Faster room joins: Send device list updates to most servers in rooms with partial state. ([\#13874](https://github.com/matrix-org/synapse/issues/13874 ), [\#14013](https://github.com/matrix-org/synapse/issues/14013 ))
- Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ([\#13876](https://github.com/matrix-org/synapse/issues/13876 ))
- Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to `/backfill`. ([\#13879](https://github.com/matrix-org/synapse/issues/13879 ))
- Faster room joins: Avoid waiting for full state when processing `/keys/changes` requests. ([\#13888](https://github.com/matrix-org/synapse/issues/13888 ))
- Improve backfill robustness by trying more servers when we get a `4xx` error back. ([\#13890](https://github.com/matrix-org/synapse/issues/13890 ))
- Fix mypy errors with canonicaljson 1.6.3. ([\#13905](https://github.com/matrix-org/synapse/issues/13905 ))
- Faster remote room joins: correctly handle remote device list updates during a partial join. ([\#13913](https://github.com/matrix-org/synapse/issues/13913 ))
- Complement image: propagate SIGTERM to all workers. ([\#13914](https://github.com/matrix-org/synapse/issues/13914 ))
- Update an innaccurate comment in Synapse's upsert database helper. ([\#13924](https://github.com/matrix-org/synapse/issues/13924 ))
- Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). ([\#13925](https://github.com/matrix-org/synapse/issues/13925 ), [\#13993](https://github.com/matrix-org/synapse/issues/13993 ))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade. ([\#13960](https://github.com/matrix-org/synapse/issues/13960 ))
- Refactor language in user directory `_track_user_joined_room` code to make it more clear that we use both local and remote users. ([\#13966](https://github.com/matrix-org/synapse/issues/13966 ))
- Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). ([\#13969](https://github.com/matrix-org/synapse/issues/13969 ))
- Speed up calculating push actions in large rooms. ([\#13973](https://github.com/matrix-org/synapse/issues/13973 ), [\#13992](https://github.com/matrix-org/synapse/issues/13992 ))
- Enable update notifications from Github's dependabot. ([\#13976](https://github.com/matrix-org/synapse/issues/13976 ))
- Prototype a workflow to automatically add changelogs to dependabot PRs. ([\#13998](https://github.com/matrix-org/synapse/issues/13998 ), [\#14011](https://github.com/matrix-org/synapse/issues/14011 ), [\#14017](https://github.com/matrix-org/synapse/issues/14017 ), [\#14021](https://github.com/matrix-org/synapse/issues/14021 ), [\#14027](https://github.com/matrix-org/synapse/issues/14027 ))
- Fix type annotations to be compatible with new annotations in development versions of twisted. ([\#14012](https://github.com/matrix-org/synapse/issues/14012 ))
- Clear out stale entries in `event_push_actions_staging` table. ([\#14020](https://github.com/matrix-org/synapse/issues/14020 ))
- Bump versions of GitHub actions. ([\#13978](https://github.com/matrix-org/synapse/issues/13978 ), [\#13979](https://github.com/matrix-org/synapse/issues/13979 ), [\#13980](https://github.com/matrix-org/synapse/issues/13980 ), [\#13982](https://github.com/matrix-org/synapse/issues/13982 ), [\#14015](https://github.com/matrix-org/synapse/issues/14015 ), [\#14019](https://github.com/matrix-org/synapse/issues/14019 ), [\#14022](https://github.com/matrix-org/synapse/issues/14022 ), [\#14023](https://github.com/matrix-org/synapse/issues/14023 ))
2022-10-04 15:26:37 +01:00
Patrick Cloke
d8663f5e63
Advertise supporting version 1.3 of the Matrix spec. ( #14032 )
...
Now that all features / changes in 1.3 are supported in Synapse.
2022-10-04 10:21:16 -04:00
David Robertson
04ce2edddc
Fix building wheels on OSX ( #14046 )
...
* Fix building wheels on OSX
Follow-up to #13983 . I missed a breaking change in setup-python v4.
Serves me right for rushing to cut through the dependabot spam.
* Changelog
* Merge changelog
2022-10-04 14:59:30 +01:00
Patrick Cloke
b4ec4f5e71
Track notification counts per thread (implement MSC3773). ( #13776 )
...
When retrieving counts of notifications segment the results based on the
thread ID, but choose whether to return them as individual threads or as
a single summed field by letting the client opt-in via a sync flag.
The summarization code is also updated to be per thread, instead of per
room.
2022-10-04 09:47:04 -04:00
dependabot[bot]
94017e867d
Bump isort from 5.7.0 to 5.10.1 ( #13988 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 13:19:40 +01:00
dependabot[bot]
6ec9fcc808
Bump jsonschema from 4.4.0 to 4.16.0 ( #13985 )
...
* Bump jsonschema from 4.4.0 to 4.16.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema ) from 4.4.0 to 4.16.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases )
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.4.0...v4.16.0 )
---
updated-dependencies:
- dependency-name: jsonschema
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:34:08 +01:00
dependabot[bot]
b95d8b463e
Bump types-pyopenssl from 22.0.0 to 22.0.10 ( #13984 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:27:41 +01:00
dependabot[bot]
b64b7297f2
Bump actions/setup-python from 2 to 4 ( #13983 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:24:36 +01:00
dependabot[bot]
0e5106a0cc
Bump types-requests from 2.27.11 to 2.28.11 ( #13987 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 12:24:18 +01:00
dependabot[bot]
23a4973b83
Bump types-setuptools from 57.4.9 to 65.4.0.0 ( #13986 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-10-04 12:21:20 +01:00
Patrick Cloke
e70c6b720e
Disable pushing for server ACL events (MSC3786). ( #13997 )
...
Switches to the stable identifier for MSC3786 and enables it
by default.
This disables pushes of m.room.server_acl events.
2022-10-04 07:08:27 -04:00
Patrick Cloke
27fa0fa698
Send the appservice access token as a header. ( #13996 )
...
Implements MSC2832 by sending application service access
tokens in the Authorization header.
The access token is also still sent as a query parameter until
the application service ecosystem has fully migrated to using
headers. In the future this could be made opt-in, or removed
completely.
2022-10-04 07:06:41 -04:00
Sean Quah
471e13a103
1.69.0rc1
2022-10-04 11:18:37 +01:00
Akshit Tyagi
1613857b90
Linkify config documentation. ( #14003 )
2022-10-04 09:03:31 +00:00
Eric Eastwood
70a4317692
Track when the pulled event signature fails ( #13815 )
...
Because we're doing the recording in `_check_sigs_and_hash_for_pulled_events_and_fetch` (previously named `_check_sigs_and_hash_and_fetch`), this means we will track signature failures for `backfill`, `get_room_state`, `get_event_auth`, and `get_missing_events` (all pulled event scenarios). And we also record signature failures from `get_pdu`.
Part of https://github.com/matrix-org/synapse/issues/13700
Part of https://github.com/matrix-org/synapse/issues/13676 and https://github.com/matrix-org/synapse/issues/13356
This PR will be especially important for https://github.com/matrix-org/synapse/pull/13816 so we can avoid the costly `_get_state_ids_after_missing_prev_event` down the line when `/messages` calls backfill.
2022-10-03 14:53:29 -05:00
dependabot[bot]
0c9c159f45
Bump actions/upload-artifact from 2 to 3 ( #14023 )
...
* Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 19:11:22 +01:00
Erik Johnston
5a6d025246
Clear out old rows from event_push_actions_staging
( #14020 )
...
On matrix.org we have ~5 million stale rows in `event_push_actions_staging`, let's add a background job to make sure we clear them out.
2022-10-03 18:44:44 +01:00
reivilibre
b381701f8c
Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. ( #14024 )
2022-10-03 17:16:15 +00:00
dependabot[bot]
4cb0f5a99d
Bump actions/cache from 2 to 3 ( #13980 )
...
* Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache ) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:54:06 +01:00
dependabot[bot]
8e8638ac40
Bump actions/download-artifact from 2 to 3 ( #13979 )
...
* Bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:50:06 +01:00
Patrick Cloke
b706111b78
Do not return unspecced original_event field when using the stable /relations endpoint. ( #14025 )
...
Keep the old behavior (of including the original_event field) for any
requests to the /unstable version of the endpoint, but do not include
the field when the /v1 version is used.
This should avoid new clients from depending on this field, but will
not help with current dependencies.
2022-10-03 16:47:15 +00:00
dependabot[bot]
d42541733d
Bump docker/login-action from 1 to 2 ( #13978 )
...
* Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action ) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-03 17:32:48 +01:00
David Robertson
2d5ce8c087
Dependabot changelogs: trigger CI explicitly ( #14027 )
...
* Dependabot changelogs: trigger CI explicitly
* Changelog
* Use merge ref, not head ref
ref ref ref ref ref
* explanatory note
2022-10-03 17:16:45 +01:00
dependabot[bot]
4cceb6ba66
Bump docker/build-push-action from 2 to 3 ( #14022 )
...
* Bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io>
2022-10-03 17:15:27 +01:00
dependabot[bot]
6c85796769
Bump docker/setup-qemu-action from 1 to 2 ( #14019 )
...
* Bump docker/setup-qemu-action from 1 to 2
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io>
2022-10-03 16:07:39 +01:00
David Robertson
3ac0e76b79
yet another attempt to make dependabot changelogs work ( #14021 )
...
* yet another attempt to make dependabot changelogs work
* Changelog
2022-10-03 15:59:32 +01:00
dependabot[bot]
a52d27a68b
Bump docker/setup-buildx-action from 1 to 2 ( #14015 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io>
2022-10-03 14:13:15 +00:00
Erik Johnston
2c237debd3
Fix bug where we didn't delete staging push actions ( #14014 )
...
Introduced in #13719
2022-10-03 13:45:19 +00:00
David Robertson
cc8a3582e0
Try again to automate dependabot changelogs ( #14017 )
...
* Try again to automate dependabot changelogs
* Changelog
2022-10-03 14:34:50 +01:00
lukasdenk
719488dda8
Add query parameter ts
to allow appservices set the origin_server_ts
for state events. ( #11866 )
...
MSC3316 declares that both /rooms/{roomId}/send and /rooms/{roomId}/state
should accept a ts parameter for appservices. This change expands support
to /state and adds tests.
2022-10-03 13:30:45 +00:00
David Robertson
a423f45294
Fix twisted trunk mypy errors ( #14012 )
2022-10-03 13:26:49 +00:00
dependabot[bot]
7f4f2a3782
Bump actions/checkout from 2 to 3 ( #13982 )
...
* Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Robertson <davidr@element.io>
2022-10-03 14:20:32 +01:00
Erik Johnston
606b2d9009
Add cache to get_partial_state_servers_at_join
( #14013 )
2022-10-03 13:13:11 +00:00
Sean Quah
d65862c41f
Refactor _get_e2e_device_keys_txn
to split large queries ( #13956 )
...
Instead of running a single large query, run a single query for
user-only lookups and additional queries for batches of user device
lookups.
Resolves #13580 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-10-03 13:46:36 +01:00
David Robertson
061739d10f
Change dependabot CL suffix ( #14011 )
...
* Change dependabot CL suffix
* Changelog
2022-10-03 11:51:57 +01:00
David Robertson
7a441c4f30
Protoype automatic changelogs for dependabot PRs ( #13998 )
2022-10-03 11:30:21 +01:00
Erik Johnston
343038c3c3
Always build Rust extension in release mode ( #14009 )
...
Fixes #13990
2022-10-03 11:20:18 +01:00
Eric Eastwood
2769ef4df1
Revert the general exception recording introduced in #13814 ( #13969 )
...
* Maybe not catch all errors to avoid things in the nature-of CancelledError
See https://github.com/matrix-org/synapse/pull/13815#discussion_r983384698
* Remove general exception tracking
* Add changelog
2022-10-03 10:14:45 +01:00
Eric Eastwood
a52c40e2a6
Fix get_users_in_room
mis-use in transfer_room_state_on_room_upgrade
( #13960 )
...
Spawning from looking into `get_users_in_room` while investigating https://github.com/matrix-org/synapse/issues/13942#issuecomment-1262787050 .
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755 for the original exploration around finding `get_users_in_room` mis-uses.
Related to the following PRs where we also cleaned up some `get_users_in_room` mis-uses:
- https://github.com/matrix-org/synapse/pull/13605
- https://github.com/matrix-org/synapse/pull/13608
- https://github.com/matrix-org/synapse/pull/13606
- https://github.com/matrix-org/synapse/pull/13958
2022-09-30 20:10:50 -05:00
Eric Eastwood
ad4c14e4b0
Clarifications in user directory for users who share rooms tracking ( #13966 )
...
Spawned while working on [`get_users_in_room` mis-uses](https://github.com/matrix-org/synapse/pull/13958#discussion_r984074897 ) and thinking we could use `get_local_users_in_room` here but we can't.
From first glance, it seemed like this was only using local users from all of the `is_mine_id(user_id)` checks but I see that it does actually use remote users. Just making things a little more clear here what it does and mentions remote users so maybe that will be more obvious in the future.
2022-09-30 14:40:18 -05:00
Erik Johnston
535f8c8f7d
Skip filtering during push if there are no push actions ( #13992 )
2022-09-30 17:40:33 +01:00
David Robertson
285d72556b
Update mypy and mypy-zope, attempt 3 ( #13993 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-09-30 17:36:28 +01:00
David Robertson
8e52cb0bce
Revert "Update mypy and mypy-zope ( #13925 )"
...
This reverts commit 6d543d6d9f
.
2022-09-30 16:37:48 +01:00
David Robertson
6d543d6d9f
Update mypy and mypy-zope ( #13925 )
...
* Update mypy and mypy-zope
* Unignore assigning to LogRecord attributes
Presumably https://github.com/python/typeshed/pull/8064 makes this ok
Cherry-picked from #13521
* Remove unused ignores due to mypy ParamSpec fixes
https://github.com/python/mypy/pull/12668
Cherry-picked from #13521
* Remove additional unused ignores
* Fix new mypy complaints related to `assertGreater`
Presumably due to https://github.com/python/typeshed/pull/8077
* Changelog
* Reword changelog
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-09-30 16:34:47 +01:00
Richard van der Hoff
b2aadd81a8
Enable dependabot updates ( #13976 )
...
Fixes https://github.com/matrix-org/synapse/issues/11828
2022-09-30 14:28:34 +01:00
Erik Johnston
285b9e9b6c
Speed up calculating push actions in large rooms ( #13973 )
...
We move the expensive check of visibility to after calculating push actions, avoiding the expensive check for users who won't get pushed anyway.
I think this should have a big impact on rooms with large numbers of local users that have pushed disabled.
2022-09-30 14:27:00 +01:00
David Robertson
5507bfa769
Discourage automatic replies to Synapse's emails ( #13957 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-09-30 13:23:37 +00:00
Dirk Klimpel
4490697b98
Add some cross references to worker documentation ( #13974 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-09-30 13:41:32 +01:00
Erik Johnston
3dfc4a08dc
Fix performance regression in get_users_in_room
( #13972 )
...
Fixes #13942 . Introduced in #13575 .
Basically, let's only get the ordered set of hosts out of the DB if we need an ordered set of hosts. Since we split the function up the caching won't be as good, but I think it will still be fine as e.g. multiple backfill requests for the same room will hit the cache.
2022-09-30 13:15:32 +01:00
David Robertson
e8f30a76ca
Fix overflows in /messages backfill calculation ( #13936 )
...
* Reproduce bug
* Compute `least_function` first
* Substitute `least_function` with an f-string
* Bugfix: avoid overflow
Co-authored-by: Eric Eastwood <erice@element.io>
2022-09-30 11:54:53 +01:00
Brendan Abolivier
1cc2ca81ba
Add missing version information in the ModuleApi ( #13947 )
2022-09-30 12:27:21 +02:00
David Robertson
6f0c3e669d
Don't require setuptools_rust
at runtime ( #13952 )
2022-09-29 20:16:08 +00:00
David Robertson
15754d720f
Update UPSERT comment now that native upserts are the default ( #13924 )
2022-09-29 19:10:47 +01:00
Erik Johnston
ebd9e2dac6
Implement push rule evaluation in Rust. ( #13838 )
2022-09-29 16:12:09 +01:00
Nick Mills-Barrett
a466164647
Optimise get_rooms_for_user (drop with_stream_ordering) ( #13787 )
2022-09-29 13:55:12 +00:00
Brendan Abolivier
be76cd8200
Allow admins to require a manual approval process before new accounts can be used (using MSC3866) ( #13556 )
2022-09-29 15:23:24 +02:00
Patrick Cloke
8625ad8099
Explicit cast to enforce type hints. ( #13939 )
2022-09-29 07:22:41 -04:00
Hugh Nimmo-Smith
e5fdf16d46
Expose MSC3882 only be under an unstable endpoint. ( #13868 )
2022-09-29 07:22:27 -04:00
Patrick Cloke
568016929f
Clarify that a method returns only unthreaded receipts. ( #13937 )
...
By renaming it and updating the docstring.
Additionally, refactors a method which is used only by tests.
2022-09-29 07:07:31 -04:00
Nicolas Werner
99a7e7e023
Always send default and rule_id to clients ( #13904 )
2022-09-29 11:57:00 +01:00
reivilibre
73ecff7e9e
Improve backfill robustness by trying more servers. ( #13890 )
...
Co-authored-by: Eric Eastwood <erice@element.io>
2022-09-29 10:00:02 +00:00
Erik Johnston
5f659d4a88
Handle local device list updates during partial join ( #13934 )
2022-09-28 23:22:35 +01:00
Eric Eastwood
df8b91ed2b
Limit and filter the number of backfill points to get from the database ( #13879 )
...
There is no need to grab thousands of backfill points when we only need 5 to make the `/backfill` request with. We need to grab a few extra in case the first few aren't visible in the history.
Previously, we grabbed thousands of backfill points from the database, then sorted and filtered them in the app. Fetching the 4.6k backfill points for `#matrix:matrix.org` from the database takes ~50ms - ~570ms so it's not like this saves a lot of time 🤷 . But it might save us more time now that `get_backfill_points_in_room`/`get_insertion_event_backward_extremities_in_room` are more complicated after https://github.com/matrix-org/synapse/pull/13635
This PR moves the filtering and limiting to the SQL query so we just have less data to work with in the first place.
Part of https://github.com/matrix-org/synapse/issues/13356
2022-09-28 15:26:16 -05:00
Patrick Cloke
d768c50c0e
Add upgrade notes for changes to receipts replication. ( #13932 )
2022-09-28 11:33:31 -04:00
Patrick Cloke
1386ce4735
Revert "Stop returning an unused column when handling new receipts. ( #13933 )" ( #13935 )
...
This reverts commit 7766bd5b35
(#13933 ).
The unused column is actually used, but much further down in the function.
2022-09-28 11:01:41 -04:00
Patrick Cloke
7766bd5b35
Stop returning an unused column when handling new receipts. ( #13933 )
2022-09-28 10:58:25 -04:00
Andrew Morgan
25c0e69392
Document that the 'auto_join_rooms' option works with Spaces ( #13931 )
2022-09-28 14:13:19 +00:00
Andrew Morgan
220b21936e
Correct default number of bcrypt hash rounds in .1 man page ( #13930 )
2022-09-28 14:45:13 +01:00
Erik Johnston
4b17a5ace8
Handle remote device list updates during partial join ( #13913 )
...
c.f. #12993 (comment), point 3
This stores all device list updates that we receive while partial joins are ongoing, and processes them once we have the full state.
Note: We don't actually process the device lists in the same ways as if we weren't partially joined. Instead of updating the device list remote cache, we simply notify local users that a change in the remote user's devices has happened. I think this is safe as if the local user requests the keys for the remote user and we don't have them we'll simply fetch them as normal.
2022-09-28 13:42:43 +00:00
Kateřina Churanová
6caa303083
fix: Push notifications for invite over federation ( #13719 )
2022-09-28 12:31:53 +00:00
Ashish Kumar
5c429b86b4
Add instruction for running unit tests in parallel ( #13928 )
2022-09-28 11:14:35 +00:00
Shay
8ab16a92ed
Persist CreateRoom events to DB in a batch ( #13800 )
2022-09-28 10:11:48 +00:00
Shay
a2cf66a94d
Prepatory work for batching events to send ( #13487 )
...
This PR begins work on batching up events during the creation of a room. The PR splits out the creation and sending/persisting of the events. The first three events in the creation of the room-creating the room, joining the creator to the room, and the power levels event are sent sequentially, while the subsequent events are created and collected to be sent at the end of the function. This is currently done by appending them to a list and then iterating over the list to send, the next step (after this PR) would be to send and persist the collected events as a batch.
2022-09-28 10:39:03 +01:00
Eric Eastwood
29269d9d3f
Fix have_seen_event
cache not being invalidated ( #13863 )
...
Fix https://github.com/matrix-org/synapse/issues/13856
Fix https://github.com/matrix-org/synapse/issues/13865
> Discovered while trying to make Synapse fast enough for [this MSC2716 test for importing many batches](https://github.com/matrix-org/complement/pull/214#discussion_r741678240 ). As an example, disabling the `have_seen_event` cache saves 10 seconds for each `/messages` request in that MSC2716 Complement test because we're not making as many federation requests for `/state` (speeding up `have_seen_event` itself is related to https://github.com/matrix-org/synapse/issues/13625 )
>
> But this will also make `/messages` faster in general so we can include it in the [faster `/messages` milestone](https://github.com/matrix-org/synapse/milestone/11 ).
>
> *-- https://github.com/matrix-org/synapse/issues/13856 *
### The problem
`_invalidate_caches_for_event` doesn't run in monolith mode which means we never even tried to clear the `have_seen_event` and other caches. And even in worker mode, it only runs on the workers, not the master (AFAICT).
Additionally there was bug with the key being wrong so `_invalidate_caches_for_event` never invalidates the `have_seen_event` cache even when it does run.
Because we were using the `@cachedList` wrong, it was putting items in the cache under keys like `((room_id, event_id),)` with a `set` in a `set` (ex. `(('!TnCIJPKzdQdUlIyXdQ:test', '$Iu0eqEBN7qcyF1S9B3oNB3I91v2o5YOgRNPwi_78s-k'),)`) and we we're trying to invalidate with just `(room_id, event_id)` which did nothing.
2022-09-27 15:55:43 -05:00
Eric Eastwood
35e9d6a616
Emphasize the right reasons to use (room_id, event_id)
in a schema ( #13915 )
...
* Emphasize the right reasons to use (room_id, event_id)
Follow-up to:
- https://github.com/matrix-org/synapse/pull/13701
- https://github.com/matrix-org/synapse/pull/13771
2022-09-27 19:43:16 +00:00
David Robertson
f5aaa55e27
Add new columns tracking when we partial-joined ( #13892 )
2022-09-27 17:26:35 +01:00
Patrick Cloke
87fe9db467
Support the stable dir parameter for /relations. ( #13920 )
...
Since MSC3715 has passed FCP, the stable parameter can be used.
This currently falls back to the unstable parameter if the stable
parameter is not provided (and MSC3715 support is enabled in
the configuration).
2022-09-27 10:47:34 -04:00
Erik Johnston
299b00d968
Prioritize outbound to-device over device list updates ( #13922 )
...
Otherwise device list changes for large accounts can temporarily delay to-device messages.
2022-09-27 15:17:41 +01:00
Mathieu Velten
42dd992bb7
Dockerfile for tests: align comments with current behavior ( #13867 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-09-27 15:55:43 +02:00
Quentin Gliech
50c92f3a69
Carry IdP Session IDs through user-mapping sessions. ( #13839 )
...
Since #11482 , we're saving sessions IDs from upstream IdPs, but we've been losing them when the user goes through a user mapping session on account registration.
2022-09-27 14:38:14 +01:00
Erik Johnston
e8318a4333
Handle the case of remote users leaving a partial join room for device lists ( #13885 )
2022-09-27 13:01:08 +01:00
Sean Quah
85e161631a
Faster room joins: Fix spurious error when joining a room ( #13872 )
...
During a `lazy_load_members` `/sync`, we look through auth events in
rooms with partial state to find prior membership events. When such a
membership is not found, an error is logged.
Since the first join event for a user never has a prior membership event
to cite, the error would always be logged when one appeared in the room
timeline.
Avoid logging errors for such events.
Introduced in #13477 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-27 11:17:23 +01:00
Richard van der Hoff
d6b85a2a7d
Complement image: propagate SIGTERM to all workers ( #13914 )
...
This should mean that logs from worker processes are flushed before shutdown.
When a test completes, Complement stops the docker container, which means that
synapse will receive a SIGTERM. Currently, the `complement_fork_starter` exits
immediately (without notifying the worker processes), which means that the
workers never get a chance to flush their logs before the whole container is
vaped. We can fix this by propagating the SIGTERM to the children.
2022-09-26 23:07:02 +01:00
Patrick Cloke
2fae1a3f78
Improve tests for get_unread_push_actions_for_user_in_range_*. ( #13893 )
...
* Adds a docstring.
* Reduces a small amount of duplicated code.
* Improves tests.
2022-09-26 18:28:12 +00:00
Andrew Morgan
58ab96747c
Update the manpage documentation for the hash_password script ( #13911 )
2022-09-26 18:18:41 +00:00
David Robertson
0a38c7ec6d
Snapshot schema 72 ( #13873 )
...
Including another batch of fixes to the schema dump script
2022-09-26 18:28:32 +01:00
Mathieu Velten
41461fd4d6
typing: check origin server of typing event against room's servers ( #13830 )
...
This is also using the partial state approximation if needed so we do
not block here during a fast join.
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-09-26 17:33:32 +02:00
Nick Mills-Barrett
6b4593a80f
Simplify cache invalidation after event persist txn ( #13796 )
...
This moves all the invalidations into a single place and de-duplicates
the code involved in invalidating caches for a given event by using
the base class method.
2022-09-26 16:26:35 +01:00
enterprisey
f34b0bc262
Update NixOS module URL ( #13818 )
...
* Update NixOS module URL
* Create 13818.doc
2022-09-26 15:26:59 +01:00
Erik Johnston
c5defa4cba
Correctly add Cargo.lock to sdsit ( #13909 )
2022-09-26 13:58:10 +00:00
David Robertson
dcdd50e458
Fix mypy errors with latest canonicaljson ( #13905 )
...
* Lockfile: update canonicaljson 1.6.0 -> 1.6.3
* Fix mypy errors with latest canonicaljson
The change to `_encode_json_bytes` definition wasn't sufficient:
```
synapse/http/server.py:751: error: Incompatible types in assignment (expression has type "Callable[[Arg(object, 'json_object')], bytes]", variable has type "Callable[[Arg(object, 'data')], bytes]") [assignment]
```
Which I think is mypy warning us that the two functions accept different
sets of kwargs. Fair enough!
* Changelog
2022-09-26 13:30:00 +01:00
Eric Eastwood
ac1a31740b
Only try to backfill event if we haven't tried before recently ( #13635 )
...
Only try to backfill event if we haven't tried before recently (exponential backoff). No need to keep trying the same backfill point that fails over and over.
Fix https://github.com/matrix-org/synapse/issues/13622
Fix https://github.com/matrix-org/synapse/issues/8451
Follow-up to https://github.com/matrix-org/synapse/pull/13589
Part of https://github.com/matrix-org/synapse/issues/13356
2022-09-23 14:01:29 -05:00
Sean Quah
f49f73c0da
Faster room joins: Avoid blocking /keys/changes
( #13888 )
...
Part of the work for #12993 .
Once #12993 is fully resolved, we expect `/keys/changes` to behave
sensibly when joined to a room with partial state.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-23 17:55:15 +01:00
Eric Eastwood
db868db594
Fix access token leak to logs from proxyagent ( #13855 )
...
This can happen specifically with an application service `/transactions/10722?access_token=leaked` request
Fix https://github.com/matrix-org/synapse/issues/13010
---
Saw an example leak in https://github.com/matrix-org/synapse/issues/13423#issuecomment-1205348482
```
2022-08-04 14:47:57,925 - synapse.http.client - 401 - DEBUG - as-sender-signal-1 - Sending request PUT http://localhost:29328/transactions/10722?access_token= <redacted>
2022-08-04 14:47:57,926 - synapse.http.proxyagent - 223 - DEBUG - as-sender-signal-1 - Requesting b'http://localhost:29328/transactions/10722?access_token=leaked ' via <HostnameEndpoint localhost:29328>
```
2022-09-23 11:49:39 -05:00
Patrick Cloke
e3512a7719
Update Cargo.lock file. ( #13889 )
2022-09-23 11:59:39 -04:00
Patrick Cloke
efd108b45d
Accept & store thread IDs for receipts (implement MSC3771). ( #13782 )
...
Updates the `/receipts` endpoint and receipt EDU handler to parse a
`thread_id` from the body and insert it in the database.
2022-09-23 14:33:28 +00:00
Sean Quah
03c2bfb7f8
Send device list updates out to servers in partially joined rooms ( #13874 )
...
Use the provided list of servers in the room from the `/send_join`
response, since we will not know which users are in the room. This
isn't sufficient to ensure that all remote servers receive the right
device list updates, since the `/send_join` response may be inaccurate
or we may calculate the membership state of new users in the room
incorrectly.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-23 13:44:03 +01:00
reivilibre
c06b2b7142
Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ( #13823 )
2022-09-23 11:47:16 +01:00
reivilibre
ac7e5683d6
Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ( #13876 )
2022-09-23 11:46:45 +01:00
David Robertson
f7c89c44c5
Raise issue if complement fails with latest deps ( #13859 )
2022-09-22 17:33:37 +01:00
Patrick Cloke
8c3dcdf1b9
Fix the cross-link from register admin API to config docs. ( #13870 )
2022-09-22 09:11:50 -04:00
Patrick Cloke
b7272b73aa
Properly paginate forward in the /relations API. ( #13840 )
...
This fixes a bug where the `/relations` API with `dir=f` would
skip the first item of each page (except the first page), causing
incomplete data to be returned to the client.
2022-09-22 12:47:49 +00:00
David Robertson
1a1abdda42
Last batch of Pydantic for synapse/rest/client/account.py ( #13832 )
...
* Validation for `/add_threepid/msisdn/submit_token`
* Don't validate deprecated endpoint
* Changelog
2022-09-21 22:23:44 +01:00
Brendan Abolivier
efabf44c76
Add version flag for MSC3881 ( #13860 )
2022-09-21 18:18:44 +02:00
Brendan Abolivier
ccca14140a
Track device IDs for pushers ( #13831 )
...
Second half of the MSC3881 implementation
2022-09-21 15:31:53 +00:00
Hugh Nimmo-Smith
0fd2f2d460
Implementation of MSC3882 login token request ( #13722 )
2022-09-21 15:12:29 +00:00
villepeh
269eddad6f
Add worker_main_http_uri
to the contrib bash script ( #13772 )
...
* Add worker_main_http_uri, replace >> with >
Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>
Co-authored-by: Erik Johnston <erik@matrix.org>
2022-09-21 15:58:46 +01:00
Brendan Abolivier
8ae42ab8fa
Support enabling/disabling pushers (from MSC3881) ( #13799 )
...
Partial implementation of MSC3881
2022-09-21 14:39:01 +00:00
Mathieu Velten
6bd8763804
Add cache invalidation across workers to module API ( #13667 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-09-21 15:32:01 +02:00
Peter Scheu
16e1a9d9a7
Correct documentation for map_user_attributes of OpenID Mapping Providers ( #13836 )
...
Co-authored-by: David Robertson <davidr@element.io>
2022-09-21 13:08:16 +00:00
Quentin Gliech
e0804ef898
Improve the synapse.api.auth.Auth
mock used in unit tests. ( #13809 )
...
To return the proper type (`Requester`) instead of a `dict`.
2022-09-21 12:40:34 +00:00
reivilibre
a35842caec
Fix the release script not publishing binary wheels. ( #13850 )
2022-09-21 09:43:08 +00:00
Olivier Wilkinson (reivilibre)
2b522cceb6
Merge branch 'release-v1.68' into develop
2022-09-20 14:54:05 +01:00
Quentin Gliech
85fc7ea1a1
Remove the complete_sso_login
method from the Module API which was deprecated in Synapse 1.13.0. ( #13843 )
...
Signed-off-by: Quentin Gliech <quenting@element.io>
2022-09-20 15:18:07 +02:00
David Robertson
fff9b955fa
Generate separate snapshots for logical databases ( #13792 )
...
* Generate separate snapshots for sqlite, postgres and common
* Cleanup postgres dbs in the TRAP
* Say which logical DB we're applying updates to
* Run background updates on the state DB
* Add new option for accepting a SCHEMA_NUMBER
2022-09-20 14:14:12 +01:00
Erik Johnston
42d261c32f
Port the push rule classes to Rust. ( #13768 )
2022-09-20 12:10:31 +01:00
Olivier Wilkinson (reivilibre)
e124b24ad9
1.68.0rc1
2022-09-20 11:30:48 +01:00
Denis
c802ef1411
Don't include redundant prev_state in new events ( #13791 )
2022-09-20 09:44:38 +01:00
Eric Eastwood
44be42338e
Add support to purge rows from MSC2716 and other tables when purging a room ( #13825 )
...
`event_failed_pull_attempts` added in https://github.com/matrix-org/synapse/pull/13589
MSC2716 related tables added in:
- https://github.com/matrix-org/synapse/pull/10245/files#diff-3d42dfb44d02f7de3aada105e0bdc1cc9dd7f953cbf0f36c5d0f50827bf0320aR1
- Renamed in https://github.com/matrix-org/synapse/pull/10838/files#diff-2730bfbe9e688b55e46f9371aefe67dac2bd2b2b7d9d6b92774eea1fcfae156dR1
- https://github.com/matrix-org/synapse/pull/10498/files#diff-c52bbfbb5921a3f6f023b24343668479d966fac164f13b7c39d2197ce3afa7a5R1
2022-09-16 10:56:56 -05:00
Mathieu Velten
d5292b8017
Fix Docker build when Rust .so has been build locally first ( #13811 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-09-16 15:38:54 +00:00
David Robertson
642c4b253d
Compare ported to unported PG schemas in portdb test job ( #13808 )
2022-09-16 16:25:54 +01:00
David Robertson
5e84461653
Minor speedups to CI linting ( #13827 )
2022-09-16 16:18:32 +01:00
Sean Quah
d64e85197a
Remove error spam when users query the keys of departed remote users ( #13826 )
...
The error message introduced in #13749 has turned out to be very spammy.
Remove it for now.
2022-09-16 16:16:05 +01:00
Mathieu Velten
384dca53d6
complement: init postgres DB directly inside the target image ( #13819 )
...
Doing so in the base postgres image doesn't work with buildah because
changes in a declared VOLUME in the Dockerfile is supposed to be
discarded, cf https://docs.docker.com/engine/reference/builder/#volume
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-09-16 17:12:45 +02:00
Quentin Gliech
74f60cec92
Add an admin API endpoint to find a user based on its external ID in an auth provider. ( #13810 )
2022-09-16 12:29:03 +00:00
reivilibre
f7a77ad717
Update request log format documentation to mention the format used when the authenticated user is controlling another user. ( #13794 )
2022-09-16 11:48:41 +00:00
Sean Quah
b73cbb8215
Avoid putting rejected events in room state ( #13723 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-16 12:45:04 +01:00
Eric Eastwood
6986bcbf39
Document common fix of Poetry problems by removing egg-info ( #13785 )
...
`matrix_synapse.egg-info/`
Mentioned at https://matrix.to/#/!vcyiEtMVHIhWXcJAfl:sw1v.org/$aKy_IjrKwb70aTVZWeW_6zt0k7OIZ1YkyZpkP9uiRaM?via=matrix.org&via=element.io&via=beeper.com and many other places.
2022-09-15 16:28:03 -05:00
Eric Eastwood
5093cbf88d
Be able to correlate timeouts in reverse-proxy layer in front of Synapse (pull request ID from header) ( #13801 )
...
Fix https://github.com/matrix-org/synapse/issues/13685
New config:
```diff
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
+ request_id_header: "cf-ray"
bind_addresses: ['::1', '127.0.0.1', '0.0.0.0']
```
2022-09-15 15:32:25 -05:00
Eric Eastwood
140af0cdb6
Record any exception when processing a pulled event ( #13814 )
...
Part of https://github.com/matrix-org/synapse/issues/13700 and https://github.com/matrix-org/synapse/issues/13356
Follow-up to https://github.com/matrix-org/synapse/pull/13589
2022-09-15 14:40:49 -05:00
Patrick Cloke
b2b0c85279
Support providing an index predicate for upserts. ( #13822 )
...
This is useful to upsert against a table which has a unique
partial index while avoiding conflicts.
2022-09-15 18:28:48 +00:00
David Robertson
742f9f9d78
A third batch of Pydantic validation for rest/client/account.py ( #13736 )
2022-09-15 18:36:02 +01:00
Andrew Morgan
918c74bfb5
Add a MXCUri
class to make working with mxc uri's easier. ( #13162 )
2022-09-15 12:57:16 +00:00
Eric Eastwood
957e3d74fc
Keep track when we try and fail to process a pulled event ( #13589 )
...
We can follow-up this PR with:
1. Only try to backfill from an event if we haven't tried recently -> https://github.com/matrix-org/synapse/issues/13622
1. When we decide to backfill that event again, process it in the background so it doesn't block and make `/messages` slow when we know it will probably fail again -> https://github.com/matrix-org/synapse/issues/13623
1. Generally track failures everywhere we try and fail to pull an event over federation -> https://github.com/matrix-org/synapse/issues/13700
Fix https://github.com/matrix-org/synapse/issues/13621
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.qv7cj51sv9i5 )
2022-09-14 13:57:50 -05:00
Patrick Cloke
666ae87729
Update event push action and receipt tables to support threads. ( #13753 )
...
Adds a `thread_id` column to the `event_push_actions`, `event_push_actions_staging`,
and `event_push_summary` tables. This will notifications to be segmented by the thread
in a future pull request. The `thread_id` column stores the root event ID or the special
value `"main"`.
The `thread_id` column for `event_push_actions` and `event_push_summary` is
backfilled with `"main"` for all existing rows. New entries into `event_push_actions`
and `event_push_actions_staging` will get the proper thread ID.
`receipts_linearized` and `receipts_graph` also gain a `thread_id` column, which is similar,
except `NULL` is a special value meaning the receipt is "unthreaded".
See MSC3771 and MSC3773 for where this data will be useful.
2022-09-14 17:11:16 +00:00
Patrick Cloke
f2d12ccabe
Use partial indices on SQLIte. ( #13802 )
...
Partial indices have been supported since SQLite 3.8, but Synapse
now requires >= 3.27, so we can enable support for them.
This requires rebuilding previous indices which were partial on
PostgreSQL, but not on SQLite.
2022-09-14 12:01:42 -04:00
reivilibre
6302753012
Deduplicate is_server_notices_room
. ( #13780 )
2022-09-14 15:53:18 +00:00
reivilibre
cf65433de2
Fix a memory leak when running the unit tests. ( #13798 )
2022-09-14 15:29:05 +00:00
Quentin Gliech
eaed4e6113
Remove unused method in synapse.api.auth.Auth
. ( #13795 )
...
Clean-up from b19060a29b
(#13094 )
and 73af10f419
(#13093 ) which removed
all callers.
2022-09-14 10:33:54 -04:00
David Robertson
51a77e990b
Remove incorrect migration file from state
logical DB ( #13788 )
...
* Remove incorrect migration file from `state` logical DB
The table `ex_outlier_stream` is part of the `main` logical DB; it
should not have been created in the `state` logical DB. We remove this
migration now as a tidy-up.
Note: we cannot `DROP TABLE IF EXISTS ex_outlier_stream` in a new
migration, because some (most) instances of Synapse host both of these
logical DBs on the same DB cluster.
* Changelog
2022-09-14 14:16:12 +01:00
Sean Quah
c73774467e
Fix bug in device list caching when remote users leave rooms ( #13749 )
...
When a remote user leaves the last room shared with the homeserver, we
have to mark their device list as unsubscribed, otherwise we would hold
on to a stale device list in our cache. Crucially, the device list would
remain cached even after the remote user rejoined the room, which could
lead to E2EE failures until the next change to the remote user's device
list.
Fixes #13651 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-14 10:42:57 +01:00
reivilibre
21687ec189
Fix a long-standing spec compliance bug where Synapse would accept a trailing slash on the end of /get_missing_events
federation requests. ( #13789 )
...
* Don't accept a trailing slash on the end of /get_missing_events
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2022-09-14 09:28:12 +01:00
Mathieu Velten
12dacecabd
Make sequence cache_invalidation_stream_seq
begin at 2
( #13766 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-09-13 16:14:28 +02:00
Erik Johnston
9772e362aa
Merge branch 'master' into develop
2022-09-13 12:11:53 +01:00
David Robertson
b60d47ab2c
Updates to the schema dump script ( #13770 )
2022-09-13 10:53:11 +01:00
David Robertson
540afb0bfc
Simplify CI tests DAG ( #13784 )
...
* Simplify CI tests DAG
* Changelog
2022-09-13 10:17:23 +01:00
Richard van der Hoff
41df25bbbd
installation.md: require libpq on M1 macs ( #13480 )
2022-09-13 09:01:21 +00:00
Nick Mills-Barrett
cdbb641232
Add receipts event stream ordering ( #13703 )
2022-09-13 08:16:37 +01:00
Mathieu Velten
fa2f3d8d0c
Fix GHA skippable syntax ( #13778 )
...
Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
2022-09-12 17:31:23 +00:00
Brendan Abolivier
7571337445
Fix typo in ratelimiting documentation ( #13727 )
2022-09-12 14:11:18 +01:00
Erik Johnston
dd7484b562
Fix CI on non-PR builds ( #13769 )
...
Mark cargo-test as skippable since it only runs on Rust code change.
2022-09-12 13:26:33 +01:00
Nick Mills-Barrett
da41a7cd61
Remove check current state membership up to date ( #13745 )
...
* Remove checks for membership column in current_state_events
* Add schema script to force through the
`current_state_events_membership` background job
Contributed by Nick @ Beeper (@fizzadar).
2022-09-12 12:58:33 +01:00
Erik Johnston
ebfeac7c5d
Check if Rust lib needs rebuilding. ( #13759 )
...
This protects against the common mistake of failing to remember to rebuild Rust code after making changes.
2022-09-12 10:03:42 +00:00
Nick Mills-Barrett
4c4889cac0
Concurrently collect room unread counts for push badges ( #13765 )
...
Most of the time this function is heavily cached, but when that isn't
the case fetching the counts room by room slows down push delivery on
users with many (thousands) of rooms.
Signed off by Nick @ Beeper.
2022-09-09 19:00:21 +01:00
Eric Eastwood
a911ffb42c
Tag trace with instance name ( #13761 )
...
We tag the Synapse instance name so that it's an easy jumping off point into the logs. Can also be used to filter for an instance that is under load.
As suggested by @clokep and @reivilibre in,
- https://github.com/matrix-org/synapse/pull/13729#discussion_r964719258
- https://github.com/matrix-org/synapse/pull/13729#discussion_r964733578
2022-09-09 11:31:37 -05:00
Eric Eastwood
f694bb71b7
Strip number suffix from instance name to consolidate services that traces are spread over ( #13729 )
...
The problem with many services is that it makes it hard to find which service has the trace you want, see https://github.com/jaegertracing/jaeger-ui/issues/985
Previously, we split traces out into services based on their instance name like `matrix.org client_reader-1`, etc but there are many worker instances of the same `client_reader` so there is a lot to click through.
With this PR, all of the traces are just collected under the worker type like `client_reader`, `event_persister` 😇
Note: A Synapse worker instance name is an opaque string with the number convention only being our own thing for the `matrix.org` deployment. But seems pretty sensible to group things this way.
2022-09-09 11:30:06 -05:00
Patrick Cloke
3d9f82efcb
Use an upsert for receipts_graph
. ( #13752 )
...
Instead of a delete, then insert.
This was previously done for `receipts_linearized` in
2dc430d36e
(#7607 ).
2022-09-09 07:08:41 -04:00
Erik Johnston
c85c5ace52
Add rust to CI ( #13763 )
2022-09-09 11:29:04 +01:00
David Robertson
f2d2481e56
Require SQLite >= 3.27.0 ( #13760 )
2022-09-09 11:14:10 +01:00
Sean Quah
69fa29700e
Re-type hint some collections in /sync
code as read-only ( #13754 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-08 20:13:39 +01:00
reivilibre
5261d2e2e8
Remove unused Prometheus recording rules from synapse-v2.rules
and add comments describing where the rest are used. ( #13756 )
2022-09-08 17:50:15 +00:00
Dirk Klimpel
f799eac7ea
Add timestamp to user's consent ( #13741 )
...
Co-authored-by: reivilibre <olivier@librepush.net>
2022-09-08 15:41:48 +00:00
Sean Quah
906cead9ca
Update docstrings to explain the impact of partial state ( #13750 )
...
Update the docstrings for `get_users_in_room` and
`get_current_hosts_in_room` to explain the impact of partial state.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-08 15:55:29 +01:00
Sean Quah
89e8b98b65
Avoid raising errors due to malformed IDs in get_current_hosts_in_room
( #13748 )
...
Handle malformed user IDs with no colons in `get_current_hosts_in_room`.
It's not currently possible for a malformed user ID to join a room, so
this error would never be hit.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-08 15:55:03 +01:00
Sean Quah
8ef0c8ff14
Fix error in is_mine_id
when encountering a malformed ID ( #13746 )
...
Previously, `is_mine_id` would raise an exception when passed an ID with
no colons. Return `False` instead.
Fixes #13040 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-09-08 15:54:36 +01:00
reivilibre
cf11919ddd
Fix cache metrics not being updated when not using the legacy exposition module. ( #13717 )
2022-09-08 15:30:48 +01:00
reivilibre
526f84bc2e
Fix Prometheus recording rules to not use legacy metric names. ( #13718 )
2022-09-08 15:01:42 +01:00
Erik Johnston
1cc729c177
Fix latest deps ( #13743 )
2022-09-08 13:58:31 +01:00
reivilibre
b7e4bfd005
Fix a bug where Synapse fails to start if a signing key file contains an empty line. ( #13738 )
2022-09-08 11:18:03 +01:00
Eric Eastwood
d4d3249ded
Instrument get_metadata_for_events
for tracing ( #13730 )
...
When backfilling, `_get_state_ids_after_missing_prev_event` calls [`get_metadata_for_events`](26bc26586b/synapse/handlers/federation_event.py (L1133)
). For `#matrix:matrix.org`, it's called with 77k `state_events` which means 77 calls to the database and takes 28 seconds.
2022-09-07 11:41:52 -05:00
Erik Johnston
8d7fcf9b76
Fix latest deps CI ( #13734 )
2022-09-07 14:07:06 +00:00
Erik Johnston
dc0e896b68
Add some rust caching to CI ( #13735 )
2022-09-07 13:56:59 +00:00
David Robertson
c46fecd1f2
Correct out-of-date doc for event_cache_size
( #13726 )
2022-09-07 14:46:11 +01:00
David Robertson
77f3986451
Define SQLite compat policy ( #13728 )
2022-09-07 12:07:42 +00:00
David Robertson
b58386e37e
A second batch of Pydantic models for rest/client/account.py ( #13687 )
2022-09-07 12:16:10 +01:00
reivilibre
d3d9ca156e
Cancel the processing of key query requests when they time out. ( #13680 )
2022-09-07 12:03:32 +01:00
reivilibre
c2fe48a6ff
Rename the EventFormatVersions
enum values so that they line up with room version numbers. ( #13706 )
2022-09-07 11:08:20 +01:00
Connor Davis
bb5b47b62a
Add Admin API to Fetch Messages Within a Particular Window ( #13672 )
...
This adds two new admin APIs that allow us to fetch messages from a room within a particular time.
2022-09-07 10:54:44 +01:00
reivilibre
26bc26586b
Remove the unspecced room_id field in the /hierarchy response. ( #13506 )
...
This is a re-do of 57d334a13d
(#13365 ),
which was backed out in 12abd72497
(#13501 ).
The `room_id` field represented the parent space for each room
and was made redundant by changes in the API shape where the
`children_state` is now nested underneath each `room`.
The room ID of each child is in the `state_key` field and is still
available.
2022-09-06 15:28:44 -04:00
Erik Johnston
c9b7e97355
Add a stub Rust crate ( #12595 )
2022-09-06 19:01:37 +01:00
Erik Johnston
3d20115115
Fix trial-olddeps ( #13725 )
2022-09-06 14:21:55 +00:00
David Robertson
a4ecb8e353
Actually fix typechecking with latest types-jsonschema ( #13724 )
2022-09-06 14:29:16 +01:00
Erik Johnston
b5effc7201
Update trial old deps CI to use poetry 1.2.0 ( #13707 )
2022-09-06 11:43:04 +00:00
reivilibre
b455c2a5ec
Update Grafana dashboard to not use legacy metric names. ( #13714 )
2022-09-06 12:21:21 +01:00
Erik Johnston
cdf7fb737b
1.67.0rc1
2022-09-06 09:01:26 +01:00
Patrick Cloke
32fc3b7ba4
Remove configuration options for direct TCP replication. ( #13647 )
...
Removes the ability to configure legacy direct TCP replication. Workers now require Redis to run.
2022-09-06 07:50:02 +00:00
Erik Johnston
8edf3f66d5
Reduce number of CI jobs run on PRs ( #13713 )
...
* Reduce number of CI jobs run on PRs
* Newsfile
* Also limit sytest jobs
* Fix typo
* Fix up
* Fixup
2022-09-05 13:31:42 +01:00
reivilibre
c7b18d9d44
Extend the release script to wait for GitHub Actions to finish and to be usable as a guide for the whole process. ( #13483 )
2022-09-05 12:16:59 +01:00
David Robertson
8cb9261598
Fix typechecking with latest types-jsonschema
( #13712 )
2022-09-05 11:13:13 +00:00
Brendan Abolivier
898fef2789
Share some metrics between the Prometheus exporter and the phone home stats ( #13671 )
2022-09-05 10:26:43 +00:00
Eric Eastwood
877bdfa889
Clarify (room_id, event_id)
global uniqueness ( #13701 )
...
Summarized from @richvdh's reply at https://github.com/matrix-org/synapse/pull/13589#discussion_r961116999
2022-09-02 14:05:39 -05:00
Eric Eastwood
36b184b782
Update docs to make enabling metrics more clear ( #13678 )
...
It was really easy to miss the `enable_metrics: True` step with the previous language.
2022-09-02 11:29:51 -05:00
Erik Johnston
4fee4a339d
Update lock file for Poetry v1.2.0 ( #13689 )
2022-09-02 13:20:03 +00:00
Erik Johnston
0fdb685c2b
Only run trial CI on all python versions on non-PRs ( #13698 )
2022-09-02 13:12:47 +01:00
Dirk Klimpel
044900af6c
Fix two typos with colon in headlines ( #13665 )
2022-09-01 20:38:37 +00:00
Patrick Cloke
48a5c47a9f
Add a schema delta to drop unstable private read receipts. ( #13692 )
...
Otherwise they'll be leaked due to the filtering code only respecting
the stable identifiers for private read receipts.
2022-09-01 14:57:47 -04:00
Patrick Cloke
390b7ce946
Disable calculating unread counts unless the config flag is enabled. ( #13694 )
...
This avoids doing work that will never be used (since the
resulting unread counts will never be sent in a /sync
response).
The negative of doing this is that unread counts will be
incorrect when the feature is initially enabled.
2022-09-01 16:52:03 +00:00
reivilibre
f48f4dd59e
Update the Grafana dashboard that is included with Synapse in the contrib
directory. ( #13697 )
...
* Add missing graph to contrib
* Update with minor but plausible changes, including positioning changes
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2022-09-01 16:27:06 +01:00
Erik Johnston
9d2823ab70
Cache is_partial_state_room
( #13693 )
...
Fixes #13613 .
2022-09-01 16:07:01 +01:00
Will Hunt
c913e440c0
Add monthly active users documentation ( #13617 )
...
* Add monthly active users documentation
* changelog
* Tidy up notes
* more tidyup
* Rewrite #1
* link back to mau docs
* fix links
* s/appservice|AS/application service
* further review
* a newline
* Remove bit about shadow banned users.
I think talking about them is confusing, and the current text doesn't imply they get any special treatment.
* Update docs/usage/administration/monthly_active_users.md
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update docs/usage/administration/monthly_active_users.md
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-09-01 14:48:43 +00:00
Erik Johnston
2318603772
Add some logging to help track down #13444 ( #13679 )
2022-09-01 13:54:52 +01:00
Richard van der Hoff
e8130f219b
Return keys for unwhitelisted servers from /_matrix/key/v2/query
( #13683 )
2022-09-01 13:54:02 +01:00
Erik Johnston
18e4092801
Bump docker image to use stable poetry version ( #13688 )
2022-09-01 13:46:47 +01:00
Šimon Brandner
0e99f07952
Remove support for unstable private read receipts ( #13653 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-09-01 13:31:54 +01:00
Jacek Kuśnierz
84ddcd7bbf
Drop support for calling /_matrix/client/v3/rooms/{roomId}/invite
without an id_access_token
( #13241 )
...
Fixes #13206
Signed-off-by: Jacek Kusnierz jacek.kusnierz@tum.de
2022-08-31 12:10:25 +00:00
Nick Mills-Barrett
42b11d5565
Remove cached wrap on _get_joined_users_from_context
method ( #13569 )
...
The method doesn't actually do any data fetching and the method that
does, `_get_joined_profile_from_event_id`, has its own cache.
Signed off by Nick @ Beeper (@Fizzadar).
2022-08-31 12:19:39 +01:00
reivilibre
7bc110a19e
Generalise the @cancellable
annotation so it can be used on functions other than just servlet methods. ( #13662 )
2022-08-31 11:16:05 +00:00
David Robertson
a160406d24
Fix admin List Room API return type on sqlite ( #13509 )
2022-08-31 10:38:16 +00:00
Eric Eastwood
92c5817e34
Give the correct next event when the message timestamps are the same - MSC3030 ( #13658 )
...
Discovered while working on https://github.com/matrix-org/synapse/pull/13589 and I had all the messages at the same timestamp in the tests.
Part of https://github.com/matrix-org/matrix-spec-proposals/pull/3030
Complement tests: https://github.com/matrix-org/complement/pull/457
2022-08-30 14:50:06 -05:00
Shay
20c76cecb9
Drop unused column application_services_state.last_txn
( #13627 )
2022-08-30 10:29:16 -07:00
Richard van der Hoff
372136d3a8
Remove documentation of legacy frontend_proxy
worker app ( #13645 )
...
This has been the same as a generic_worker since #6964 , so let's get rid of it.
Fixes #3717
2022-08-30 18:01:51 +01:00
Patrick Cloke
e761e8b475
Clarify documentation about replication traffic. ( #13656 )
...
It can be authenticated with the worker_replication_secret setting,
but is always unencrypted.
2022-08-30 12:21:19 +00:00
Erik Johnston
1c26acd815
Fix bug where we wedge media plugins if clients disconnect early ( #13660 )
...
We incorrectly didn't use the returned `Responder` if the client had
disconnected, which meant that the resource used by the Responder
wasn't correctly released.
In particular, this exhausted the thread pools so that *all* requests
timed out.
2022-08-30 12:17:48 +01:00
Patrick Cloke
303b40b988
Do not wait for background updates to complete do expire URL cache. ( #13657 )
...
Media downloaded as part of a URL preview is normally deleted after two days.
However, while a background database migration is running, the process is
stopped. A long-running database migration can therefore cause the media
store to fill up with old preview files.
This logic was added in #2697 to make sure that we didn't try to run the expiry
without an index on `local_media_repository.created_ts`; the original logic that
needs that index was added in #2478 (in `get_url_cache_media_before`, as
amended by 93247a424a
), and is still present.
Given that the background update was added before Synapse v1.0.0, just drop
this check and assume the index exists.
2022-08-30 07:15:54 -04:00
Patrick Cloke
20df96a7a7
Speed up inserting event_push_actions_staging
. ( #13634 )
...
By using `execute_values` instead of `execute_batch`.
2022-08-30 07:12:48 -04:00
Dirk Klimpel
682dfcfc0d
Fix that user cannot /forget
rooms after the last member has left ( #13546 )
2022-08-30 09:58:38 +00:00
Eric Eastwood
51d732db3b
Optimize how we calculate likely_domains
during backfill ( #13575 )
...
Optimize how we calculate `likely_domains` during backfill because I've seen this take 17s in production just to `get_current_state` which is used to `get_domains_from_state` (see case [*2. Loading tons of events* in the `/messages` investigation issue](https://github.com/matrix-org/synapse/issues/13356 )).
There are 3 ways we currently calculate hosts that are in the room:
1. `get_current_state` -> `get_domains_from_state`
- Used in `backfill` to calculate `likely_domains` and `/timestamp_to_event` because it was cargo-culted from `backfill`
- This one is being eliminated in favor of `get_current_hosts_in_room` in this PR 🕳
1. `get_current_hosts_in_room`
- Used for other federation things like sending read receipts and typing indicators
1. `get_hosts_in_room_at_events`
- Used when pushing out events over federation to other servers in the `_process_event_queue_loop`
Fix https://github.com/matrix-org/synapse/issues/13626
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.2tvwz3yhcafh )
### Query performance
#### Before
The query from `get_current_state` sucks just because we have to get all 80k events. And we see almost the exact same performance locally trying to get all of these events (16s vs 17s):
```
synapse=# SELECT type, state_key, event_id FROM current_state_events WHERE room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
Time: 16035.612 ms (00:16.036)
synapse=# SELECT type, state_key, event_id FROM current_state_events WHERE room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
Time: 4243.237 ms (00:04.243)
```
But what about `get_current_hosts_in_room`: When there is 8M rows in the `current_state_events` table, the previous query in `get_current_hosts_in_room` took 13s from complete freshness (when the events were first added). But takes 930ms after a Postgres restart or 390ms if running back to back to back.
```sh
$ psql synapse
synapse=# \timing on
synapse=# SELECT COUNT(DISTINCT substring(state_key FROM '@[^:]*:(.*)$'))
FROM current_state_events
WHERE
type = 'm.room.member'
AND membership = 'join'
AND room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
count
-------
4130
(1 row)
Time: 13181.598 ms (00:13.182)
synapse=# SELECT COUNT(*) from current_state_events where room_id = '!OGEhHVWSdvArJzumhm:matrix.org';
count
-------
80814
synapse=# SELECT COUNT(*) from current_state_events;
count
---------
8162847
synapse=# SELECT pg_size_pretty( pg_total_relation_size('current_state_events') );
pg_size_pretty
----------------
4702 MB
```
#### After
I'm not sure how long it takes from complete freshness as I only really get that opportunity once (maybe restarting computer but that's cumbersome) and it's not really relevant to normal operating times. Maybe you get closer to the fresh times the more access variability there is so that Postgres caches aren't as exact. Update: The longest I've seen this run for is 6.4s and 4.5s after a computer restart.
After a Postgres restart, it takes 330ms and running back to back takes 260ms.
```sh
$ psql synapse
synapse=# \timing on
Timing is on.
synapse=# SELECT
substring(c.state_key FROM '@[^:]*:(.*)$') as host
FROM current_state_events c
/* Get the depth of the event from the events table */
INNER JOIN events AS e USING (event_id)
WHERE
c.type = 'm.room.member'
AND c.membership = 'join'
AND c.room_id = '!OGEhHVWSdvArJzumhm:matrix.org'
GROUP BY host
ORDER BY min(e.depth) ASC;
Time: 333.800 ms
```
#### Going further
To improve things further we could add a `limit` parameter to `get_current_hosts_in_room`. Realistically, we don't need 4k domains to choose from because there is no way we're going to query that many before we a) probably get an answer or b) we give up.
Another thing we can do is optimize the query to use a index skip scan:
- https://wiki.postgresql.org/wiki/Loose_indexscan
- Index Skip Scan, https://commitfest.postgresql.org/37/1741/
- https://www.timescale.com/blog/how-we-made-distinct-queries-up-to-8000x-faster-on-postgresql/
2022-08-30 01:38:14 -05:00
Richard van der Hoff
4f6de33f41
Print complement failure results last ( #13639 )
...
Since github always scrolls to the bottom of any test output, let's put the
failed tests last and hide any successful packages.
2022-08-28 20:05:30 +00:00
Richard van der Hoff
c4e29b6908
Improve documentation around user registration ( #13640 )
...
Update a bunch of the documentation for user registration, add some cross
links, etc.
2022-08-26 13:29:31 +00:00
Richard van der Hoff
5e5c8150d7
Generate missing configuration files at startup ( #13615 )
...
If things like the signing key file are missing, let's just try to generate
them on startup.
Again, this is useful for k8s-like deployments where we just want to generate
keys on the first run.
2022-08-26 11:26:06 +00:00
Brad Murray
967d7bad6c
Move the execution of the retention purge_jobs to the main worker ( #13632 )
...
Fixes #9927
Signed-off-by: Brad Murray brad@beeper.com
2022-08-26 08:38:10 +01:00
Richard van der Hoff
d092e6f32a
Support registration_shared_secret
in a file ( #13614 )
...
A new `registration_shared_secret_path` option. This is kinda handy for k8s deployments and things.
2022-08-25 16:27:46 +00:00
Richard van der Hoff
a2ce614447
register_new_matrix_user: read server url from config ( #13616 )
...
Fixes https://github.com/matrix-org/synapse/issues/3672 :
`https://localhost:8448 ` is virtually never right.
2022-08-25 15:29:08 +01:00
Eric Eastwood
0bf180cbb4
Comment about a better future where we can get the state diff between two events ( #13586 )
...
Split off from https://github.com/matrix-org/synapse/pull/13561
Part of https://github.com/matrix-org/synapse/issues/13356
Mentioned in [internal doc](https://docs.google.com/document/d/1lvUoVfYUiy6UaHB6Rb4HicjaJAU40-APue9Q4vzuW3c/edit#bookmark=id.2tvwz3yhcafh )
2022-08-24 18:59:27 -05:00
David Robertson
c406d50d2d
Rename event_map
to unpersisted_events
( #13603 )
2022-08-24 21:06:31 +01:00
Eric Eastwood
1a209efdb2
Update get_users_in_room
mis-use to get hosts with dedicated get_current_hosts_in_room
( #13605 )
...
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755
2022-08-24 14:15:37 -05:00
Eric Eastwood
d58615c82c
Directly lookup local membership instead of getting all members in a room first (get_users_in_room
mis-use) ( #13608 )
...
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755
2022-08-24 14:13:12 -05:00
Eric Eastwood
b93bd95e8a
When loading current ids, sort by stream_id
to avoid incorrect overwrite and avoid errors caused by sorting alphabetical instance name which can be null
( #13585 )
...
When loading current ids, sort by stream ID so that we don't want to overwrite the `current_position` of an instance to a lower stream ID than we're actually at ([discussion](https://github.com/matrix-org/synapse/pull/13585#discussion_r951795379 )). Previously, it sorted alphabetically by instance name which can be `null` and throw errors but more importantly, accomplishes nothing.
Fixes the following startup error which is why I started looking into this area:
```
$ poetry run synapse_homeserver --config-path homeserver.yaml
****************************************************************
Error during initialisation:
'<' not supported between instances of 'NoneType' and 'str'
There may be more information in the logs.
****************************************************************
```
Somehow my database ended up looking like the following, notice the `instance_name` is `null` in the db, and we can't sort `NoneType` things. Another question is why do we see the `instance_name` as `null` sometimes instead of `master` in monolith mode?
```
$ psql synapse
synapse=# SELECT * FROM stream_positions;
stream_name | instance_name | stream_id
-----------------+---------------+-----------
account_data | master | 1242
events | master | 1787
to_device | master | 58
presence_stream | master | 485638
receipts | master | 341
backfill | master | -139106
(6 rows)
synapse=# SELECT instance_name, stream_id FROM receipts_linearized;
instance_name | stream_id
---------------+-----------
| 211
| 3
| 4
| 212
| 213
| 224
| 228
| 164
| 313
| 253
| 38
| 321
| 324
| 189
| 192
| 193
| 194
| 195
| 197
| 198
| 275
| 79
| 339
| 340
| 82
| 341
| 84
| 85
| 91
| 119
```
2022-08-24 12:53:46 -05:00
Eric Eastwood
c807b814ae
Use dedicated get_local_users_in_room
to find local users when calculating join_authorised_via_users_server
of a /make_join
request ( #13606 )
...
Use dedicated `get_local_users_in_room` to find local users when calculating `join_authorised_via_users_server` ("the authorising user for joining a restricted room") of a `/make_join` request.
Found while working on https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755 but it's not related.
2022-08-24 11:14:28 -05:00
reivilibre
be4250c7a8
Add experimental configuration option to allow disabling legacy Prometheus metric names. ( #13540 )
...
Co-authored-by: David Robertson <davidr@element.io>
2022-08-24 11:35:54 +00:00
Nick Mills-Barrett
b687010f89
Rewrite get push actions queries ( #13597 )
2022-08-24 10:12:51 +01:00
reivilibre
ba882c0357
Faster Room Joins: fix /make_knock
blocking indefinitely when the room in question is a partial-stated room. ( #13583 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-08-24 09:09:59 +00:00
Eric Eastwood
7af07f9716
Instrument _check_sigs_and_hash_and_fetch
to trace time spent in child concurrent calls ( #13588 )
...
Instrument `_check_sigs_and_hash_and_fetch` to trace time spent in child concurrent calls because I've see `_check_sigs_and_hash_and_fetch` take [10.41s to process 100 events](https://github.com/matrix-org/synapse/issues/13587 )
Fix https://github.com/matrix-org/synapse/issues/13587
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-23 21:53:37 -05:00
David Robertson
a25a37002c
Write about the chain cover a little. ( #13602 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-08-23 17:41:55 +00:00
Erik Johnston
f7ddfe17a3
Speed up @cachedList
( #13591 )
...
This speeds things up by ~2x.
The vast majority of the time is now spent in `LruCache` moving things around the linked lists.
We do this via two things:
1. Don't create a deferred per-key during bulk set operations in `DeferredCache`. Instead, only create them if a subsequent caller asks for the key.
2. Add a bulk lookup API to `DeferredCache` rather than use a loop.
2022-08-23 14:53:27 +00:00
Erik Johnston
05c9c7363b
Fix regression caused by #13573 ( #13600 )
...
Broke in #13573 .
2022-08-23 14:14:05 +00:00
David Robertson
ca3d19b05f
Synapse 1.66.0rc1 (2022-08-23)
...
==============================
This release removes the ability for homeservers to delegate email ownership
verification and password reset confirmation to identity servers. This removal
was originally planned for Synapse 1.64, but was later deferred until now.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Features
--------
- Improve validation of request bodies for the following client-server API endpoints: [`/account/password`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpassword ), [`/account/password/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpasswordemailrequesttoken ), [`/account/deactivate`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountdeactivate ) and [`/account/3pid/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3account3pidemailrequesttoken ). ([\#13188](https://github.com/matrix-org/synapse/issues/13188 ), [\#13563](https://github.com/matrix-org/synapse/issues/13563 ))
- Add forgotten status to [Room Details Admin API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#room-details-api ). ([\#13503](https://github.com/matrix-org/synapse/issues/13503 ))
- Add an experimental implementation for [MSC3852 (Expose user agents on `Device`)](https://github.com/matrix-org/matrix-spec-proposals/pull/3852 ). ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Add `org.matrix.msc2716v4` experimental room version with updated content fields. Part of [MSC2716 (Importing history)](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ). ([\#13551](https://github.com/matrix-org/synapse/issues/13551 ))
- Add support for compression to federation responses. ([\#13537](https://github.com/matrix-org/synapse/issues/13537 ))
- Improve performance of sending messages in rooms with thousands of local users. ([\#13522](https://github.com/matrix-org/synapse/issues/13522 ), [\#13547](https://github.com/matrix-org/synapse/issues/13547 ))
Bugfixes
--------
- Faster room joins: make `/joined_members` block whilst the room is partial stated. ([\#13514](https://github.com/matrix-org/synapse/issues/13514 ))
- Fix a bug introduced in Synapse 1.21.0 where the [`/event_reports` Admin API](https://matrix-org.github.io/synapse/develop/admin_api/event_reports.html ) could return a total count which was larger than the number of results you can actually query for. ([\#13525](https://github.com/matrix-org/synapse/issues/13525 ))
- Fix a bug introduced in Synapse 1.52.0 where sending server notices fails if `max_avatar_size` or `allowed_avatar_mimetypes` is set and not `system_mxid_avatar_url`. ([\#13566](https://github.com/matrix-org/synapse/issues/13566 ))
- Fix a bug where the `opentracing.force_tracing_for_users` config option would not apply to [`/sendToDevice`](https://spec.matrix.org/v1.3/client-server-api/#put_matrixclientv3sendtodeviceeventtypetxnid ) and [`/keys/upload`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3keysupload ) requests. ([\#13574](https://github.com/matrix-org/synapse/issues/13574 ))
Improved Documentation
----------------------
- Add `openssl` example for generating registration HMAC digest. ([\#13472](https://github.com/matrix-org/synapse/issues/13472 ))
- Tidy up Synapse's README. ([\#13491](https://github.com/matrix-org/synapse/issues/13491 ))
- Document that event purging related to the `redaction_retention_period` config option is executed only every 5 minutes. ([\#13492](https://github.com/matrix-org/synapse/issues/13492 ))
- Add a warning to retention documentation regarding the possibility of database corruption. ([\#13497](https://github.com/matrix-org/synapse/issues/13497 ))
- Document that the `DOCKER_BUILDKIT=1` flag is needed to build the docker image. ([\#13515](https://github.com/matrix-org/synapse/issues/13515 ))
- Add missing links in `user_consent` section of configuration manual. ([\#13536](https://github.com/matrix-org/synapse/issues/13536 ))
- Fix the doc and some warnings that were referring to the nonexistent `custom_templates_directory` setting (instead of `custom_template_directory`). ([\#13538](https://github.com/matrix-org/synapse/issues/13538 ))
Deprecations and Removals
-------------------------
- Remove the ability for homeservers to delegate email ownership verification
and password reset confirmation to identity servers. See [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Internal Changes
----------------
- Update the rejected state of events during de-partial-stating. ([\#13459](https://github.com/matrix-org/synapse/issues/13459 ))
- Avoid blocking lazy-loading `/sync`s during partial joins due to remote memberships. Pull remote memberships from auth events instead of the room state. ([\#13477](https://github.com/matrix-org/synapse/issues/13477 ))
- Refuse to start when faster joins is enabled on a deployment with workers, since worker configurations are not currently supported. ([\#13531](https://github.com/matrix-org/synapse/issues/13531 ))
- Allow use of both `@trace` and `@tag_args` stacked on the same function. ([\#13453](https://github.com/matrix-org/synapse/issues/13453 ))
- Instrument the federation/backfill part of `/messages` for understandable traces in Jaeger. ([\#13489](https://github.com/matrix-org/synapse/issues/13489 ))
- Instrument `FederationStateIdsServlet` (`/state_ids`) for understandable traces in Jaeger. ([\#13499](https://github.com/matrix-org/synapse/issues/13499 ), [\#13554](https://github.com/matrix-org/synapse/issues/13554 ))
- Track HTTP response times over 10 seconds from `/messages` (`synapse_room_message_list_rest_servlet_response_time_seconds`). ([\#13533](https://github.com/matrix-org/synapse/issues/13533 ))
- Add metrics to track how the rate limiter is affecting requests (sleep/reject). ([\#13534](https://github.com/matrix-org/synapse/issues/13534 ), [\#13541](https://github.com/matrix-org/synapse/issues/13541 ))
- Add metrics to time how long it takes us to do backfill processing (`synapse_federation_backfill_processing_before_time_seconds`, `synapse_federation_backfill_processing_after_time_seconds`). ([\#13535](https://github.com/matrix-org/synapse/issues/13535 ), [\#13584](https://github.com/matrix-org/synapse/issues/13584 ))
- Add metrics to track rate limiter queue timing (`synapse_rate_limit_queue_wait_time_seconds`). ([\#13544](https://github.com/matrix-org/synapse/issues/13544 ))
- Update metrics to track `/messages` response time by room size. ([\#13545](https://github.com/matrix-org/synapse/issues/13545 ))
- Refactor methods in `synapse.api.auth.Auth` to use `Requester` objects everywhere instead of user IDs. ([\#13024](https://github.com/matrix-org/synapse/issues/13024 ))
- Clean-up tests for notifications. ([\#13471](https://github.com/matrix-org/synapse/issues/13471 ))
- Add some miscellaneous comments to document sync, especially around `compute_state_delta`. ([\#13474](https://github.com/matrix-org/synapse/issues/13474 ))
- Use literals in place of `HTTPStatus` constants in tests. ([\#13479](https://github.com/matrix-org/synapse/issues/13479 ), [\#13488](https://github.com/matrix-org/synapse/issues/13488 ))
- Add comments about how event push actions are rotated. ([\#13485](https://github.com/matrix-org/synapse/issues/13485 ))
- Modify HTML template content to better support mobile devices' screen sizes. ([\#13493](https://github.com/matrix-org/synapse/issues/13493 ))
- Add a linter script which will reject non-strict types in Pydantic models. ([\#13502](https://github.com/matrix-org/synapse/issues/13502 ))
- Reduce the number of tests using legacy TCP replication. ([\#13543](https://github.com/matrix-org/synapse/issues/13543 ))
- Allow specifying additional request fields when using the `HomeServerTestCase.login` helper method. ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Make `HomeServerTestCase` load any configured homeserver modules automatically. ([\#13558](https://github.com/matrix-org/synapse/issues/13558 ))
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE1508oLYUKainYFJakD7OEIo53t0FAmMExBwACgkQkD7OEIo5
3t0sGA/9FLZLdTWeROLUenbInvz3POqi6DgqlE0f8IDdp3zHjjuDJIE4HZwnPhhj
c3H5FcUnTPhQoVZ8Ybno3J3KN8jfpe4tFhnhlM1x9hOi1fujfqCnFd2qWvlzkYXX
J4oN6Dz0BbhqdhqnS2tcNacZJOielJ47UtNNBZkzprpzjL3qqRUK3Hm/gGK8GtGN
BLon7JK0pKG1GFMVaoIWsr+j7880QD8DGXTjoZrjo/yGdp+zJldwJTbN2ymNdMw1
3Caq7eCk+m6jzCUJxI7tTJVioXvf7+TScIsozAXuQtBy9W1RctvVMMoR9cIlN+JJ
dj5GKhKBv8uJpJU6dJnlYpjNC5+5hPHr1gfnkoYbcyFF6PybJrHx9jfhEIEXmI1+
j0DlJJdFnX+eeq4deFd+LPU5hYaF8SkSVRK3G+/NmKI3YYTReD6ootZzV5O4Z9P0
NUwLK/OSMZrsFUfuwysUttfHq0uHGGs7mytlRgeqb/1RKRC80nxVJu3qv/xF6kKj
KF98Yr2IDgp/MFhBpGAO3ylNgK8aQ3YxED4qW+kfnDeHPkma5mTdAtJ1bpvKcec+
3awpFGWcmYVQPflwp9J3HFJHqWkj32LMfuSgDffLs8mWuj87fP7eAdjzv6M4zeAM
4qh+cmvNC7ArfQ+ngz3g+xVD1lHi84s+fMgo7L+ySGfgDqTLhT4=
=1F3P
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE1508oLYUKainYFJakD7OEIo53t0FAmMEz10ACgkQkD7OEIo5
3t02GhAApioIpEedKaeSATI42N8rWhfuni3vaPFAXwmOD6BvBkZlP0gcg+vUoBjP
I0VIkGWZ3MKIhCSJkjwPJh1vHcpE09KYqIYRKO5vSbqHZKHYUJ+ThjcCR4IkOBPD
3Dc3IRgQaM2Nh8eMcyRY7eyxo+2y+VN2G+SXr1B+A5/4N58ZrxfV97MtLYJ1a6AH
0iIknOxb9FPArYs4ORbk6x2rvRO2QPGh88uKwJ8uHXvHlUbJ3fmHLVvRa1m0RKAW
ojkzj/Dysa+4gasMIvtzPePtIQnMyovaQLul+bGXzE0js4lqzSOIP12x1zNpLuuq
LSiyD3gMgGeogumhCAU6b23xF6jBaGtgtKKpaYuK8pqkuBTRNN8kQ6LB+7g3WQ2L
QWVos+/+wKUEHoVVD/q3u7o4CrKYqv4zE9Pj6kw5e1USOoy7803ub2ccjY1UgG3M
mZ7c48WNQQ61o9oH2+9+Ct6bab3R/Lo1MbS3zIKN8uktB4CdrhVAz3kYgV5Bl8bo
PsldxUccOTTeS5qmUGvm2/szVKjdqyCWRx9AY9eUH9Kc4u/GzmNq0UVOZF8yxM0q
WEo7GFgjM3k9IIC3K/fSmSC1iBjPSHpYvqO+c8oSNnjq2iucZeIhiEB07e89+KSa
Wiz9DDWP8Z7W6D9wRAeXyPJFB6ZdSSBgP1I90z6lQjSMzy46Kv4=
=pJ2V
-----END PGP SIGNATURE-----
Merge tag 'v1.66.0rc1' into develop
Synapse 1.66.0rc1 (2022-08-23)
==============================
This release removes the ability for homeservers to delegate email ownership
verification and password reset confirmation to identity servers. This removal
was originally planned for Synapse 1.64, but was later deferred until now.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Features
--------
- Improve validation of request bodies for the following client-server API endpoints: [`/account/password`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpassword ), [`/account/password/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountpasswordemailrequesttoken ), [`/account/deactivate`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3accountdeactivate ) and [`/account/3pid/email/requestToken`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3account3pidemailrequesttoken ). ([\#13188](https://github.com/matrix-org/synapse/issues/13188 ), [\#13563](https://github.com/matrix-org/synapse/issues/13563 ))
- Add forgotten status to [Room Details Admin API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#room-details-api ). ([\#13503](https://github.com/matrix-org/synapse/issues/13503 ))
- Add an experimental implementation for [MSC3852 (Expose user agents on `Device`)](https://github.com/matrix-org/matrix-spec-proposals/pull/3852 ). ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Add `org.matrix.msc2716v4` experimental room version with updated content fields. Part of [MSC2716 (Importing history)](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ). ([\#13551](https://github.com/matrix-org/synapse/issues/13551 ))
- Add support for compression to federation responses. ([\#13537](https://github.com/matrix-org/synapse/issues/13537 ))
- Improve performance of sending messages in rooms with thousands of local users. ([\#13522](https://github.com/matrix-org/synapse/issues/13522 ), [\#13547](https://github.com/matrix-org/synapse/issues/13547 ))
Bugfixes
--------
- Faster room joins: make `/joined_members` block whilst the room is partial stated. ([\#13514](https://github.com/matrix-org/synapse/issues/13514 ))
- Fix a bug introduced in Synapse 1.21.0 where the [`/event_reports` Admin API](https://matrix-org.github.io/synapse/develop/admin_api/event_reports.html ) could return a total count which was larger than the number of results you can actually query for. ([\#13525](https://github.com/matrix-org/synapse/issues/13525 ))
- Fix a bug introduced in Synapse 1.52.0 where sending server notices fails if `max_avatar_size` or `allowed_avatar_mimetypes` is set and not `system_mxid_avatar_url`. ([\#13566](https://github.com/matrix-org/synapse/issues/13566 ))
- Fix a bug where the `opentracing.force_tracing_for_users` config option would not apply to [`/sendToDevice`](https://spec.matrix.org/v1.3/client-server-api/#put_matrixclientv3sendtodeviceeventtypetxnid ) and [`/keys/upload`](https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3keysupload ) requests. ([\#13574](https://github.com/matrix-org/synapse/issues/13574 ))
Improved Documentation
----------------------
- Add `openssl` example for generating registration HMAC digest. ([\#13472](https://github.com/matrix-org/synapse/issues/13472 ))
- Tidy up Synapse's README. ([\#13491](https://github.com/matrix-org/synapse/issues/13491 ))
- Document that event purging related to the `redaction_retention_period` config option is executed only every 5 minutes. ([\#13492](https://github.com/matrix-org/synapse/issues/13492 ))
- Add a warning to retention documentation regarding the possibility of database corruption. ([\#13497](https://github.com/matrix-org/synapse/issues/13497 ))
- Document that the `DOCKER_BUILDKIT=1` flag is needed to build the docker image. ([\#13515](https://github.com/matrix-org/synapse/issues/13515 ))
- Add missing links in `user_consent` section of configuration manual. ([\#13536](https://github.com/matrix-org/synapse/issues/13536 ))
- Fix the doc and some warnings that were referring to the nonexistent `custom_templates_directory` setting (instead of `custom_template_directory`). ([\#13538](https://github.com/matrix-org/synapse/issues/13538 ))
Deprecations and Removals
-------------------------
- Remove the ability for homeservers to delegate email ownership verification
and password reset confirmation to identity servers. See [upgrade notes](https://matrix-org.github.io/synapse/v1.66/upgrade.html#upgrading-to-v1660 ) for more details.
Internal Changes
----------------
- Update the rejected state of events during de-partial-stating. ([\#13459](https://github.com/matrix-org/synapse/issues/13459 ))
- Avoid blocking lazy-loading `/sync`s during partial joins due to remote memberships. Pull remote memberships from auth events instead of the room state. ([\#13477](https://github.com/matrix-org/synapse/issues/13477 ))
- Refuse to start when faster joins is enabled on a deployment with workers, since worker configurations are not currently supported. ([\#13531](https://github.com/matrix-org/synapse/issues/13531 ))
- Allow use of both `@trace` and `@tag_args` stacked on the same function. ([\#13453](https://github.com/matrix-org/synapse/issues/13453 ))
- Instrument the federation/backfill part of `/messages` for understandable traces in Jaeger. ([\#13489](https://github.com/matrix-org/synapse/issues/13489 ))
- Instrument `FederationStateIdsServlet` (`/state_ids`) for understandable traces in Jaeger. ([\#13499](https://github.com/matrix-org/synapse/issues/13499 ), [\#13554](https://github.com/matrix-org/synapse/issues/13554 ))
- Track HTTP response times over 10 seconds from `/messages` (`synapse_room_message_list_rest_servlet_response_time_seconds`). ([\#13533](https://github.com/matrix-org/synapse/issues/13533 ))
- Add metrics to track how the rate limiter is affecting requests (sleep/reject). ([\#13534](https://github.com/matrix-org/synapse/issues/13534 ), [\#13541](https://github.com/matrix-org/synapse/issues/13541 ))
- Add metrics to time how long it takes us to do backfill processing (`synapse_federation_backfill_processing_before_time_seconds`, `synapse_federation_backfill_processing_after_time_seconds`). ([\#13535](https://github.com/matrix-org/synapse/issues/13535 ), [\#13584](https://github.com/matrix-org/synapse/issues/13584 ))
- Add metrics to track rate limiter queue timing (`synapse_rate_limit_queue_wait_time_seconds`). ([\#13544](https://github.com/matrix-org/synapse/issues/13544 ))
- Update metrics to track `/messages` response time by room size. ([\#13545](https://github.com/matrix-org/synapse/issues/13545 ))
- Refactor methods in `synapse.api.auth.Auth` to use `Requester` objects everywhere instead of user IDs. ([\#13024](https://github.com/matrix-org/synapse/issues/13024 ))
- Clean-up tests for notifications. ([\#13471](https://github.com/matrix-org/synapse/issues/13471 ))
- Add some miscellaneous comments to document sync, especially around `compute_state_delta`. ([\#13474](https://github.com/matrix-org/synapse/issues/13474 ))
- Use literals in place of `HTTPStatus` constants in tests. ([\#13479](https://github.com/matrix-org/synapse/issues/13479 ), [\#13488](https://github.com/matrix-org/synapse/issues/13488 ))
- Add comments about how event push actions are rotated. ([\#13485](https://github.com/matrix-org/synapse/issues/13485 ))
- Modify HTML template content to better support mobile devices' screen sizes. ([\#13493](https://github.com/matrix-org/synapse/issues/13493 ))
- Add a linter script which will reject non-strict types in Pydantic models. ([\#13502](https://github.com/matrix-org/synapse/issues/13502 ))
- Reduce the number of tests using legacy TCP replication. ([\#13543](https://github.com/matrix-org/synapse/issues/13543 ))
- Allow specifying additional request fields when using the `HomeServerTestCase.login` helper method. ([\#13549](https://github.com/matrix-org/synapse/issues/13549 ))
- Make `HomeServerTestCase` load any configured homeserver modules automatically. ([\#13558](https://github.com/matrix-org/synapse/issues/13558 ))
2022-08-23 14:00:09 +01:00
Erik Johnston
aec87a0f93
Speed up fetching large numbers of push rules ( #13592 )
2022-08-23 13:15:43 +01:00
David Robertson
ea85a2bf6c
Remove manually-added changelog
2022-08-23 12:40:35 +01:00
David Robertson
956e015413
Drop support for delegating email validation, round 2 ( #13596 )
2022-08-23 11:40:00 +00:00
Nick Mills-Barrett
5e7847dc92
Cache user IDs instead of profile objects ( #13573 )
...
The profile objects are never used and increase cache size significantly.
2022-08-23 09:49:59 +00:00
David Robertson
f0b23927fc
1.66.0rc1
2022-08-23 09:49:51 +01:00
Dirk Klimpel
37f329c9ad
Fix that sending server notices fail if avatar is None
( #13566 )
...
Indroduced in #11846 .
2022-08-23 09:48:35 +01:00
Eric Eastwood
9385c41ba4
Fix Prometheus metrics being negative (mixed up start/end) ( #13584 )
...
Fix:
- https://github.com/matrix-org/synapse/pull/13535#discussion_r949582508
- https://github.com/matrix-org/synapse/pull/13533#discussion_r949577244
2022-08-23 08:47:30 +01:00
Quentin Gliech
3dd175b628
synapse.api.auth.Auth
cleanup: make permission-related methods use Requester
instead of the UserID
(#13024 )
...
Part of #13019
This changes all the permission-related methods to rely on the Requester instead of the UserID. This is a first step towards enabling scoped access tokens at some point, since I expect the Requester to have scope-related informations in it.
It also changes methods which figure out the user/device/appservice out of the access token to return a Requester instead of something else. This avoids having store-related objects in the methods signatures.
2022-08-22 14:17:59 +01:00
Andrew Morgan
94375f7a91
Remove redundant opentracing spans for /sendToDevice
and /keys/upload
( #13574 )
2022-08-22 10:03:11 +01:00
Eric Eastwood
06df5d4250
MSC2716v4 room version - remove namespace from MSC2716 event content fields ( #13551 )
...
Complement PR: https://github.com/matrix-org/complement/pull/450
As suggested in
https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r941444525
2022-08-19 15:37:01 -05:00
Andrew Morgan
f9f03426de
Implement MSC3852: Expose last_seen_user_agent
to users for their own devices; also expose to Admin API ( #13549 )
2022-08-19 16:17:10 +00:00
Andrew Morgan
40e3e68cd7
Register homeserver modules when creating test homeserver ( #13558 )
2022-08-19 16:52:20 +01:00
Patrick Cloke
f3fba4914d
Reduce the number of tests using TCP replication. ( #13543 )
...
Uses Redis replication in additional test cases (instead of
TCP replication). A small step towards dropping TCP replication.
2022-08-19 08:25:24 -04:00
reivilibre
3a245f6cfe
Fix validation problem that occurs when a user tries to deactivate their account or change their password. ( #13563 )
2022-08-19 11:03:29 +00:00
Eric Eastwood
2c42673a9b
Add metrics to track /messages
response time by room size ( #13545 )
...
Follow-up to https://github.com/matrix-org/synapse/pull/13533
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-18 14:15:53 -05:00
Sean Quah
b251cff819
Fix incorrect juggling of logging contexts in _PerHostRatelimiter
( #13554 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-08-18 16:26:26 +01:00
Eric Eastwood
d64653d062
Track number of hosts affected by the rate limiter ( #13541 )
...
Track number of hosts affected by the rate limiter so we can differentiate one really noisy homeserver from a general ratelimit tuning problem across the federation.
Follow-up to https://github.com/matrix-org/synapse/pull/13534
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-18 10:05:07 -05:00
Ayush Anand
22ea51faf9
Add support for compression to federation responses ( #13537 )
...
Closes #13415 .
Signed-off-by: Ayush Anand <iamayushanand@gmail.com>
2022-08-18 15:14:47 +01:00
Sean Quah
84169a82dc
Avoid blocking lazy-loading /sync
s during partial joins ( #13477 )
...
Use a state filter or accept partial state in a few places where we
request state, to avoid blocking.
To make lazy-loading `/sync`s work, we need to provide the memberships
of event senders, which are not guaranteed to be in the room state.
Instead we dig through auth events for memberships to present to
clients. The auth events of an event are guaranteed to contain a
passable membership event, otherwise the event would have been rejected.
Note that this only covers the common code paths encountered during
testing. There has been no exhaustive checking of all sync code paths.
Fixes #13146 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-08-18 11:53:02 +01:00
Eric Eastwood
49d04e43df
Add metrics to track how the rate limiter is affecting requests (sleep/reject) ( #13534 )
...
Related to https://github.com/matrix-org/synapse/pull/13499
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-17 16:10:07 -05:00
reivilibre
8bdf2bd31e
Fix a bug in the /event_reports
Admin API which meant that the total count could be larger than the number of results you can actually query for. ( #13525 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-08-17 18:08:23 +00:00
David Robertson
82a0752f32
A first pass at pruning the Synapse README ( #13491 )
2022-08-17 16:46:09 +01:00
Erik Johnston
436e0eb39a
Fix breaking event sending due to bad push rule ( #13547 )
...
Broke by #13522
It looks like we have some rules in the DB with a priority class less
than 0 that don't override the base rules. Before these were just
dropped, but #13522 made that a hard error.
2022-08-17 11:02:38 +00:00
David Robertson
ba8938b090
Reject non-strict types in Pydantic models ( #13502 )
2022-08-17 11:17:04 +01:00
Antonin Loubiere
b71b41c7bd
Fix a typo in docs and in some warnings ( #13538 )
2022-08-17 10:59:05 +01:00
Dirk Klimpel
d75512d19e
Add forgotten status to Room Details API ( #13503 )
2022-08-17 09:42:01 +00:00
Eric Eastwood
c6ee9c0ee4
Add metrics to track rate limiter queue timing ( #13544 )
2022-08-17 10:38:05 +01:00
Eric Eastwood
088bcb7ecb
Time how long it takes us to do backfill processing ( #13535 )
2022-08-17 10:33:19 +01:00
Eric Eastwood
2c8cfd6d85
Add specific metric to time long-running /messages
requests ( #13533 )
2022-08-17 10:19:21 +01:00
Eric Eastwood
0a4efbc1dd
Instrument the federation/backfill part of /messages
( #13489 )
...
Instrument the federation/backfill part of `/messages` so it's easier to follow what's going on in Jaeger when viewing a trace.
Split out from https://github.com/matrix-org/synapse/pull/13440
Follow-up from https://github.com/matrix-org/synapse/pull/13368
Part of https://github.com/matrix-org/synapse/issues/13356
2022-08-16 12:39:40 -05:00
Sean Quah
f4ab6a4a96
Refuse to start when faster_joins
is enabled on a worker deployment ( #13531 )
...
Synapse does not currently support faster room joins on deployments with
workers.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-08-16 16:21:55 +01:00
Dirk Klimpel
14e673ef9d
Add missing links in user_consent
section of configuration manual ( #13536 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-08-16 16:20:56 +01:00
reivilibre
c3516e9dec
Faster room joins: make /joined_members
block whilst the room is partial stated. ( #13514 )
2022-08-16 13:16:56 +01:00
Erik Johnston
5442891cbc
Make push rules use proper structures. ( #13522 )
...
This improves load times for push rules:
| Version | Time per user | Time for 1k users |
| -------------------- | ------------- | ----------------- |
| Before | 138 µs | 138ms |
| Now (with custom) | 2.11 µs | 2.11ms |
| Now (without custom) | 49.7 ns | 0.05 ms |
This therefore has a large impact on send times for rooms
with large numbers of local users in the room.
2022-08-16 12:22:17 +01:00
David Robertson
d642ce4b32
Use Pydantic to systematically validate a first batch of endpoints in synapse.rest.client.account
. ( #13188 )
2022-08-15 19:05:57 +00:00
Shay
73c83c6411
Add a warning to retention documentation regarding the possibility of database corruption ( #13497 )
2022-08-15 11:54:23 -07:00
Eric Eastwood
344a2f767c
Instrument FederationStateIdsServlet
- /state_ids
( #13499 )
...
Instrument FederationStateIdsServlet - `/state_ids` so it's easier to follow what's going on in Jaeger when viewing a trace.
2022-08-15 19:41:23 +01:00
David Robertson
19e5d44886
Revert "Update locked versions of mypy and mypy-zope ( #13521 )"
...
This reverts commit f383b9b3ec
. Other PRs
were seeing mypy failures that looked to be related to mypy-zope.
Confusingly, we didn't see this on #13521 .
Revert this for now and investigate later.
2022-08-15 14:51:05 +01:00
Patrick Cloke
46bd7f4ed9
Clarifications for event push action processing. ( #13485 )
...
* Clarifies comments.
* Fixes an erroneous comment (about return type) added in #13455
(ec24813220
).
* Clarifies the name of a variable.
* Simplifies logic of pulling out the latest join for the requesting user.
2022-08-15 09:33:17 -04:00
David Robertson
f383b9b3ec
Update locked versions of mypy and mypy-zope ( #13521 )
2022-08-15 11:32:30 +01:00
reivilibre
2c5e2ae898
Document that the DOCKER_BUILDKIT=1
flag is needed to build the docker image. ( #13515 )
2022-08-12 14:25:47 +01:00
James Barton
e825f7366b
Add openssl
example for registration HMAC ( #13472 )
...
Signed-off-by: James Barton <james@neodon.com>
2022-08-11 21:10:10 +01:00
Andrew Morgan
953df2ad88
Add note to redaction_retention_period
documentation mentioning that event purging runs at most every 5m ( #13492 )
2022-08-11 14:06:09 +01:00
Germain
4390121684
Add viewport directive to HTML templates to optimise for mobile ( #13493 )
2022-08-11 14:04:20 +01:00
Richard van der Hoff
507c1cb330
Update the rejected state of events during resync ( #13459 )
...
Events can be un-rejected or newly-rejected during resync, so ensure we update
the database and caches when that happens.
2022-08-11 10:42:24 +00:00
Dirk Klimpel
2281427175
Use literals in place of HTTPStatus
constants in tests ( #13488 )
...
* Use literals in place of `HTTPStatus` constants in tests
* newsfile
* code style
* code style
2022-08-10 11:01:12 -07:00
Sean Quah
51c01d450a
Add some miscellaneous comments around sync ( #13474 )
...
Add some miscellaneous comments to document sync, especially around
`compute_state_delta`.
Signed-off-by: Sean Quah <seanq@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-08-10 12:58:20 +01:00
Eric Eastwood
1b09b0832e
Allow use of both @trace
and @tag_args
stacked on the same function ( #13453 )
...
```py
@trace
@tag_args
async def get_oldest_event_ids_with_depth_in_room(...)
...
```
Before this PR, you would see a warning in the logs and the span was not exported:
```
2022-08-03 19:11:59,383 - synapse.logging.opentracing - 835 - ERROR - GET-0 - @trace may not have wrapped EventFederationWorkerStore.get_oldest_event_ids_with_depth_in_room correctly! The function is not async but returned a coroutine.
```
2022-08-09 14:32:33 -05:00
Dirk Klimpel
1595052b26
Use literals in place of HTTPStatus
constants in tests ( #13479 )
...
Replace
- `HTTPStatus.NOT_FOUND`
- `HTTPStatus.FORBIDDEN`
- `HTTPStatus.UNAUTHORIZED`
- `HTTPStatus.CONFLICT`
- `HTTPStatus.CREATED`
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-08-09 14:56:43 +01:00
Olivier Wilkinson (reivilibre)
54fb517c28
Merge branch 'release-v1.65' into develop
2022-08-09 13:45:11 +01:00
Patrick Cloke
5ce2887653
Strengthen tests about deleted old push actions. ( #13471 )
2022-08-09 07:56:16 -04:00
Olivier Wilkinson (reivilibre)
827f0669bf
1.65.0rc1
2022-08-09 11:43:30 +01:00
Dirk Klimpel
70d3e70009
Make the configuration for the cache clearer ( #13481 )
2022-08-09 11:30:22 +01:00
Shay
0f954466c4
Update matrix-synapse-ldap3 version in lockfile to v0.2.2. ( #13470 )
2022-08-08 13:44:43 -07:00
Dirk Klimpel
c97042f7ee
Use literals in place of HTTPStatus
constants in tests ( #13469 )
2022-08-08 13:21:27 -07:00
David Robertson
7a19995120
Correct a misnamed argument in state res v2 ( #13467 )
...
In state res v2, we apply two passes of iterative auth checks. The first
pass replays power events and events in their auth chains, but only
those belonging to the full conflicted set. The source code as written
suggests that we want only those belonging to the auth difference (which
is a smaller set of events).
At runtime we were doing the correct thing anyway, because the only
callsite of `_reverse_topological_power_sort` passes in the
`full_conflicted_set`. So this really is just a rename.
2022-08-08 16:59:56 +01:00
Šimon Brandner
ab18441573
Support stable identifiers for MSC2285: private read receipts. ( #13273 )
...
This adds support for the stable identifiers of MSC2285 while
continuing to support the unstable identifiers behind the configuration
flag. These will be removed in a future version.
2022-08-05 11:09:33 -04:00
Dirk Klimpel
e2ed1b7155
Use literals in place of HTTPStatus
constants in tests ( #13463 )
2022-08-05 16:59:09 +02:00
Julian-Samuel Gebühr
3d2cabf966
Mark token-authenticaticated-registration API as not-experimental ( #11897 )
2022-08-05 11:15:35 +00:00
Matt C
026ac4486c
Update module API "update room membership" method to allow for remote joins ( #13441 )
...
Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-08-05 09:37:58 +00:00
Erik Johnston
b6a6bb4027
Add comments about how event push actions are stored. ( #13445 )
2022-08-04 19:38:08 +00:00
Eric Eastwood
860fdd9098
Fix @tag_args
being off-by-one (ahead) ( #13452 )
...
Fix @tag_args being off-by-one (ahead)
Example:
```
argspec.args=[
'self',
'room_id'
]
args=(
<synapse.storage.databases.main.DataStore object at 0x10d0b8d00>,
'!HBehERstyQBxyJDLfR:my.synapse.server'
)
```
---
The previous logic was also flawed and we can end up in a situation like this:
```
argspec.args=['self', 'dest', 'room_id', 'limit', 'extremities']
args=(<synapse.federation.federation_client.FederationClient object at 0x7f1651c18160>, 'hs1', '!jAEHKIubyIfuLOdfpY:hs1')
```
From this source:
```py
async def backfill(
self, dest: str, room_id: str, limit: int, extremities: Collection[str]
) -> Optional[List[EventBase]]:
```
And this usage:
```py
events = await self._federation_client.backfill(
dest, room_id, limit=limit, extremities=extremities
)
```
which would previously cause this error:
```
synapse_main | 2022-08-04 06:13:12,051 - synapse.handlers.federation - 424 - ERROR - GET-5 - Failed to backfill from hs1 because tuple index out of range
synapse_main | Traceback (most recent call last):
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation.py", line 392, in try_backfill
synapse_main | await self._federation_event_handler.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation_event.py", line 593, in backfill
synapse_main | events = await self._federation_client.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 827, in _wrapper
synapse_main | with wrapping_logic(func, *args, **kwargs):
synapse_main | File "/usr/local/lib/python3.9/contextlib.py", line 119, in __enter__
synapse_main | return next(self.gen)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 922, in _wrapping_logic
synapse_main | set_attribute("ARG_" + arg, str(args[i + 1])) # type: ignore[index]
synapse_main | IndexError: tuple index out of range
```
2022-08-04 14:29:41 -05:00
Patrick Cloke
ec24813220
Improve comments (& avoid a duplicate query) in push actions processing. ( #13455 )
...
* Adds docstrings and inline comments.
* Formats SQL queries using triple quoted strings.
* Minor formatting changes.
* Avoid fetching `event_push_summary_stream_ordering` multiple times
in the same transactions.
2022-08-04 19:24:44 +00:00
Richard van der Hoff
96d92156d0
Update type of EventContext.rejected
( #13460 )
2022-08-04 17:45:01 +01:00