summary refs log tree commit diff
path: root/synapse/notifier.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-06-15Remove support for unstable MSC1772 prefixes. (#10161)Patrick Cloke3-16/+4
The stable prefixes have been supported since v1.34.0. The unstable prefixes are not supported by any known clients.
2021-06-15Remove the experimental flag for knocking and use stable prefixes / ↵Patrick Cloke13-96/+33
endpoints. (#10167) * Room version 7 for knocking. * Stable prefixes and endpoints (both client and federation) for knocking. * Removes the experimental configuration flag.
2021-06-15Fix 'ip_range_whitelist' not working for federation servers (#10115)Michael Kutzner3-13/+19
Add 'federation_ip_range_whitelist'. This allows backwards-compatibility, If 'federation_ip_range_blacklist' is set. Otherwise 'ip_range_whitelist' will be used for federation servers. Signed-off-by: Michael Kutzner 1mikure@gmail.com
2021-06-14Refactor `EventPersistenceQueue` (#10145)Richard van der Hoff2-77/+89
some cleanup, pulled out of #10134.
2021-06-14Extend `ResponseCache` to pass a context object into the callback (#10157)Richard van der Hoff5-37/+146
This is the first of two PRs which seek to address #8518. This first PR lays the groundwork by extending ResponseCache; a second PR (#10158) will update the SyncHandler to actually use it, and fix the bug. The idea here is that we allow the callback given to ResponseCache.wrap to decide whether its result should be cached or not. We do that by (optionally) passing a ResponseCacheContext into it, which it can modify.
2021-06-11Notes on boolean columns in database schemas (#10164)Richard van der Hoff2-0/+43
2021-06-11Fixup changelog v1.36.0rc2Erik Johnston1-1/+1
2021-06-11 1.36.0rc2Erik Johnston5-4/+12
2021-06-11Only send a presence state to a destination once (#10165)Erik Johnston2-13/+13
It turns out that we were sending the same presence state to a remote potentially multiple times.
2021-06-11Fix sending presence over federation when using workers (#10163)Erik Johnston2-6/+20
When using a federation sender we'd send out all local presence updates over federation even when they shouldn't be. Fixes #10153.
2021-06-11Fix bug when running presence off master (#10149)Erik Johnston3-1/+17
Hopefully fixes #10027.
2021-06-11Only send a presence state to a destination once (#10165)Erik Johnston2-13/+13
It turns out that we were sending the same presence state to a remote potentially multiple times.
2021-06-11Support for database schema version ranges (#9933)Richard van der Hoff7-77/+206
This is essentially an implementation of the proposal made at https://hackmd.io/@richvdh/BJYXQMQHO, though the details have ended up looking slightly different.
2021-06-11Use the matching complement branch when running tests in CI. (#10160)Patrick Cloke2-5/+24
This implements similar behavior to sytest where a matching branch is used, if one exists. This is useful when needing to modify both application code and tests at the same time. The following rules are used to find a matching complement branch: 1. Search for the branch name of the pull request. (E.g. feature/foo.) 2. Search for the base branch of the pull request. (E.g. develop or release-vX.Y.) 3. Search for the reference branch of the commit. (E.g. master or release-vX.Y.) 4. Fallback to 'master', the default complement branch name.
2021-06-11Fix sending presence over federation when using workers (#10163)Erik Johnston2-6/+20
When using a federation sender we'd send out all local presence updates over federation even when they shouldn't be. Fixes #10153.
2021-06-11Clean up a broken import in admin_cmd.py (#10154)Andrew Morgan2-2/+1
2021-06-11Fix bug when running presence off master (#10149)Erik Johnston3-1/+17
Hopefully fixes #10027.
2021-06-11Add metrics to track how often events are `soft_failed` (#10156)Eric Eastwood2-0/+8
Spawned from missing messages we were seeing on `matrix.org` from a federated Gtiter bridged room, https://gitlab.com/gitterHQ/webapp/-/issues/2770. The underlying issue in Synapse is tracked by https://github.com/matrix-org/synapse/issues/10066 where the message and join event race and the message is `soft_failed` before the `join` event reaches the remote federated server. Less soft_failed events = better and usually this should only trigger for events where people are doing bad things and trying to fuzz and fake everything.
2021-06-11Document how to see logger output when running the twisted tests (#10148)Eric Eastwood3-13/+26
2021-06-10Mention that you need to configure max upload size in reverse proxy as well ↵Aaron Raimist3-0/+9
(#10122) Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-06-09Update Complement run with Synapse-supported MSC-related build tags (#10155)Andrew Morgan2-1/+2
This PR updates the build tags that we perform Complement runs with to match our [buildkite pipeline](https://github.com/matrix-org/pipelines/blob/618b3e90bcae8efd1a71502ae95b7913e6e24665/synapse/pipeline.yml#L570), as well as adding `msc2403` (as it will be required once #9359 is merged). Build tags are what we use to determine which tests to run in Complement (really it determines which test files are compiled into the final binary). I haven't put in a comment about updating the buildkite side here, as we've decided to migrate fully to GitHub Actions anyhow.
2021-06-09Integrate knock rooms with the public rooms directory (#9359)Andrew Morgan3-5/+11
This PR implements the ["Changes regarding the Public Rooms Directory"](https://github.com/Sorunome/matrix-doc/blob/soru/knock/proposals/2403-knock.md#changes-regarding-the-public-rooms-directory) section of knocking MSC2403. Specifically, it: * Allows rooms with `join_rule` "knock" to be returned by the query behind the public rooms directory * Adds the field `join_rule` to each room entry returned by a public rooms directory query, so clients can know whether to attempt a join or knock on a room Based on https://github.com/matrix-org/synapse/issues/6739. Complement tests for this change: https://github.com/matrix-org/complement/pull/72
2021-06-09Implement knock feature (#6739)Sorunome29-118/+1613
This PR aims to implement the knock feature as proposed in https://github.com/matrix-org/matrix-doc/pull/2403 Signed-off-by: Sorunome mail@sorunome.de Signed-off-by: Andrew Morgan andrewm@element.io
2021-06-09Limit the number of in-flight /keys/query requests from a single device. ↵Patrick Cloke4-173/+196
(#10144)
2021-06-09Clean up the interface for injecting opentracing over HTTP (#10143)Richard van der Hoff4-92/+26
* Remove unused helper functions * Clean up the interface for injecting opentracing over HTTP * changelog
2021-06-08Add type hints to the federation server transport. (#10080)Patrick Cloke5-75/+194
2021-06-08Make changelog lines consistent v1.36.0rc1Andrew Morgan1-1/+1
2021-06-08fix typo in changelogAndrew Morgan1-1/+1
2021-06-081.36.0rc1Andrew Morgan46-45/+69
2021-06-08Fix logging context when opening new DB connection (#10141)Erik Johnston2-3/+10
Fixes #10140
2021-06-08Correct type hints for parse_string(s)_from_args. (#10137)Patrick Cloke8-83/+132
2021-06-08Name release branches just after major.minor (#10013)Dan Callahan3-5/+6
With the prior format, 1.33.0 / 1.33.1 / 1.33.2 got separate branches: release-v1.33.0 release-v1.33.1 release-v1.33.2 Under the new model, all three would share a common branch: release-v1.33 As before, RCs and actual releases exist as tags on these branches. This better reflects our support model, e.g., that the "1.33" series had a formal release followed by two patches / updates. Signed-off-by: Dan Callahan <danc@element.io>
2021-06-08When joining a remote room limit the number of events we concurrently check ↵Erik Johnston5-256/+202
signatures/hashes for (#10117) If we do hundreds of thousands at once the memory overhead can easily reach 500+ MB.
2021-06-08Handle /backfill returning no events (#10133)Erik Johnston2-13/+26
Fixes #10123
2021-06-07More database opentracing (#10136)Richard van der Hoff2-2/+6
Add a couple of extra logs/spans, to give a bit of a better idea.
2021-06-07opentracing: use a consistent name for background processes (#10135)Richard van der Hoff3-2/+5
... otherwise we tend to get a namespace clash between the bg process and the functions that it calls.
2021-06-07Make link in docs use HTTPS (#10130)Rohan Sharma2-1/+2
Fixes #10121 Signed-off-by: Rohan Sharma <rhnsharma5113@gmail.com>
2021-06-07Fix broken link to README at root of repo (#10132)Chris Castle2-1/+2
Signed-off-by: Chris Castle chris@crc.io
2021-06-07Always update AS last_pos, even on no events (#10107)14mRh4X0r3-17/+15
Fixes #1834. `get_new_events_for_appservice` internally calls `get_events_as_list`, which will filter out any rejected events. If all returned events are filtered out, `_notify_interested_services` will return without updating the last handled stream position. If there are 100 consecutive such events, processing will halt altogether. Breaking the loop is now done by checking whether we're up-to-date with `current_max` in the loop condition, instead of relying on an empty `events` list. Signed-off-by: Willem Mulder <14mRh4X0r@gmail.com>
2021-06-07Add missing type hints to the admin API servlets (#10105)Dirk Klimpel6-40/+48
2021-06-07Delete completes to-device messages earlier in /sync (#10124)Richard van der Hoff2-10/+12
I hope this will improve https://github.com/matrix-org/synapse/issues/9564.
2021-06-04Don't try and backfill the same room in parallel. (#10116)Erik Johnston2-0/+9
If backfilling is slow then the client may time out and retry, causing Synapse to start a new `/backfill` before the existing backfill has finished, duplicating work.
2021-06-04Limit number of events in a replication request (#10118)Erik Johnston2-2/+4
Fixes #9956.
2021-06-04Enable Prometheus metrics for the jaeger client library (#10112)Richard van der Hoff3-1/+5
2021-06-03Compile and render Synapse's docs into a browsable, mobile-friendly and ↵Andrew Morgan35-54/+978
searchable website (#10086)
2021-06-03Add OpenTracing for database activity. (#10113)Richard van der Hoff3-33/+60
This adds quite a lot of OpenTracing decoration for database activity. Specifically it adds tracing at four different levels: * emit a span for each "interaction" - ie, the top level database function that we tend to call "transaction", but isn't really, because it can end up as multiple transactions. * emit a span while we hold a database connection open * emit a span for each database transaction - actual actual transaction. * emit a span for each database query. I'm aware this might be quite a lot of overhead, but even just running it on a local Synapse it looks really interesting, and I hope the overhead can be offset just by turning down the sampling frequency and finding other ways of tracing requests of interest (eg, the `force_tracing_for_users` setting).
2021-06-03Improve opentracing annotations for Notifier (#10111)Richard van der Hoff2-33/+34
The existing tracing reports an error each time there is a timeout, which isn't really representative. Additionally, we log things about the way `wait_for_events` works (eg, the result of the callback) to the *parent* span, which is confusing.
2021-06-03Convert admin api docs to markdown (#10089)Andrew Morgan9-1132/+1160
So that they render nicely in mdbook (see #10086), and so that we no longer have a mix of structured text languages in our documentation (excluding files outside of `docs/`).
2021-06-03r0.6.1 support: /rooms/:roomId/aliases endpoint (#9224)Travis Ralston3-3/+3
[MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432) added this endpoint originally but it has since been included in the spec for nearly a year. This is progress towards https://github.com/matrix-org/synapse/issues/8334
2021-06-03Clarify changelog. v1.35.1 release-v1.35Patrick Cloke1-1/+1
2021-06-031.35.1Patrick Cloke4-2/+16
2021-06-03Do not show invite-only rooms in spaces summary (unless joined/invited). ↵Patrick Cloke2-10/+10
(#10109)
2021-06-02Add new admin APIs to remove media by media ID from quarantine. (#10044)Dirk Klimpel5-10/+201
Related to: #6681, #5956, #10040 Signed-off-by: Dirk Klimpel dirk@klimpel.org
2021-06-02github actions: summarize Sytest results in an easy-to-read format (#10094)Richard van der Hoff2-2/+3
... using the script from matrix-org/sytest#1052
2021-06-02Rewrite the KeyRing (#10035)Erik Johnston8-492/+393
2021-06-02Do not show invite-only rooms in spaces summary (unless joined/invited). ↵Patrick Cloke2-10/+10
(#10109)
2021-06-02Make /sync do less state res (#10102)Erik Johnston2-2/+3
2021-06-01Merge v1.35.0rc3 into v1.35.0 due to incorrect tagging v1.35.0Andrew Morgan1-5/+1
2021-06-01