Description
Description
When hundreds, possibly thousands or more redaction events are sent, Synapse starts to send limited syncs (GET /_matrix/client/v3/sync
), causing clients to reset their timeline. Then, clients will attempt to paginate the timeline history for previous events, but will fail to paginate /messages with a low limit (see below).
This is disruptive, as historically, moderation bots such as Mjolnir, Draupnir, and Meowlnir have dispatched redactions for events that failed protections, or from banned members post-ban. This could already result in a thousand or more redactions being sent in a short period with no regular timeline events inbetween.
However, now with the introduction of policy servers, redactions are also now being issued for soft-failed events. Even though this may be only temporary, until all servers support soft failing based on policy servers, it still has the potential to damage rooms for most users. I noticed this was particularly bad when one of my own rooms with a policy server got attacked - the redactions ended up doing more long-term damage than the spam it was redacting.
Steps to reproduce
- Create 2,000 messages (to be able to reliably repo, can theoretically be done with ~100 events)
- Redact half of them without sending any non-hidden events in the meantime. Ensure that "show hidden events" is turned off, for maximum effect.
- Observe as Synapse starts sending limited timelines down /sync, resetting your client. (this does not happen on simplified sliding sync)
- Wait for the redactions to finish
- (optional) refresh your client
- Open network devtools
- Watch as the client fruitlessly calls
/messages
maybe 10 times, before giving up - The penultimate /message call returns less than
?limit=
events, and then the final call returns no events with no next batch token.
Using this script to call /messages with a variable limit size, I managed to determine the following:
- Limit of 100 or greater suffered no problems
- Limit of 60 or less was very hit or miss whether it would work, leaning miss (keep in mind 50 is what a lot of clients seem to use)
- Limit of 10 or less never worked
Sample output of script displaying findings
Homeserver C2S url: https://synapse.nexy7574.co.uk
Access token: ...
room ID: !awKFHIspK56hnXegsM:nexy7574.co.uk
Max history (inf):
batch size [100]: 10
Requesting 'https://synapse.nexy7574.co.uk/_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages' with query args {'dir': 'b', 'limit': 10}
Getting messages None 200 end: t6214-1584619_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6214-1584619_0_0_0_0_0_0_0_0_0 200 end: t6204-1584608_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6204-1584608_0_0_0_0_0_0_0_0_0 200 end: t6194-1584596_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6194-1584596_0_0_0_0_0_0_0_0_0 200 end: t6184-1584586_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6184-1584586_0_0_0_0_0_0_0_0_0 200 end: t6174-1584576_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6174-1584576_0_0_0_0_0_0_0_0_0 200 end: t6164-1584565_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6164-1584565_0_0_0_0_0_0_0_0_0 200 end: t6154-1584552_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6154-1584552_0_0_0_0_0_0_0_0_0 200 end: t6144-1584542_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6144-1584542_0_0_0_0_0_0_0_0_0 200 end: t6134-1584532_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6134-1584532_0_0_0_0_0_0_0_0_0 200 end: t6124-1584521_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6124-1584521_0_0_0_0_0_0_0_0_0 200 end: t6114-1584511_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6114-1584511_0_0_0_0_0_0_0_0_0 200 end: t6104-1584501_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6104-1584501_0_0_0_0_0_0_0_0_0 200 end: t6094-1584491_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6094-1584491_0_0_0_0_0_0_0_0_0 200 end: t6084-1584481_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6084-1584481_0_0_0_0_0_0_0_0_0 200 end: t6074-1584471_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6074-1584471_0_0_0_0_0_0_0_0_0 200 end: t6064-1584461_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6064-1584461_0_0_0_0_0_0_0_0_0 200 end: t6054--1980524_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6054--1980524_0_0_0_0_0_0_0_0_0 200 end: t6044--1980514_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6044--1980514_0_0_0_0_0_0_0_0_0 200 end: t6034--1980504_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6034--1980504_0_0_0_0_0_0_0_0_0 200 end: t6024--1980494_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6024--1980494_0_0_0_0_0_0_0_0_0 200 end: t6014--1980484_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6014--1980484_0_0_0_0_0_0_0_0_0 200 end: t6004--1980474_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t6004--1980474_0_0_0_0_0_0_0_0_0 200 end: t5994--1980464_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5994--1980464_0_0_0_0_0_0_0_0_0 200 end: t5984--1980454_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5984--1980454_0_0_0_0_0_0_0_0_0 200 end: t5974--1980444_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5974--1980444_0_0_0_0_0_0_0_0_0 200 end: t5964--1980434_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5964--1980434_0_0_0_0_0_0_0_0_0 200 end: t5954-1584440_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5954-1584440_0_0_0_0_0_0_0_0_0 200 end: t5944-1584429_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5944-1584429_0_0_0_0_0_0_0_0_0 200 end: t5934-1584419_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5934-1584419_0_0_0_0_0_0_0_0_0 200 end: t5924-1584408_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5924-1584408_0_0_0_0_0_0_0_0_0 200 end: t5914-1584398_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5914-1584398_0_0_0_0_0_0_0_0_0 200 end: t5904-1584387_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5904-1584387_0_0_0_0_0_0_0_0_0 200 end: t5894-1584374_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5894-1584374_0_0_0_0_0_0_0_0_0 200 end: t5884-1584364_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5884-1584364_0_0_0_0_0_0_0_0_0 200 end: t5874-1584354_0_0_0_0_0_0_0_0_0 (m.room.redaction:10 count:10)
Getting messages t5874-1584354_0_0_0_0_0_0_0_0_0 200 end: t5864-1584344_0_0_0_0_0_0_0_0_0 (m.room.redaction:9 count:9)
Getting messages t5864-1584344_0_0_0_0_0_0_0_0_0 200 end: None (no events)
End token is None, server says there's no more events to paginate.
[ Done ]
After a while, it seems to heal itself - I'm able to lower the batch size over time, and it starts being more successful. This is still resulting in Element Web being unable to display a timeline whatsoever, mind you.
Homeserver
matrix.org, envs.net, synapse.nexy7574.co.uk
Synapse Version
1.131.0rc1, 1.130.0, 1.129.0
Installation Method
Docker (matrixdotorg/synapse)
Database
postgres
Workers
Multiple workers
Platform
two out of three servers aren't mine. My synapse is running in Docker on an LXC connecting to postgres that is in another LXC one hop away over an internal virtual network.
Configuration
No response
Relevant log output
synapse_main | 2025-06-01 22:06:01,343 - synapse.access.http.unix - 508 - INFO - GET-3519517 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.019sec/0.000sec (0.006sec, 0.001sec) (0.003sec/0.012sec/7) 1073B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,367 - synapse.access.http.unix - 508 - INFO - GET-3519518 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.017sec/0.000sec (0.005sec, 0.000sec) (0.003sec/0.012sec/6) 1061B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6214-1584619_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,390 - synapse.access.http.unix - 508 - INFO - GET-3519519 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.017sec/0.000sec (0.006sec, 0.000sec) (0.003sec/0.013sec/6) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6204-1584608_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,414 - synapse.access.http.unix - 508 - INFO - GET-3519520 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.019sec/0.000sec (0.006sec, 0.001sec) (0.003sec/0.014sec/6) 1068B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6194-1584596_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,438 - synapse.access.http.unix - 508 - INFO - GET-3519521 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.018sec/0.000sec (0.006sec, 0.001sec) (0.004sec/0.011sec/6) 1063B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6184-1584586_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,454 - synapse.access.http.unix - 508 - INFO - GET-3519522 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.009sec/0.001sec (0.004sec, 0.001sec) (0.001sec/0.002sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6174-1584576_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,468 - synapse.access.http.unix - 508 - INFO - GET-3519523 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.002sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6164-1584565_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,488 - synapse.access.http.unix - 508 - INFO - GET-3519524 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.012sec/0.001sec (0.004sec, 0.001sec) (0.001sec/0.005sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6154-1584552_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,493 - synapse.access.http.unix - 508 - INFO - PUT-3519525 - 10.10.10.102 - unix - {matrix.kbb.eu} Processed request: 0.009sec/0.000sec (0.002sec, 0.000sec) (0.002sec/0.001sec/2) 31B 200 "PUT /_matrix/federation/v1/send/1742449636017 HTTP/1.1" "Synapse/1.111.0" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,504 - synapse.access.http.unix - 508 - INFO - GET-3519526 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.002sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6144-1584542_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,519 - synapse.access.http.unix - 508 - INFO - GET-3519527 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.002sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6134-1584532_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,535 - synapse.access.http.unix - 508 - INFO - GET-3519528 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.005sec, 0.000sec) (0.001sec/0.003sec/3) 1065B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6124-1584521_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,551 - synapse.access.http.unix - 508 - INFO - GET-3519529 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6114-1584511_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,567 - synapse.access.http.unix - 508 - INFO - GET-3519530 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.009sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6104-1584501_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,583 - synapse.access.http.unix - 508 - INFO - GET-3519531 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.002sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1063B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6094-1584491_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,597 - synapse.access.http.unix - 508 - INFO - GET-3519532 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6084-1584481_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,621 - synapse.access.http.unix - 508 - INFO - GET-3519533 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.017sec/0.001sec (0.004sec, 0.000sec) (0.005sec/0.006sec/3) 1068B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6074-1584471_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,641 - synapse.access.http.unix - 508 - INFO - GET-3519534 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.005sec, 0.000sec) (0.001sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6064-1584461_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,660 - synapse.access.http.unix - 508 - INFO - GET-3519535 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.004sec, 0.000sec) (0.000sec/0.004sec/3) 1062B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6054--1980524_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,677 - synapse.access.http.unix - 508 - INFO - GET-3519536 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.009sec/0.000sec (0.005sec, 0.000sec) (0.001sec/0.004sec/3) 1063B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6044--1980514_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,692 - synapse.access.http.unix - 508 - INFO - GET-3519537 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.001sec (0.004sec, 0.000sec) (0.000sec/0.003sec/3) 1063B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6034--1980504_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,710 - synapse.access.http.unix - 508 - INFO - GET-3519538 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1068B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6024--1980494_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,726 - synapse.access.http.unix - 508 - INFO - GET-3519539 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.009sec/0.002sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1065B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6014--1980484_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,743 - synapse.access.http.unix - 508 - INFO - GET-3519540 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.005sec, 0.001sec) (0.001sec/0.003sec/3) 1067B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t6004--1980474_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,759 - synapse.access.http.unix - 508 - INFO - GET-3519541 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.004sec, 0.000sec) (0.001sec/0.003sec/3) 1067B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5994--1980464_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,775 - synapse.access.http.unix - 508 - INFO - GET-3519542 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.008sec/0.002sec (0.005sec, 0.000sec) (0.001sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5984--1980454_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,793 - synapse.access.http.unix - 508 - INFO - GET-3519543 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.011sec/0.001sec (0.004sec, 0.001sec) (0.001sec/0.004sec/3) 1067B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5974--1980444_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,832 - synapse.access.http.unix - 508 - INFO - GET-3519544 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.029sec/0.001sec (0.005sec, 0.001sec) (0.004sec/0.009sec/3) 1070B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5964--1980434_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,856 - synapse.access.http.unix - 508 - INFO - GET-3519545 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.014sec/0.003sec (0.005sec, 0.000sec) (0.003sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5954-1584440_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,890 - synapse.access.http.unix - 508 - INFO - GET-3519546 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.019sec/0.003sec (0.004sec, 0.001sec) (0.006sec/0.007sec/3) 1064B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5944-1584429_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,914 - synapse.access.http.unix - 508 - INFO - GET-3519547 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.017sec/0.002sec (0.004sec, 0.000sec) (0.006sec/0.006sec/3) 1060B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5934-1584419_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,939 - synapse.access.http.unix - 508 - INFO - GET-3519548 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.016sec/0.003sec (0.005sec, 0.001sec) (0.002sec/0.006sec/3) 1063B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5924-1584408_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,960 - synapse.access.http.unix - 508 - INFO - GET-3519549 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.013sec/0.002sec (0.004sec, 0.000sec) (0.002sec/0.006sec/3) 1071B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5914-1584398_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:01,985 - synapse.access.http.unix - 508 - INFO - GET-3519551 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.015sec/0.002sec (0.004sec, 0.001sec) (0.004sec/0.004sec/3) 1069B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5904-1584387_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:02,004 - synapse.access.http.unix - 508 - INFO - GET-3519552 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.009sec/0.003sec (0.004sec, 0.001sec) (0.001sec/0.003sec/3) 1067B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5894-1584374_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:02,021 - synapse.access.http.unix - 508 - INFO - GET-3519553 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.010sec/0.001sec (0.005sec, 0.000sec) (0.001sec/0.003sec/3) 1066B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5884-1584364_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [0 dbevts]
synapse_main | 2025-06-01 22:06:02,040 - synapse.access.http.unix - 508 - INFO - GET-3519554 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.013sec/0.000sec (0.006sec, 0.000sec) (0.001sec/0.005sec/6) 988B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5874-1584354_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [1 dbevts]
synapse_main | 2025-06-01 22:06:02,069 - synapse.access.http.unix - 508 - INFO - GET-3519555 - 10.10.10.102 - unix - {@nex:synapse.nexy7574.co.uk} Processed request: 0.023sec/0.000sec (0.005sec, 0.001sec) (0.001sec/0.004sec/5) 59B 200 "GET /_matrix/client/v3/rooms/%21awKFHIspK56hnXegsM%3Anexy7574.co.uk/messages?dir=b&limit=10&from=t5864-1584344_0_0_0_0_0_0_0_0_0 HTTP/1.1" "python-requests/2.32.3" [10 dbevts]
Anything else that would be useful to know?
It seems that the Element X fleet of clients don't suffer this issue. Don't know if they use a higher limit for /messages, and I can only assume the new sliding sync doesn't suffer the same limitation as regular sync.
The room used for testing is here.