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
Till
e8ae472d3b
Update configs used by Complement to allow more invites ( #12731 )
2022-05-13 16:45:47 +01:00
Brendan Abolivier
9013104429
Don't create an empty room when checking for MAU limits ( #12713 )
2022-05-13 15:30:15 +02:00
David Robertson
aec69d2481
Another batch of type annotations ( #12726 )
2022-05-13 12:35:31 +01:00
Jess Porter
39bed28b28
SpamChecker metrics ( #12513 )
...
* add Measure blocks all over SpamChecker
Signed-off-by: jesopo <github@lolnerd.net>
* fix test_spam_checker_may_join_room and test_threepid_invite_spamcheck
* better changelog entry
2022-05-13 12:17:38 +01:00
Niklas
c9fc2c0d22
Update issuer URL in example OIDC Keycloak config ( #12727 )
...
* Update openid.md
Newer versions of keycloak returning a 404 when using the `/auth` prefix.
Related: https://github.com/matrix-org/synapse/issues/12714
2022-05-13 10:15:51 +00:00
Andrew Morgan
57f6c496d0
URL preview cache expiry logs: INFO -> DEBUG, text clarifications ( #12720 )
2022-05-12 18:16:32 +01:00
David Robertson
17e1eb7749
Reduce the number of "untyped defs" ( #12716 )
2022-05-12 14:33:50 +00:00
Andy Balaam
de1e599b9d
add default_power_level_content_override config option. ( #12618 )
...
Co-authored-by: Matthew Hodgson <matthew@matrix.org>
2022-05-12 10:41:35 +00:00
Andrew Morgan
409573f6d0
Fix reference to the wrong symbol in the media admin api docs ( #12715 )
2022-05-12 09:29:37 +01:00
Sean Quah
bf7ce92bf7
Enable cancellation of `GET /members` and `GET /state` requests ( #12708 )
...
Enable cancellation of `GET /rooms/$room_id/members`,
`GET /rooms/$room_id/state` and
`GET /rooms/$room_id/state/$state_key/*` requests.
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-11 17:22:34 +01:00
David Robertson
db10f2c037
No longer permit empty body when sending receipts ( #12709 )
2022-05-11 15:34:17 +00:00
Sean Quah
6ee61b9052
Complain if a federation endpoint has the `@cancellable` flag ( #12705 )
...
`BaseFederationServlet` wraps its endpoints in a bunch of async code
that has not been vetted for compatibility with cancellation.
Fail CI if a `@cancellable` flag is applied to a federation endpoint.
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-11 14:52:26 +01:00
David Robertson
d38d242411
Reload cache factors from disk on SIGHUP ( #12673 )
2022-05-11 13:43:22 +00:00
Sean Quah
a559c8b0d9
Respect the `@cancellable` flag for `ReplicationEndpoint`s ( #12700 )
...
While `ReplicationEndpoint`s register themselves via `JsonResource`,
they pass a method that calls the handler, instead of the handler itself,
to `register_paths`. As a result, `JsonResource` will not correctly pick
up the `@cancellable` flag and we have to apply it ourselves.
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-11 12:25:39 +01:00
Sean Quah
9d8e380d2e
Respect the `@cancellable` flag for `RestServlet`s and `BaseFederationServlet`s ( #12699 )
...
Both `RestServlet`s and `BaseFederationServlet`s register their handlers
with `HttpServer.register_paths` / `JsonResource.register_paths`. Update
`JsonResource` to respect the `@cancellable` flag on handlers registered
in this way.
Although `ReplicationEndpoint` also registers itself using
`register_paths`, it does not pass the handler method that would have the
`@cancellable` flag directly, and so needs separate handling.
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-11 12:25:13 +01:00
Sean Quah
dffecade7d
Respect the `@cancellable` flag for `DirectServe{Html,Json}Resource`s ( #12698 )
...
`DirectServeHtmlResource` and `DirectServeJsonResource` both inherit
from `_AsyncResource`. These classes expect to be subclassed with
`_async_render_*` methods.
This commit has no effect on `JsonResource`, despite inheriting from
`_AsyncResource`. `JsonResource` has its own `_async_render` override
which will need to be updated separately.
Signed-off-by: Sean Quah <seanq@element.io>
2022-05-11 12:24:48 +01:00
Patrick Cloke
a4c75918b3
Remove unneeded `ActionGenerator` class. ( #12691 )
...
It simply passes through to `BulkPushRuleEvaluator`, which can be
called directly instead.
2022-05-11 07:15:21 -04:00
Eric Eastwood
84facf769e
Fix `/messages` throwing a 500 when querying for non-existent room ( #12683 )
...
Fix https://github.com/matrix-org/synapse/issues/12678
Complement test added: https://github.com/matrix-org/complement/pull/369
**Before:** 500 internal server error
**After:** According to the [spec](https://spec.matrix.org/latest/client-server-api/#get_matrixclientv3roomsroomidmessages ), calling `/messages` against a non-existent `room_id` should throw a 403 forbidden (since you're not part of the room). This also matches the behavior before https://github.com/matrix-org/synapse/pull/12370 which regressed Synapse to the 500 behavior.
```json
{
"errcode": "M_FORBIDDEN",
"error": "User @test:my.synapse.server not in room !dne:my.synapse.server, and room previews are disabled"
}
```
2022-05-10 23:39:14 -05:00