1
0
Commit Graph

20581 Commits

Author SHA1 Message Date
H. Shay
301b9cdfcc newsfragement 2022-04-27 15:17:45 -07:00
H. Shay
21002db229 add function to normalize username to module api + test 2022-04-27 15:17:33 -07:00
Sean Quah
78b99de7c2 Prefer make_awaitable over defer.succeed in tests (#12505)
When configuring the return values of mocks, prefer awaitables from
`make_awaitable` over `defer.succeed`. `Deferred`s are only awaitable
once, so it is inappropriate for a mock to return the same `Deferred`
multiple times.

Also update `run_in_background` to support functions that return
arbitrary awaitables.

Signed-off-by: Sean Quah <seanq@element.io>
2022-04-27 14:58:26 +01:00
Brendan Abolivier
5ef673de4f Add a module API to allow modules to edit push rule actions (#12406)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-04-27 13:55:33 +00:00
reivilibre
d743b25c8f Use supervisord to supervise Postgres and Caddy in the Complement image. (#12480)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-04-27 14:39:41 +01:00
David Robertson
30c8e7e408 Make scripts-dev pass mypy --disallow-untyped-defs (#12356)
Not enforced in config yet. One day.
2022-04-27 13:10:31 +00:00
David Robertson
6463244375 Remove unused # type: ignores (#12531)
Over time we've begun to use newer versions of mypy, typeshed, stub
packages---and of course we've improved our own annotations. This makes
some type ignore comments no longer necessary. I have removed them.

There was one exception: a module that imports `select.epoll`. The
ignore is redundant on Linux, but I've kept it ignored for those of us
who work on the source tree using not-Linux. (#11771)

I'm more interested in the config line which enforces this. I want
unused ignores to be reported, because I think it's useful feedback when
annotating to know when you've fixed a problem you had to previously
ignore.

* Installing extras before typechecking

Lacking an easy way to install all extras generically, let's bite the bullet and
make install the hand-maintained `all` extra before typechecking.

Now that https://github.com/matrix-org/backend-meta/pull/6 is merged to
the release/v1 branch.
2022-04-27 14:03:44 +01:00
Patrick Cloke
8a23bde823 Consistently use collections.abc.Mapping to check frozendict. (#12564) 2022-04-27 09:00:07 -04:00
Will Hunt
e8d1ec0e92 Add option to enable token registration without requiring 3pids (#12526) 2022-04-27 12:57:53 +00:00
Dirk Klimpel
b76f1a4d5f Add some type hints to datastore (#12485) 2022-04-27 13:05:00 +01:00
Nick Mills-Barrett
63ba9ba38b Bound ephemeral events by key (#12544)
Co-authored-by: Brad Murray <bradtgmurray@gmail.com>
Co-authored-by: Andrew Morgan <andrewm@element.io>
2022-04-26 20:14:21 +01:00
David Robertson
9986621bc8 Merge tag 'v1.58.0rc2' into develop
Synapse 1.58.0rc2 (2022-04-26)
==============================

This release candidate fixes bugs related to Synapse 1.58.0rc1's logic for handling device list updates.

Bugfixes
--------

- Fix a bug introduced in Synapse 1.58.0rc1 where the main process could consume excessive amounts of CPU and memory while handling sentry logging failures. ([\#12554](https://github.com/matrix-org/synapse/issues/12554))
- Fix a bug introduced in Synapse 1.58.0rc1 where opentracing contexts were not correctly sent to whitelisted remote servers with device lists updates. ([\#12555](https://github.com/matrix-org/synapse/issues/12555))

Internal Changes
----------------

- Reduce unnecessary work when handling remote device list updates. ([\#12557](https://github.com/matrix-org/synapse/issues/12557))
2022-04-26 18:07:15 +01:00
David Robertson
9cfecd2dc0 Adjust changelog v1.58.0rc2 2022-04-26 17:22:12 +01:00
David Robertson
56c9c6c465 Credit Tulir's contribution in 1.58.0rc1 to Beeper, too 2022-04-26 17:17:56 +01:00
David Robertson
6b64ee9ec7 1.58.0rc2 2022-04-26 17:16:43 +01:00
Erik Johnston
f59e3f4c90 Mark remote device list updates as already handled (#12557) 2022-04-26 17:07:21 +01:00
David Robertson
6d89f1239c Comment out dodgy log-kv (#12554) 2022-04-26 15:53:06 +01:00
Erik Johnston
c48ab3734e Fix sending opentracing contexts to remote servers (#12555) 2022-04-26 14:48:16 +00:00
Jason Robinson
706456de1f Mark Dockerfile as requiring BuildKit (#12541)
Co-authored-by: David Robertson <davidr@element.io>
2022-04-26 15:31:52 +01:00
David Robertson
ee1601e59d Unbold deprecation: it is mentioned at the top v1.58.0rc1 2022-04-26 11:59:10 +01:00
David Robertson
6b9e95015b Lint the release script 2022-04-26 11:53:37 +01:00
David Robertson
416604e3bc Another set of changelog updates 2022-04-26 11:51:47 +01:00
David Robertson
a54d9b0508 We don't require redbaron in the release script 2022-04-26 11:37:21 +01:00
David Robertson
f987cdd80b Changelog update 2022-04-26 11:32:57 +01:00
David Robertson
30db7fdb91 1.58.0rc1 2022-04-26 11:15:33 +01:00
David Robertson
7c063da25c Temporarily lower debian changelog version number
This seems to make dch happy when we prepare the release.
2022-04-26 11:14:41 +01:00
David Robertson
730fcda546 Update release script to be poetry-aware
Poetry now manages the project version in pyproject.toml.
2022-04-26 11:14:27 +01:00
Shay
99ab45423a build debian package for jammy jellyfish (#12543) 2022-04-26 10:34:59 +01:00
Richard van der Hoff
17d99f758a Optimise backfill calculation (#12522)
Try to avoid an OOM by checking fewer extremities.

Generally this is a big rewrite of _maybe_backfill, to try and fix some of the TODOs and other problems in it. It's best reviewed commit-by-commit.
2022-04-26 10:27:11 +01:00
Shay
e75c7e3b6d Add a table of contents to config manual (#12527)
* Update config_documentation.md
2022-04-25 11:43:59 -07:00
Sean Quah
8a87b4435a Handle cancellation in EventsWorkerStore._get_events_from_cache_or_db (#12529)
Multiple calls to `EventsWorkerStore._get_events_from_cache_or_db` can
reuse the same database fetch, which is initiated by the first call.
Ensure that cancelling the first call doesn't cancel the other calls
sharing the same database fetch.

Signed-off-by: Sean Quah <seanq@element.io>
2022-04-25 19:39:17 +01:00
Sami Olmari
813d728d09 Correct typo in user_admin_api.md device deletion JSON (#12533)
Signed-off-by: Sami Olmari <sami@olmari.fi>
2022-04-25 12:39:15 +00:00
David Robertson
8bac3e0435 disallow-untyped-defs in docker and stubs directories (#12528) 2022-04-25 12:32:35 +00:00
Patrick Cloke
185da8f0f2 Misc. clean-ups to the relations code (#12519)
* Corrects some typos / copy & paste errors in tests.
* Clarifies docstrings.
* Removes an unnecessary method.
2022-04-25 08:25:56 -04:00
villepeh
d9b71410c2 Add HAProxy delegation example to docs (#12501)
Signed-off-by: Ville Petteri Huh
2022-04-25 13:18:18 +01:00
Dirk Klimpel
a36a38b1ca Add some example configurations for worker (#12492)
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-04-25 13:17:03 +01:00
Sean Quah
a50fb411b3 Update delay_cancellation to accept any awaitable (#12468)
This will mainly be useful when dealing with module callbacks, which are
all typed as returning `Awaitable`s instead of coroutines or
`Deferred`s.

Signed-off-by: Sean Quah <seanq@element.io>
2022-04-22 18:20:06 +01:00
Will Hunt
b82fff66df MSC3202: Fix device_unused_fallback_keys -> device_unused_fallback_key_types (#12520)
* Fix device_unused_fallback_keys -> device_unused_fallback_key_types

* changelog
2022-04-22 16:03:46 +01:00
Richard van der Hoff
f46b223354 turn-howto: fix some links 2022-04-22 14:23:40 +01:00
Richard van der Hoff
f5668f0b4a Await un-partial-stating after a partial-state join (#12399)
When we join a room via the faster-joins mechanism, we end up with "partial
state" at some points on the event DAG. Many parts of the codebase need to
wait for the full state to load. So, we implement a mechanism to keep track of
which events have partial state, and wait for them to be fully-populated.
2022-04-21 07:42:03 +01:00
David Robertson
09b4f6e46d Remove leftover references to setup.py (#12514)
* Remove leftover references to setup.py

Missed in #12478.

* Changelog
2022-04-20 18:16:49 +00:00
Olivier Wilkinson (reivilibre)
01c8f9ca69 Merge branch 'master' into develop 2022-04-20 17:44:19 +01:00
David Robertson
e5a76ec00b Dump setuptools; correct pyproject version number (#12478) 2022-04-20 17:33:20 +01:00
Patrick Cloke
103f51d867 Fix Jinja templating error when generating thumbnail URLs. (#12510)
scale is meant to be a constant string, not refer to a variable.
2022-04-20 12:03:03 -04:00
Olivier Wilkinson (reivilibre)
f8f06fc773 Clarify changelog entry v1.57.1 2022-04-20 15:48:05 +01:00
Olivier Wilkinson (reivilibre)
05e8a5d298 1.57.1 2022-04-20 15:30:03 +01:00
reivilibre
3e2e76ca15 Include version 0.2.0 of the Synapse LDAP Auth Provider module in the Docker image. (#12512)
* poetry update matrix-synapse-ldap3

* Newsfile

Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2022-04-20 14:22:53 +00:00
David Robertson
ecef741add Recommend poetry in docs (#12475)
* Recommend poetry in docs

- readme
- contributor guide
- upgrade notes
- new dev cheat sheet for poetry

Co-authored-by: Shay <hillerys@element.io>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-04-20 15:18:21 +01:00
Patrick Cloke
d0c1f4ca4c Remove unnecessary config overrides for MSC3666. (#12511) 2022-04-20 09:56:59 -04:00
Tulir Asokan
4bc8cb4669 Implement MSC2815: allow room moderators to view redacted event content (#12427)
Implements matrix-org/matrix-spec-proposals#2815

Signed-off-by: Tulir Asokan <tulir@maunium.net>
2022-04-20 12:57:39 +01:00