Patrick Cloke
dd2d66b0c9
Move the (unstable) `dir` parameter for /relations behind an experimental flag. ( #12984 )
...
MSC3715 defines this parameter, but the unstable version of it should be
behind an experimental flag.
2022-06-08 09:00:35 -04:00
reivilibre
3c8f1290b8
Use a GitHub form for issues rather than a hard-to-read, easy-to-ignore template. ( #12982 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-06-08 11:11:02 +00:00
reivilibre
67f51c84f8
Merge the Complement testing Docker images into a single, multi-purpose image. ( #12881 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-06-08 09:57:05 +00:00
James
c316fe8d4a
Docker Compose Worker Documentation and Examples ( #12737 )
2022-06-08 10:26:42 +01:00
Sean Quah
3c1c40d843
Clean up the test code for client disconnections ( #12929 )
...
* Reword failure message about `await_result=False`
* Use `reactor.advance()` instead of `reactor.pump()`
* Raise `AssertionError`s ourselves
* Un-instance method `_test_disconnect`
* Replace `ThreadedMemoryReactorClock` with `MemoryReactorClock`
2022-06-07 18:17:32 +01:00
David Robertson
586bfc6dc0
Use dummy fallback engines if imports fail ( #12979 )
2022-06-07 17:33:55 +01:00
Sean Quah
a10cc5f824
Test cancellation at every `await` during request handling ( #12674 )
...
* Add tests for `/rooms/<room_id>/members` cancellation.
* Add tests for `/rooms/<room_id>/state` cancellation.
Signed-off-by: Sean Quah <seanq@element.io>
2022-06-07 17:14:47 +01:00
Olivier Wilkinson (reivilibre)
00d915b2a7
Merge branch 'master' into develop
2022-06-07 16:59:41 +01:00
Daniel Aloni
b5a3aecf18
Return the same error message from `/login` when password is incorrect and when account doesn't exist. ( #12738 )
2022-06-07 14:58:48 +00:00
David Robertson
f30bcbd84a
Fix Synapse git info missing in version strings ( #12973 )
2022-06-07 15:24:11 +01:00
Erik Johnston
a7e506ddee
Reduce amount of state we pull out when attempting to send catchup PDUs. ( #12963 )
...
* Don't pull out state for catchup
* Newsfile
* Merge newsfile
2022-06-07 14:35:56 +01:00
Olivier Wilkinson (reivilibre)
495fbf5d63
1.61.0rc1
2022-06-07 13:18:02 +01:00
Patrick Cloke
d2fd7f7b5c
Fix a stale comment in get_room_version_id_txn. ( #12969 )
2022-06-07 07:44:31 -04:00
Patrick Cloke
9dc3293e0b
Consolidate the logic of delete_device/delete_devices. ( #12970 )
...
By always using delete_devices and sometimes passing a list
with a single device ID.
Previously these methods had gotten out of sync with each
other and it seems there's little benefit to the single-device
variant.
2022-06-07 07:43:35 -04:00
Andrew Morgan
c51f5b9592
Prevent breaking old sqlite's when media retention is enabled ( #12977 )
2022-06-07 11:28:08 +00:00
Andrew Morgan
a47636c570
Prevent local quarantined media from being claimed by media retention ( #12972 )
2022-06-07 10:53:47 +00:00
Patrick Cloke
f7baffd8ec
Remove remaining pieces of groups code. ( #12966 )
...
* Remove an unused stream ID generator.
* Remove the now unused remote profile cache.
2022-06-06 13:20:05 -04:00
Erik Johnston
44de53bb79
Reduce state pulled from DB due to sending typing and receipts over federation ( #12964 )
...
Reducing the amount of state we pull from the DB is useful as fetching state is expensive in terms of DB, CPU and memory.
2022-06-06 16:46:11 +01:00
Patrick Cloke
148fe58a24
Do not break URL previews if an image is unreachable. ( #12950 )
...
Avoid breaking a URL preview completely if the chosen image 404s
or is unreachable for some other reason (e.g. DNS).
2022-06-06 07:46:04 -04:00
Patrick Cloke
1acc897c31
Implement MSC3816, consider the root event for thread participation. ( #12766 )
...
As opposed to only considering a user to have "participated" if they
replied to the thread.
2022-06-06 07:18:04 -04:00
Jan Christian Grünhage
fcd8703508
Allow updating passwords using the admin api without logging out devices ( #12952 )
2022-06-06 12:10:13 +01:00
Erik Johnston
e3163e2e11
Reduce the amount of state we pull from the DB ( #12811 )
2022-06-06 09:24:12 +01:00
Patrick Cloke
6b46c3eb3d
Remove groups code from synapse_port_db. ( #12899 )
2022-06-03 12:13:35 -04:00
Patrick Cloke
01df5bacac
Improve URL previews for some pages ( #12951 )
...
* Skip `og` and `meta` tags where the value is empty.
* Fallback to the favicon if there are no other images.
* Ignore tags meant for navigation.
2022-06-03 12:09:12 -04:00
Erik Johnston
888a29f412
Wait for lazy join to complete when getting current state ( #12872 )
2022-06-01 16:02:53 +01:00
Michael Telatynski
782cb7420a
Fix complement tests using the wrong path ( #12933 )
2022-06-01 15:57:09 +01:00
Patrick Cloke
7bc08f3201
Remove remaining bits of groups code. ( #12936 )
...
* Update worker docs to remove group endpoints.
* Removes an unused parameter to `ApplicationService`.
* Break dependency between media repo and groups.
* Avoid copying `m.room.related_groups` state events during room upgrades.
2022-06-01 09:41:25 -04:00
Jacek Kuśnierz
88193f2125
Remove direct refeferences to PyNaCl (use signedjson instead). ( #12902 )
2022-06-01 07:32:35 -04:00
Richard van der Hoff
79dadf7216
Fix 404 on `/sync` when the last event is a redaction of an unknown/purged event ( #12905 )
...
Currently, we try to pull the event corresponding to a sync token from the database. However, when
we fetch redaction events, we check the target of that redaction (because we aren't allowed to send
redactions to clients without validating them). So, if the sync token points to a redaction of an event
that we don't have, we have a problem.
It turns out we don't really need that event, and can just work with its ID and metadata, which
sidesteps the whole problem.
2022-06-01 11:29:51 +00:00
Erik Johnston
5949ab86f8
Fix potential thumbnail memory leaks. ( #12932 )
2022-06-01 10:57:49 +00:00
Patrick Cloke
2e8763ec96
Remove most groups datastore code. ( #12895 )
...
The remaining piece is a background update that is needed
for backwards compatibility.
2022-05-31 20:28:17 -04:00
Richard van der Hoff
f0aec0abef
Improve logging when signature checks fail ( #12925 )
...
* Raise a dedicated `InvalidEventSignatureError` from `_check_sigs_on_pdu`
* Downgrade logging about redactions to DEBUG
this can be very spammy during a room join, and it's not very useful.
* Raise `InvalidEventSignatureError` from `_check_sigs_and_hash`
... and, more importantly, move the logging out to the callers.
* changelog
2022-05-31 23:32:56 +01:00
Patrick Cloke
cf05258f76
Remove groups replication code. ( #12900 )
...
The replication logic for groups is no longer used, so the message
passing infrastructure can be removed.
2022-05-31 13:04:08 -04:00
Andrew Morgan
2fc787c341
Add config options for media retention ( #12732 )
2022-05-31 16:35:29 +00:00
Sean Quah
641908f72f
Faster room joins: Resume state re-syncing after a Synapse restart ( #12813 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-05-31 15:15:08 +00:00
Sean Quah
2fba1076c5
Faster room joins: Try other destinations when resyncing the state of a partial-state room ( #12812 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-05-31 15:50:29 +01:00
reivilibre
bf01e51554
Test Synapse against Complement with workers. ( #12810 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-05-31 13:02:00 +00:00
Erik Johnston
c8684e6792
Reduce DB load of /sync when using presence ( #12885 )
...
While the query was fast, we were calling it *a lot*.
2022-05-31 13:01:05 +00:00
Richard van der Hoff
5e17922ef7
Stop reading from `event_edges.room_id`. ( #12914 )
...
event_edges.room_id is implied by the event id, so there is no need to join on the room id.
2022-05-31 13:51:49 +01:00
Erik Johnston
1e453053cb
Rename storage classes ( #12913 )
2022-05-31 12:17:50 +00:00
Patrick Cloke
e541bb9eed
Rework stream token to stop caring about groups. ( #12897 )
2022-05-31 07:42:50 -04:00
Travis Ralston
d0e40dfe29
Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12923 )
2022-05-31 08:42:18 +01:00
Travis Ralston
bcfdfeb65d
Revert "Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12922 )"
...
This reverts commit e0fae823e9
.
2022-05-30 20:29:40 -06:00
Travis Ralston
e0fae823e9
Fix M_USER_ACCOUNT_SUSPENDED error code for spec compliance ( #12922 )
...
`M_` is a reserved namespace.
2022-05-31 02:27:19 +00:00
Jacek Kuśnierz
c4f548e05d
Don't return `end` from `/messages` if there are no more events ( #12903 )
...
Signed-off-by: Jacek Kusnierz <jacek.kusnierz@tum.de>
2022-05-30 21:03:52 +01:00
Brendan Abolivier
cd9fc058de
Document the Synapse version of a new module API method ( #12917 )
2022-05-30 18:37:52 +02:00
David Teller
af7db19e1e
Uniformize spam-checker API, part 3: Expand check_event_for_spam with the ability to return additional fields ( #12846 )
...
Signed-off-by: David Teller <davidt@element.io>
2022-05-30 18:24:56 +02:00
Mathieu Velten
1fd1856afc
demo: check if we are in a virtualenv before overriding PYTHONPATH ( #12916 )
2022-05-30 15:41:24 +00:00
Mathieu Velten
7f92ac4c1c
Add a migration step to cleanup potential leftovers of bug 11833 ( #12784 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-05-30 16:51:37 +02:00
DeepBlueV7.X
b10211871f
Fix invite notifications for users without pushers ( #12840 )
...
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
Co-authored-by: Brendan Abolivier <github@brendanabolivier.com>
2022-05-30 13:14:43 +02:00
Richard van der Hoff
2480461879
Fix `get_metadata_for_events` ( #12904 )
...
This method was introduced in #12852 . It is using the `state_key` column from
the `events` table, which is not (yet) reliable (see #11496 ).
2022-05-30 10:51:09 +01:00
David Robertson
119938792b
Remove unused `contrib/experiments/cursesio.py` ( #12910 )
2022-05-30 10:47:54 +01:00
David Robertson
80bd614dac
Remove `contrib/experiments/test_messaging.py` ( #12911 )
2022-05-30 10:47:47 +01:00
David Robertson
563ef172ae
Remove contrib/jitsimeetbridge ( #12909 )
2022-05-30 10:47:40 +01:00
David Robertson
72df42078b
Remove contrib/scripts/kick_users.py ( #12908 )
2022-05-30 10:47:25 +01:00
David Robertson
796a0312e1
Bump jsonschema stubs ( #12912 )
2022-05-30 10:47:09 +01:00
Jonathan de Jong
6be4953b99
Mutual rooms: Remove dependency on user directory ( #12836 )
2022-05-30 10:05:31 +01:00
Sumner Evans
bda4600399
LockStore: fix acquiring a lock via `LockStore.try_acquire_lock` ( #12832 )
...
Signed-off-by: Sumner Evans <sumner@beeper.com>
2022-05-30 09:41:13 +01:00
Brendan Abolivier
28989cb301
Add a background job to automatically delete stale devices ( #12855 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-05-27 17:47:32 +02:00
David Teller
888eb736a1
Add code M_USER_ACCOUNT_SUSPENDED, as per MSC3823. ( #12845 )
...
Signed-off-by: David Teller <davidt@element.io>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-05-27 13:13:29 +00:00
Patrick Cloke
724e11d620
Clean-up some receipts code ( #12888 )
...
* Properly marks private methods as private.
* Adds missing docstrings.
* Rework inline methods.
2022-05-27 07:44:10 -04:00
Patrick Cloke
c52abc1cfd
Additional constants for EDU types. ( #12884 )
...
Instead of hard-coding strings in many places.
2022-05-27 07:14:36 -04:00
Patrick Cloke
d9f092285b
Remove federation client code for groups. ( #12563 )
2022-05-27 07:13:58 -04:00
Matt C
a7da00d4f7
Add storage and module API methods to get monthly active users and their appservices ( #12838 )
2022-05-27 10:25:57 +00:00
David Robertson
3503f42741
Easy type hints in synapse.logging.opentracing ( #12894 )
2022-05-27 11:17:33 +01:00
Richard van der Hoff
f1605b7447
Fix room deletion ( #12889 )
...
* Fix room deletion
ae7858f
broke room deletion by attempting to delete the entry from `rooms`
before the tables that reference it.
* faster_joins: remove database rows on purge
2022-05-27 10:31:08 +01:00
Richard van der Hoff
bc1beebc27
Refactor have_seen_events to reduce OOMs ( #12886 )
...
My server is currently OOMing in the middle of have_seen_events, so let's try
to fix that.
2022-05-27 10:27:33 +01:00
Patrick Cloke
49f06866e4
Remove backing code for groups/communities ( #12558 )
...
Including handlers, configuration code, appservice support, and
the GroupID construct.
2022-05-26 09:04:34 -04:00
dependabot[bot]
1cba285a79
Bump pyjwt from 2.3.0 to 2.4.0 ( #12865 )
...
Bumps [pyjwt](https://github.com/jpadilla/pyjwt ) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.3.0...2.4.0 )
---
updated-dependencies:
- dependency-name: pyjwt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-26 12:42:21 +00:00
reivilibre
e768644368
Fix ambiguous column name that would prevent use of MSC2716 History Import when using Postgres as a database. ( #12843 )
2022-05-26 11:19:01 +00:00
Patrick Cloke
1885ee0113
Remove unstable APIs for /hierarchy. ( #12851 )
...
Removes the unstable endpoint as well as a duplicated field
which was modified during stabilization.
2022-05-26 07:10:28 -04:00
Patrick Cloke
b5707ceaba
Avoid attempting to delete push actions for remote users. ( #12879 )
...
Remote users will never have push actions, so we can avoid a database
round-trip/transaction completely.
2022-05-26 07:09:16 -04:00
Erik Johnston
b83bc5fab5
Pull out less state when handling gaps mk2 ( #12852 )
2022-05-26 09:48:12 +00:00
Richard van der Hoff
1b338476af
Allow bigger responses to `/federation/v1/state` ( #12877 )
...
* Refactor HTTP response size limits
Rather than passing a separate `max_response_size` down the stack, make it an
attribute of the `parser`.
* Allow bigger responses on `federation/v1/state`
`/state` can return huge responses, so we need to handle that.
2022-05-25 22:24:28 +01:00
Erik Johnston
4660d9fdcf
Fix up `state_store` naming ( #12871 )
2022-05-25 12:59:04 +01:00
Patrick Cloke
a8db8c6eba
Remove user-visible groups/communities code ( #12553 )
...
Makes it so that groups/communities no longer exist from a user-POV. E.g. we remove:
* All API endpoints (including Client-Server, Server-Server, and admin).
* Documented configuration options (and the experimental flag, which is now unused).
* Special handling during room upgrades.
* The `groups` section of the `/sync` response.
2022-05-25 07:53:40 -04:00
Patrick Cloke
759f9c09e1
Fix caching behavior for relations push rules. ( #12859 )
...
By always returning all requested values from the function
wrapped by cachedList. Otherwise implicit None values get
added into the cache, which are unexpected.
2022-05-25 07:49:54 -04:00
Patrick Cloke
4cbcd4a999
Misc clean-up of push rules datastore ( #12856 )
2022-05-25 07:49:12 -04:00
David Robertson
6aeee9a19d
Correct typo in changelog for #12858 .
2022-05-25 11:19:22 +01:00
Nick Mills-Barrett
1f9013ce60
Add the `batch_send` endpoint to generic workers ( #12868 )
2022-05-25 09:51:07 +00:00
Nick Mills-Barrett
33e2916858
Don't create empty AS txns when the AS is down ( #12869 )
2022-05-25 09:46:05 +00:00
Nick Mills-Barrett
2e5f88b5e6
Add the `/account/whoami` endpoint to generic workers ( #12866 )
2022-05-25 10:41:41 +01:00
Nick Mills-Barrett
b4fab0b14f
Fix incorrect worker-allowed path in documentation ( #12867 )
2022-05-25 09:20:34 +00:00
Carl Bordum Hansen
774ac4930d
Make sure `prev_ids` defaults to empty list ( #12829 )
...
Signed-off-by: Carl Bordum Hansen <carl@bordum.dk>
2022-05-25 09:14:45 +00:00
Dirk Klimpel
298911555c
Fix typos in documentation ( #12863 )
2022-05-25 10:14:03 +01:00
David Robertson
e7c77a8750
Correct annotation of `_iterate_over_text` ( #12860 )
2022-05-24 18:17:21 +00:00
David Robertson
81d9f2a8e9
Fixes to MSC3787 implementation ( #12858 )
2022-05-24 16:50:50 +00:00
Šimon Brandner
042e47970b
Remove `dont_notify` from the `.m.rule.room.server_acl` rule ( #12849 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-05-24 17:42:32 +01:00
Will Hunt
6855024e0a
Add authentication to thirdparty bridge APIs ( #12746 )
...
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
2022-05-24 16:39:54 +02:00
Sean Quah
5d9f886aab
Synapse 1.60.0rc1 (2022-05-24)
...
==============================
This release of Synapse adds a unique index to the `state_group_edges` table, in
order to prevent accidentally introducing duplicate information (for example,
because a database backup was restored multiple times). If your Synapse database
already has duplicate rows in this table, this could fail with an error and
require manual remediation.
Additionally, the signature of the `check_event_for_spam` module callback has changed.
The previous signature has been deprecated and remains working for now. Module authors
should update their modules to use the new signature where possible.
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600 )
for more details.
Features
--------
- Measure the time taken in spam-checking callbacks and expose those measurements as metrics. ([\#12513](https://github.com/matrix-org/synapse/issues/12513 ))
- Add a `default_power_level_content_override` config option to set default room power levels per room preset. ([\#12618](https://github.com/matrix-org/synapse/issues/12618 ))
- Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787 ). ([\#12623](https://github.com/matrix-org/synapse/issues/12623 ))
- Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ([\#12672](https://github.com/matrix-org/synapse/issues/12672 ), [\#12809](https://github.com/matrix-org/synapse/issues/12809 ))
- Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching ) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP ) signal. ([\#12673](https://github.com/matrix-org/synapse/issues/12673 ))
- Add a config options to allow for auto-tuning of caches. ([\#12701](https://github.com/matrix-org/synapse/issues/12701 ))
- Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered. ([\#12718](https://github.com/matrix-org/synapse/issues/12718 ))
- Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency. ([\#12744](https://github.com/matrix-org/synapse/issues/12744 ))
- Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818 ). ([\#12786](https://github.com/matrix-org/synapse/issues/12786 ), [\#12792](https://github.com/matrix-org/synapse/issues/12792 ))
- Update to the `check_event_for_spam` module callback. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). ([\#12808](https://github.com/matrix-org/synapse/issues/12808 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled. ([\#12611](https://github.com/matrix-org/synapse/issues/12611 ))
- Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room. ([\#12683](https://github.com/matrix-org/synapse/issues/12683 ))
- Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ([\#12687](https://github.com/matrix-org/synapse/issues/12687 ))
- Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room. ([\#12696](https://github.com/matrix-org/synapse/issues/12696 ))
- Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set. ([\#12713](https://github.com/matrix-org/synapse/issues/12713 ))
- Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper. ([\#12721](https://github.com/matrix-org/synapse/issues/12721 ))
- Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers. ([\#12747](https://github.com/matrix-org/synapse/issues/12747 ))
- Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API. ([\#12770](https://github.com/matrix-org/synapse/issues/12770 ))
- Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ([\#12779](https://github.com/matrix-org/synapse/issues/12779 ))
- Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar. ([\#12794](https://github.com/matrix-org/synapse/issues/12794 ))
- Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers. ([\#12803](https://github.com/matrix-org/synapse/issues/12803 ))
- Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background. ([\#12823](https://github.com/matrix-org/synapse/issues/12823 ))
Updates to the Docker image
---------------------------
- Fix the docker file after a dependency update. ([\#12853](https://github.com/matrix-org/synapse/issues/12853 ))
Improved Documentation
----------------------
- Fix a typo in the Media Admin API documentation. ([\#12715](https://github.com/matrix-org/synapse/issues/12715 ))
- Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh. ([\#12727](https://github.com/matrix-org/synapse/issues/12727 ))
- Fix typo in server listener documentation. ([\#12742](https://github.com/matrix-org/synapse/issues/12742 ))
- Link to the configuration manual from the welcome page of the documentation. ([\#12748](https://github.com/matrix-org/synapse/issues/12748 ))
- Fix typo in `run_background_tasks_on` option name in configuration manual documentation. ([\#12749](https://github.com/matrix-org/synapse/issues/12749 ))
- Add information regarding the `rc_invites` ratelimiting option to the configuration docs. ([\#12759](https://github.com/matrix-org/synapse/issues/12759 ))
- Add documentation for cancellation of request processing. ([\#12761](https://github.com/matrix-org/synapse/issues/12761 ))
- Recommend using docker to run tests against postgres. ([\#12765](https://github.com/matrix-org/synapse/issues/12765 ))
- Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari. ([\#12773](https://github.com/matrix-org/synapse/issues/12773 ))
- Add additional info to documentation of config option `cache_autotuning`. ([\#12776](https://github.com/matrix-org/synapse/issues/12776 ))
- Update configuration manual documentation to document size-related suffixes. ([\#12777](https://github.com/matrix-org/synapse/issues/12777 ))
- Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option. ([\#12785](https://github.com/matrix-org/synapse/issues/12785 ))
Deprecations and Removals
-------------------------
- Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid ). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts. ([\#12709](https://github.com/matrix-org/synapse/issues/12709 ))
Internal Changes
----------------
- Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. ([\#10533](https://github.com/matrix-org/synapse/issues/10533 ))
- Preparation for faster-room-join work: return subsets of room state which we already have, immediately. ([\#12498](https://github.com/matrix-org/synapse/issues/12498 ))
- Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect. ([\#12586](https://github.com/matrix-org/synapse/issues/12586 ), [\#12588](https://github.com/matrix-org/synapse/issues/12588 ), [\#12630](https://github.com/matrix-org/synapse/issues/12630 ), [\#12694](https://github.com/matrix-org/synapse/issues/12694 ), [\#12698](https://github.com/matrix-org/synapse/issues/12698 ), [\#12699](https://github.com/matrix-org/synapse/issues/12699 ), [\#12700](https://github.com/matrix-org/synapse/issues/12700 ), [\#12705](https://github.com/matrix-org/synapse/issues/12705 ))
- Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests. ([\#12708](https://github.com/matrix-org/synapse/issues/12708 ))
- Improve documentation of the `synapse.push` module. ([\#12676](https://github.com/matrix-org/synapse/issues/12676 ))
- Refactor functions to on `PushRuleEvaluatorForEvent`. ([\#12677](https://github.com/matrix-org/synapse/issues/12677 ))
- Preparation for database schema simplifications: stop writing to `event_reference_hashes`. ([\#12679](https://github.com/matrix-org/synapse/issues/12679 ))
- Remove code which updates unused database column `application_services_state.last_txn`. ([\#12680](https://github.com/matrix-org/synapse/issues/12680 ))
- Refactor `EventContext` class. ([\#12689](https://github.com/matrix-org/synapse/issues/12689 ))
- Remove an unneeded class in the push code. ([\#12691](https://github.com/matrix-org/synapse/issues/12691 ))
- Consolidate parsing of relation information from events. ([\#12693](https://github.com/matrix-org/synapse/issues/12693 ))
- Convert namespace class `Codes` into a string enum. ([\#12703](https://github.com/matrix-org/synapse/issues/12703 ))
- Optimize private read receipt filtering. ([\#12711](https://github.com/matrix-org/synapse/issues/12711 ))
- Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG. ([\#12720](https://github.com/matrix-org/synapse/issues/12720 ))
- Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports. ([\#12723](https://github.com/matrix-org/synapse/issues/12723 ))
- Update configs used by Complement to allow more invites/3PID validations during tests. ([\#12731](https://github.com/matrix-org/synapse/issues/12731 ))
- Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar. ([\#12762](https://github.com/matrix-org/synapse/issues/12762 ))
- Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`. ([\#12769](https://github.com/matrix-org/synapse/issues/12769 ))
- Move methods that call `add_push_rule` to the `PushRuleStore` class. ([\#12772](https://github.com/matrix-org/synapse/issues/12772 ))
- Make handling of federation Authorization header (more) compliant with RFC7230. ([\#12774](https://github.com/matrix-org/synapse/issues/12774 ))
- Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ([\#12775](https://github.com/matrix-org/synapse/issues/12775 ))
- Do not keep going if there are 5 back-to-back background update failures. ([\#12781](https://github.com/matrix-org/synapse/issues/12781 ))
- Fix federation when using the demo scripts. ([\#12783](https://github.com/matrix-org/synapse/issues/12783 ))
- The `hash_password` script now fails when it is called without specifying a config file. Contributed by @jae1911. ([\#12789](https://github.com/matrix-org/synapse/issues/12789 ))
- Improve and fix type hints. ([\#12567](https://github.com/matrix-org/synapse/issues/12567 ), [\#12477](https://github.com/matrix-org/synapse/issues/12477 ), [\#12717](https://github.com/matrix-org/synapse/issues/12717 ), [\#12753](https://github.com/matrix-org/synapse/issues/12753 ), [\#12695](https://github.com/matrix-org/synapse/issues/12695 ), [\#12734](https://github.com/matrix-org/synapse/issues/12734 ), [\#12716](https://github.com/matrix-org/synapse/issues/12716 ), [\#12726](https://github.com/matrix-org/synapse/issues/12726 ), [\#12790](https://github.com/matrix-org/synapse/issues/12790 ), [\#12833](https://github.com/matrix-org/synapse/issues/12833 ))
- Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible. ([\#12791](https://github.com/matrix-org/synapse/issues/12791 ))
- Remove Caddy from the Synapse workers image used in Complement. ([\#12818](https://github.com/matrix-org/synapse/issues/12818 ))
- Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it. ([\#12819](https://github.com/matrix-org/synapse/issues/12819 ))
- Support registering Application Services when running with workers under Complement. ([\#12826](https://github.com/matrix-org/synapse/issues/12826 ))
- Disable 'faster room join' Complement tests when testing against Synapse with workers. ([\#12842](https://github.com/matrix-org/synapse/issues/12842 ))
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEWMTnW8Z8khaaf90R+84KzgcyGG8FAmKM0+wACgkQ+84Kzgcy
GG/yxwv/ZlGP+H6eE4cF0Bv2LPiyj7RuJl0oC3lj+ebLLfnNKwzDYx3y4u0nMYSJ
KrTn3dQOhRuY54+dbK3imlHswxWr2f+xX2ouN3/y3WOGaduojgGc/Tir2sk61FM6
mljLC4dwER2uKlXo4wqrUdtMHEWZ8EM85NI+sbUIDJbXrolf3fXfr8aWReElx3YH
z6eFS8qFgH7jKvaf/0V4jAS7ue0JkPElQLUctDTPpuL9FWC3mcV1dIbf6FZp5GnD
fGyfl7810JtfHZtFOfMb9NculmlvfndiF8lpGX+wpdWIrdMHQJlcLDDCTtAKDpED
9wphX7RY/Z1CKsHXEK/7GKH/AcL7dDR7t1X1XMvwYXxoLH+JJ+2r2C0c0jh6pAhk
23prI/yUZ8YUOvrMYYuhCl5YA4ZAGP2H4j4Cu9v5WNi9gAEPUBhb/p86nM4Pgpng
5Di7PYKWzrpbZSiRidHVniGOHSygdLZ68RzT6s/5Pvkfn8dRMjm4okbVpA8pIzKM
oqk/hrqt
=hQ5p
-----END PGP SIGNATURE-----
Merge tag 'v1.60.0rc1' into develop
Synapse 1.60.0rc1 (2022-05-24)
==============================
This release of Synapse adds a unique index to the `state_group_edges` table, in
order to prevent accidentally introducing duplicate information (for example,
because a database backup was restored multiple times). If your Synapse database
already has duplicate rows in this table, this could fail with an error and
require manual remediation.
Additionally, the signature of the `check_event_for_spam` module callback has changed.
The previous signature has been deprecated and remains working for now. Module authors
should update their modules to use the new signature where possible.
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600 )
for more details.
Features
--------
- Measure the time taken in spam-checking callbacks and expose those measurements as metrics. ([\#12513](https://github.com/matrix-org/synapse/issues/12513 ))
- Add a `default_power_level_content_override` config option to set default room power levels per room preset. ([\#12618](https://github.com/matrix-org/synapse/issues/12618 ))
- Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787 ). ([\#12623](https://github.com/matrix-org/synapse/issues/12623 ))
- Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ([\#12672](https://github.com/matrix-org/synapse/issues/12672 ), [\#12809](https://github.com/matrix-org/synapse/issues/12809 ))
- Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching ) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP ) signal. ([\#12673](https://github.com/matrix-org/synapse/issues/12673 ))
- Add a config options to allow for auto-tuning of caches. ([\#12701](https://github.com/matrix-org/synapse/issues/12701 ))
- Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 ) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered. ([\#12718](https://github.com/matrix-org/synapse/issues/12718 ))
- Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency. ([\#12744](https://github.com/matrix-org/synapse/issues/12744 ))
- Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818 ). ([\#12786](https://github.com/matrix-org/synapse/issues/12786 ), [\#12792](https://github.com/matrix-org/synapse/issues/12792 ))
- Update to the `check_event_for_spam` module callback. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). ([\#12808](https://github.com/matrix-org/synapse/issues/12808 ))
Bugfixes
--------
- Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled. ([\#12611](https://github.com/matrix-org/synapse/issues/12611 ))
- Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room. ([\#12683](https://github.com/matrix-org/synapse/issues/12683 ))
- Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ([\#12687](https://github.com/matrix-org/synapse/issues/12687 ))
- Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room. ([\#12696](https://github.com/matrix-org/synapse/issues/12696 ))
- Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set. ([\#12713](https://github.com/matrix-org/synapse/issues/12713 ))
- Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper. ([\#12721](https://github.com/matrix-org/synapse/issues/12721 ))
- Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers. ([\#12747](https://github.com/matrix-org/synapse/issues/12747 ))
- Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API. ([\#12770](https://github.com/matrix-org/synapse/issues/12770 ))
- Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ([\#12779](https://github.com/matrix-org/synapse/issues/12779 ))
- Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar. ([\#12794](https://github.com/matrix-org/synapse/issues/12794 ))
- Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers. ([\#12803](https://github.com/matrix-org/synapse/issues/12803 ))
- Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background. ([\#12823](https://github.com/matrix-org/synapse/issues/12823 ))
Updates to the Docker image
---------------------------
- Fix the docker file after a dependency update. ([\#12853](https://github.com/matrix-org/synapse/issues/12853 ))
Improved Documentation
----------------------
- Fix a typo in the Media Admin API documentation. ([\#12715](https://github.com/matrix-org/synapse/issues/12715 ))
- Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh. ([\#12727](https://github.com/matrix-org/synapse/issues/12727 ))
- Fix typo in server listener documentation. ([\#12742](https://github.com/matrix-org/synapse/issues/12742 ))
- Link to the configuration manual from the welcome page of the documentation. ([\#12748](https://github.com/matrix-org/synapse/issues/12748 ))
- Fix typo in `run_background_tasks_on` option name in configuration manual documentation. ([\#12749](https://github.com/matrix-org/synapse/issues/12749 ))
- Add information regarding the `rc_invites` ratelimiting option to the configuration docs. ([\#12759](https://github.com/matrix-org/synapse/issues/12759 ))
- Add documentation for cancellation of request processing. ([\#12761](https://github.com/matrix-org/synapse/issues/12761 ))
- Recommend using docker to run tests against postgres. ([\#12765](https://github.com/matrix-org/synapse/issues/12765 ))
- Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari. ([\#12773](https://github.com/matrix-org/synapse/issues/12773 ))
- Add additional info to documentation of config option `cache_autotuning`. ([\#12776](https://github.com/matrix-org/synapse/issues/12776 ))
- Update configuration manual documentation to document size-related suffixes. ([\#12777](https://github.com/matrix-org/synapse/issues/12777 ))
- Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option. ([\#12785](https://github.com/matrix-org/synapse/issues/12785 ))
Deprecations and Removals
-------------------------
- Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid ). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts. ([\#12709](https://github.com/matrix-org/synapse/issues/12709 ))
Internal Changes
----------------
- Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. ([\#10533](https://github.com/matrix-org/synapse/issues/10533 ))
- Preparation for faster-room-join work: return subsets of room state which we already have, immediately. ([\#12498](https://github.com/matrix-org/synapse/issues/12498 ))
- Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect. ([\#12586](https://github.com/matrix-org/synapse/issues/12586 ), [\#12588](https://github.com/matrix-org/synapse/issues/12588 ), [\#12630](https://github.com/matrix-org/synapse/issues/12630 ), [\#12694](https://github.com/matrix-org/synapse/issues/12694 ), [\#12698](https://github.com/matrix-org/synapse/issues/12698 ), [\#12699](https://github.com/matrix-org/synapse/issues/12699 ), [\#12700](https://github.com/matrix-org/synapse/issues/12700 ), [\#12705](https://github.com/matrix-org/synapse/issues/12705 ))
- Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests. ([\#12708](https://github.com/matrix-org/synapse/issues/12708 ))
- Improve documentation of the `synapse.push` module. ([\#12676](https://github.com/matrix-org/synapse/issues/12676 ))
- Refactor functions to on `PushRuleEvaluatorForEvent`. ([\#12677](https://github.com/matrix-org/synapse/issues/12677 ))
- Preparation for database schema simplifications: stop writing to `event_reference_hashes`. ([\#12679](https://github.com/matrix-org/synapse/issues/12679 ))
- Remove code which updates unused database column `application_services_state.last_txn`. ([\#12680](https://github.com/matrix-org/synapse/issues/12680 ))
- Refactor `EventContext` class. ([\#12689](https://github.com/matrix-org/synapse/issues/12689 ))
- Remove an unneeded class in the push code. ([\#12691](https://github.com/matrix-org/synapse/issues/12691 ))
- Consolidate parsing of relation information from events. ([\#12693](https://github.com/matrix-org/synapse/issues/12693 ))
- Convert namespace class `Codes` into a string enum. ([\#12703](https://github.com/matrix-org/synapse/issues/12703 ))
- Optimize private read receipt filtering. ([\#12711](https://github.com/matrix-org/synapse/issues/12711 ))
- Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG. ([\#12720](https://github.com/matrix-org/synapse/issues/12720 ))
- Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports. ([\#12723](https://github.com/matrix-org/synapse/issues/12723 ))
- Update configs used by Complement to allow more invites/3PID validations during tests. ([\#12731](https://github.com/matrix-org/synapse/issues/12731 ))
- Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar. ([\#12762](https://github.com/matrix-org/synapse/issues/12762 ))
- Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`. ([\#12769](https://github.com/matrix-org/synapse/issues/12769 ))
- Move methods that call `add_push_rule` to the `PushRuleStore` class. ([\#12772](https://github.com/matrix-org/synapse/issues/12772 ))
- Make handling of federation Authorization header (more) compliant with RFC7230. ([\#12774](https://github.com/matrix-org/synapse/issues/12774 ))
- Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ([\#12775](https://github.com/matrix-org/synapse/issues/12775 ))
- Do not keep going if there are 5 back-to-back background update failures. ([\#12781](https://github.com/matrix-org/synapse/issues/12781 ))
- Fix federation when using the demo scripts. ([\#12783](https://github.com/matrix-org/synapse/issues/12783 ))
- The `hash_password` script now fails when it is called without specifying a config file. Contributed by @jae1911. ([\#12789](https://github.com/matrix-org/synapse/issues/12789 ))
- Improve and fix type hints. ([\#12567](https://github.com/matrix-org/synapse/issues/12567 ), [\#12477](https://github.com/matrix-org/synapse/issues/12477 ), [\#12717](https://github.com/matrix-org/synapse/issues/12717 ), [\#12753](https://github.com/matrix-org/synapse/issues/12753 ), [\#12695](https://github.com/matrix-org/synapse/issues/12695 ), [\#12734](https://github.com/matrix-org/synapse/issues/12734 ), [\#12716](https://github.com/matrix-org/synapse/issues/12716 ), [\#12726](https://github.com/matrix-org/synapse/issues/12726 ), [\#12790](https://github.com/matrix-org/synapse/issues/12790 ), [\#12833](https://github.com/matrix-org/synapse/issues/12833 ))
- Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible. ([\#12791](https://github.com/matrix-org/synapse/issues/12791 ))
- Remove Caddy from the Synapse workers image used in Complement. ([\#12818](https://github.com/matrix-org/synapse/issues/12818 ))
- Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it. ([\#12819](https://github.com/matrix-org/synapse/issues/12819 ))
- Support registering Application Services when running with workers under Complement. ([\#12826](https://github.com/matrix-org/synapse/issues/12826 ))
- Disable 'faster room join' Complement tests when testing against Synapse with workers. ([\#12842](https://github.com/matrix-org/synapse/issues/12842 ))
2022-05-24 15:38:38 +01:00
Patrick Cloke
88ce3080d4
Experimental support for MSC3772 ( #12740 )
...
Implements the following behind an experimental configuration flag:
* A new push rule kind for mutually related events.
* A new default push rule (`.m.rule.thread_reply`) under an unstable prefix.
This is missing part of MSC3772:
* The `.m.rule.thread_reply_to_me` push rule, this depends on MSC3664 / #11804 .
2022-05-24 13:23:23 +00:00
Sean Quah
a670b5cda2
1.60.0rc1
2022-05-24 12:05:33 +01:00
Erik Johnston
f5b1c09909
Pin poetry.core in Docker images ( #12853 )
2022-05-24 11:35:08 +01:00
Eric Eastwood
7c2a78bb3b
Marker events as state - MSC2716 ( #12718 )
...
Sending marker events as state now so they are always able to be seen by homeservers (not lost in some timeline gap).
Part of [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716 )
Complement tests: https://github.com/matrix-org/complement/pull/371
As initially discussed at https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r782629097 and https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r876684431
When someone joins a room, process all of the marker events we see in the current state. Marker events should be sent with a unique `state_key` so that they can all resolve in the current state to easily be discovered. Marker events as state
- If we re-use the same `state_key` (like `""`), then we would have to fetch previous snapshots of state up through time to find all of the marker events. This way we can avoid all of that. This PR was originally doing this but then thought of the smarter way to tackle in an [out of band discussion with @erikjohnston](https://docs.google.com/document/d/1JJDuPfcPNX75fprdTWlxlaKjWOdbdJylbpZ03hzo638/edit#bookmark=id.sm92fqyq7vpp ).
- Also avoids state resolution conflicts where only one of the marker events win
As a homeserver, when we see new marker state, we know there is new history imported somewhere back in time and should process it to fetch the insertion event where the historical messages are and set it as an insertion extremity. This way we know where to backfill more messages when someone asks for scrollback.
2022-05-23 20:43:37 -05:00
David Teller
28199e9357
Uniformize spam-checker API, part 2: check_event_for_spam ( #12808 )
...
Signed-off-by: David Teller <davidt@element.io>
2022-05-23 17:27:39 +00:00
Brendan Abolivier
4cc4229cd7
Prevent expired events from being filtered out when retention is disabled ( #12611 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-05-23 17:18:23 +00:00
Jess Porter
a608ac847b
add SpamChecker callback for silently dropping inbound federated events ( #12744 )
...
Signed-off-by: jesopo <github@lolnerd.net>
2022-05-23 16:36:21 +00:00
reivilibre
7a68203cde
Disable 'faster room join' Complement tests when testing against Synapse with workers. ( #12842 )
2022-05-23 17:27:05 +01:00
reivilibre
67aae05ece
Support registering Application Services when running with workers under Complement. ( #12826 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-05-23 14:11:06 +01:00
Dirk Klimpel
444588c5fc
Add some type hints to tests files ( #12833 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2022-05-23 11:23:26 +00:00
reivilibre
438925c422
Fix Complement `TestCanRegisterAdmin` with workers, by adding Complement's shared registration secret. ( #12819 )
2022-05-23 12:20:30 +01:00
reivilibre
4fef76ca34
Remove Caddy from the Synapse workers image used in Complement. ( #12818 )
2022-05-23 10:29:24 +01:00
reivilibre
fbf904bd54
Fix media thumbnails being unusable before the index had been added in the background. ( #12823 )
2022-05-23 10:28:56 +01:00
reivilibre
39dee30f01
Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ( #12809 )
2022-05-20 15:28:23 +01:00
David Teller
10280fc943
Uniformize spam-checker API, part 1: the `Code` enum. ( #12703 )
2022-05-20 14:53:25 +02:00
Shay
71e8afe34d
Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible ( #12791 )
2022-05-20 09:54:12 +01:00
Sean Quah
2be5a2b07b
Fix `RetryDestinationLimiter` re-starting finished log contexts ( #12803 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-05-19 20:17:10 +01:00
Andrew Morgan
96df31239c
Add a unit test for copying over arbitrary room types when upgrading a room ( #12792 )
2022-05-19 18:32:48 +01:00
reivilibre
177b884ad7
Lay some foundation work to allow workers to only subscribe to some kinds of messages, reducing replication traffic. ( #12672 )
2022-05-19 16:29:08 +01:00
Shay
eb4aaa1b4b
Add detail to `cache_autotuning` config option documentation ( #12776 )
2022-05-19 07:47:07 -07:00
Shay
ab2a615cfb
Update configuration manual to document size-related suffixes ( #12777 )
2022-05-19 07:46:33 -07:00
Petr Vaněk
684feeaf2f
Properly close providers.json file stream. ( #12794 )
2022-05-19 14:23:59 +00:00
reivilibre
66a5f6c400
Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ( #12687 )
2022-05-19 14:16:49 +01:00
Jae Lo Presti
f16ec055cc
hash_password: raise an error if no config file is specified ( #12789 )
2022-05-19 13:03:13 +00:00
David Robertson
b935c9529c
Simplify untyped-defs config in mypy.ini ( #12790 )
2022-05-19 13:49:58 +01:00
Aminda Suomalainen
d25935cd3d
Implement MSC3818: copy room type on upgrade ( #12786 )
...
Resolves : #11896
Signed-off-by: Aminda Suomalainen <suomalainen+git@mikaela.info>
2022-05-19 12:28:10 +01:00
Sami Olmari
47619017f9
Add missing user directory search endpoint to the generic worker documentation ( #12773 )
...
Signed-off-by: Sami Olmari <sami@olmari.fi>
2022-05-19 12:03:12 +01:00
David Robertson
6ff99e3bea
Downgrade some OIDC exceptions to warnings ( #12723 )
2022-05-18 20:10:21 +01:00
Patrick Cloke
a1cb05b3e8
Fix federation in demo scripts. ( #12783 )
2022-05-18 14:49:33 -04:00
Richard van der Hoff
d38c73e9ab
Skip waiting for full state if a StateFilter does not require it ( #12498 )
...
If `StateFilter` specifies a state set which we will have regardless of
state-syncing, then we may as well return it immediately.
2022-05-18 18:33:57 +00:00
Andrew Morgan
0fce474a40
Fix YAML parsing error in `url_preview_accept_language` ( #12785 )
2022-05-18 17:24:44 +00:00
Shay
19d79b6ebe
Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ( #12775 )
2022-05-18 10:15:52 -07:00
Sean Quah
3d8839c30c
Add documentation for cancellation of request processing ( #12761 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-05-18 17:56:23 +01:00
Dirk Klimpel
50ae4eafe1
Add some type hints to `event_federation` datastore ( #12753 )
...
Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
2022-05-18 16:02:10 +01:00
reivilibre
635f0d916b
Do not keep going if there are 5 back-to-back background update failures. ( #12781 )
2022-05-18 13:57:59 +00:00
reivilibre
df4963548b
Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ( #12779 )
2022-05-18 11:46:06 +00:00
Andrew Morgan
a167304c8b
Switch the 'Configuration' link in the docs homepage to the config manual ( #12748 )
2022-05-18 11:29:32 +00:00
Andrew Morgan
deca250e3f
Add some documentation around the `rc_invites` option to the config docs ( #12759 )
2022-05-18 12:21:32 +01:00
David Robertson
d4713d3e33
Discard null-containing strings before updating the user directory ( #12762 )
2022-05-18 11:28:14 +01:00
Hubert Chathi
8afb7b55d0
Make handling of federation Authorization header (more) compliant with RFC7230 ( #12774 )
...
The main differences are:
- values with delimiters (such as colons) should be quoted, so always
quote the origin, since it could contain a colon followed by a port
number
- should allow more than one space after "X-Matrix"
- quoted values with backslash-escaped characters should be unescaped
- names should be case insensitive
2022-05-18 11:19:30 +01:00
Adam
37935b5183
Move methods that call add_push_rule to PushRuleStore ( #12772 )
...
Signed-off-by: Adam Roddick <ajroddick@tuta.io>
2022-05-18 09:37:48 +00:00
David Robertson
0d17357fcd
Suggest using docker when testing against postgres ( #12765 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-05-17 18:05:53 +00:00
Mathieu Velten
182ca78a12
Delete events from federation_inbound_events_staging table on purge ( #12770 )
2022-05-17 17:01:06 +00:00
David Robertson
5331fb5b47
allow `on_invalidate=None` in `@cached` methods ( #12769 )
2022-05-17 16:06:45 +00:00
Dirk Klimpel
6edefef602
Add some type hints to datastore ( #12717 )
2022-05-17 15:29:06 +01:00
Travis Ralston
942c30b16b
Add a new room version for MSC3787's knock+restricted join rule ( #12623 )
2022-05-17 10:41:39 +00:00
Richard van der Hoff
24b590de32
Remove code which updates `application_services_state.last_txn` ( #12680 )
...
This column is unused as of #12209 , so let's stop writing to it.
2022-05-17 11:07:18 +01:00
SpiritCroc
a34a41f135
Fix push for m.read events ( #12721 )
...
badge_count_last_call was always zero when the response for push
notifications included a "rejected" key which mapped to an empty list.
2022-05-17 11:03:07 +01:00
Erik Johnston
32ef24fbd7
Add index to cache invalidations ( #12747 )
...
For workers that rarely write to the cache the `get_all_updated_caches`
query can become expensive if the worker falls behind when reading the
cache.
2022-05-17 09:34:59 +00:00
Erik Johnston
fcf951d5dc
Track in memory events using weakrefs ( #10533 )
2022-05-17 10:34:27 +01:00
David Robertson
1fe202a1a3
Tidy up and type-hint the database engine modules ( #12734 )
...
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-05-17 00:34:38 +01:00
Andrew Morgan
6d8d1218dd
Fix typo in name of 'run_background_tasks_on' option in config manual ( #12749 )
2022-05-16 17:31:12 +00:00
Andrew Morgan
3eafee629d
Revert "changelog"
...
This reverts commit e24c11afd6
.
whoops...
2022-05-16 17:52:22 +01:00
Andrew Morgan
e24c11afd6
changelog
2022-05-16 17:51:43 +01:00
Andrew Morgan
83be72d76c
Add `StreamKeyType` class and replace string literals with constants ( #12567 )
2022-05-16 15:35:31 +00:00
Šimon Brandner
3ce15cc7be
Avoid unnecessary copies when filtering private read receipts. ( #12711 )
...
A minor optimization to avoid unnecessary copying/building
identical dictionaries when filtering private read receipts.
Also clarifies comments and cleans-up some tests.
2022-05-16 15:06:23 +00:00
Dirk Klimpel
8060034612
Fix typo in listener config ( #12742 )
2022-05-16 13:50:07 +00:00
Sean Quah
a5c26750b5
Fix room upgrades creating an empty room when auth fails ( #12696 )
...
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-16 14:06:04 +01:00
Patrick Cloke
86a515ccbf
Consolidate logic for parsing relations. ( #12693 )
...
Parse the `m.relates_to` event content field (which describes relations)
in a single place, this is used during:
* Event persistence.
* Validation of the Client-Server API.
* Fetching bundled aggregations.
* Processing of push rules.
Each of these separately implement the logic and each made slightly
different assumptions about what was valid. Some had minor / potential
bugs.
2022-05-16 12:42:45 +00:00
Shay
cde8af9a49
Add config flags to allow for cache auto-tuning ( #12701 )
2022-05-13 12:32:39 -07:00