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
Andrew Morgan
5ace5d7b15
Merge branch 'master' into develop
2022-08-16 17:32:20 +01:00
Andrew Morgan
06a2733881
Note explicitly that #11365 was reverted in the 1.65 CHANGELOG
2022-08-16 17:24:53 +01:00
Andrew Morgan
738c11729a
1.65.0
2022-08-16 16:52:07 +01:00
Sean Quah
f4ab6a4a96
Refuse to start when faster_joins
is enabled on a worker deployment ( #13531 )
...
Synapse does not currently support faster room joins on deployments with
workers.
Signed-off-by: Sean Quah <seanq@matrix.org>
2022-08-16 16:21:55 +01:00
Dirk Klimpel
14e673ef9d
Add missing links in user_consent
section of configuration manual ( #13536 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-08-16 16:20:56 +01:00
reivilibre
c3516e9dec
Faster room joins: make /joined_members
block whilst the room is partial stated. ( #13514 )
2022-08-16 13:16:56 +01:00
Erik Johnston
5442891cbc
Make push rules use proper structures. ( #13522 )
...
This improves load times for push rules:
| Version | Time per user | Time for 1k users |
| -------------------- | ------------- | ----------------- |
| Before | 138 µs | 138ms |
| Now (with custom) | 2.11 µs | 2.11ms |
| Now (without custom) | 49.7 ns | 0.05 ms |
This therefore has a large impact on send times for rooms
with large numbers of local users in the room.
2022-08-16 12:22:17 +01:00
David Robertson
d642ce4b32
Use Pydantic to systematically validate a first batch of endpoints in synapse.rest.client.account
. ( #13188 )
2022-08-15 19:05:57 +00:00
Shay
73c83c6411
Add a warning to retention documentation regarding the possibility of database corruption ( #13497 )
2022-08-15 11:54:23 -07:00
Eric Eastwood
344a2f767c
Instrument FederationStateIdsServlet
- /state_ids
( #13499 )
...
Instrument FederationStateIdsServlet - `/state_ids` so it's easier to follow what's going on in Jaeger when viewing a trace.
2022-08-15 19:41:23 +01:00
Eric Eastwood
53b8453a99
Refactor from feedback
...
From feedback in https://github.com/matrix-org/synapse/pull/13499
2022-08-15 12:25:28 -05:00
David Robertson
19e5d44886
Revert "Update locked versions of mypy and mypy-zope ( #13521 )"
...
This reverts commit f383b9b3ec
. Other PRs
were seeing mypy failures that looked to be related to mypy-zope.
Confusingly, we didn't see this on #13521 .
Revert this for now and investigate later.
2022-08-15 14:51:05 +01:00
Patrick Cloke
46bd7f4ed9
Clarifications for event push action processing. ( #13485 )
...
* Clarifies comments.
* Fixes an erroneous comment (about return type) added in #13455
(ec24813220
).
* Clarifies the name of a variable.
* Simplifies logic of pulling out the latest join for the requesting user.
2022-08-15 09:33:17 -04:00
David Robertson
f383b9b3ec
Update locked versions of mypy and mypy-zope ( #13521 )
2022-08-15 11:32:30 +01:00
Richard van der Hoff
434fd82d5f
Update grafana dashboard
2022-08-13 21:50:20 +01:00
reivilibre
2c5e2ae898
Document that the DOCKER_BUILDKIT=1
flag is needed to build the docker image. ( #13515 )
2022-08-12 14:25:47 +01:00
James Barton
e825f7366b
Add openssl
example for registration HMAC ( #13472 )
...
Signed-off-by: James Barton <james@neodon.com>
2022-08-11 21:10:10 +01:00
Eric Eastwood
898ba0effe
More tracing
2022-08-11 10:27:55 -05:00
Andrew Morgan
953df2ad88
Add note to redaction_retention_period
documentation mentioning that event purging runs at most every 5m ( #13492 )
2022-08-11 14:06:09 +01:00
Germain
4390121684
Add viewport directive to HTML templates to optimise for mobile ( #13493 )
2022-08-11 14:04:20 +01:00
Olivier Wilkinson (reivilibre)
05bc059e0d
Merge branch 'release-v1.65' into develop
2022-08-11 13:19:12 +01:00
Richard van der Hoff
507c1cb330
Update the rejected state of events during resync ( #13459 )
...
Events can be un-rejected or newly-rejected during resync, so ensure we update
the database and caches when that happens.
2022-08-11 10:42:24 +00:00
Olivier Wilkinson (reivilibre)
7a25b4302c
1.65.0rc2
2022-08-11 11:40:40 +01:00
reivilibre
12abd72497
Revert 'Remove the unspecced field in the response. ( #13365 )' to give more time for clients to update. ( #13501 )
2022-08-11 10:27:48 +00:00
Eric Eastwood
f4ec9d1f74
Instrument FederationStateIdsServlet
2022-08-10 18:13:16 -05: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
597c3f276e
Trace some results
2022-08-09 16:39:29 -05:00
Eric Eastwood
2a467fd26b
Merge branch 'madlittlemods/11850-migrate-to-opentelemetry' into madlittlemods/13356-messages-investigation-scratch-v1
...
Conflicts:
pyproject.toml
synapse/logging/tracing.py
2022-08-09 14:50:10 -05:00
Eric Eastwood
7024d7b86e
Merge branch 'develop' into madlittlemods/11850-migrate-to-opentelemetry
...
Conflicts:
synapse/logging/opentracing.py
tests/logging/test_opentracing.py
2022-08-09 14:46:03 -05:00
Eric Eastwood
1b09b0832e
Allow use of both @trace
and @tag_args
stacked on the same function ( #13453 )
...
```py
@trace
@tag_args
async def get_oldest_event_ids_with_depth_in_room(...)
...
```
Before this PR, you would see a warning in the logs and the span was not exported:
```
2022-08-03 19:11:59,383 - synapse.logging.opentracing - 835 - ERROR - GET-0 - @trace may not have wrapped EventFederationWorkerStore.get_oldest_event_ids_with_depth_in_room correctly! The function is not async but returned a coroutine.
```
2022-08-09 14:32:33 -05:00
Dirk Klimpel
1595052b26
Use literals in place of HTTPStatus
constants in tests ( #13479 )
...
Replace
- `HTTPStatus.NOT_FOUND`
- `HTTPStatus.FORBIDDEN`
- `HTTPStatus.UNAUTHORIZED`
- `HTTPStatus.CONFLICT`
- `HTTPStatus.CREATED`
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-08-09 14:56:43 +01:00
Olivier Wilkinson (reivilibre)
54fb517c28
Merge branch 'release-v1.65' into develop
2022-08-09 13:45:11 +01:00
Olivier Wilkinson (reivilibre)
3d1b860f90
Fix changelog mistake
2022-08-09 13:13:22 +01:00
Patrick Cloke
5ce2887653
Strengthen tests about deleted old push actions. ( #13471 )
2022-08-09 07:56:16 -04:00
Olivier Wilkinson (reivilibre)
c962f87d6f
Tweak the changelog
2022-08-09 12:54:59 +01:00
Olivier Wilkinson (reivilibre)
827f0669bf
1.65.0rc1
2022-08-09 11:43:30 +01:00
Dirk Klimpel
70d3e70009
Make the configuration for the cache clearer ( #13481 )
2022-08-09 11:30:22 +01:00