summary refs log tree commit diff
path: root/synapse/logging (unfollow)
Commit message (Expand)AuthorFilesLines
2022-04-201.57.1Olivier Wilkinson (reivilibre)5-3/+21
2022-04-20Include version 0.2.0 of the Synapse LDAP Auth Provider module in the Docker ...reivilibre2-4/+9
2022-04-19Link to specific version of upgrade notes v1.57.0Olivier Wilkinson (reivilibre)1-1/+1
2022-04-19fix typo in upgrade notesRichard van der Hoff1-1/+1
2022-04-191.57.0Olivier Wilkinson (reivilibre)4-4/+16
2022-04-12Update changelogErik Johnston1-10/+6
2022-04-12Update UPGRADE notes to include more details about v1.57 upgrade failure mode...Richard van der Hoff1-8/+47
2022-04-12Split changelogs by year v1.57.0rc1Erik Johnston6-5753/+5759
2022-04-12Don't line wrapErik Johnston1-7/+2
2022-04-121.57.0rc1Erik Johnston87-86/+123
2022-04-12Add some type hints to datastore (#12423)Dirk Klimpel9-77/+123
2022-04-12Poetry: select olddeps using `poetry` (#12407)David Robertson4-29/+70
2022-04-12Specify tls extra for Twisted dependency. (#12444)Erik Johnston5-9/+10
2022-04-12Workaround pip bug installing latest treq and not-latest twisted from hashes ...David Robertson2-1/+2
2022-04-11Remove experimental configuration flag for MSC3666. (#12436)Patrick Cloke3-19/+15
2022-04-11Add missing type hints to config classes. (#12402)Patrick Cloke51-151/+263
2022-04-11Enable certificate checking during complement tests (#12435)Richard van der Hoff3-12/+1
2022-04-11Do not consider events by ignored users for bundled aggregations (#12235)Patrick Cloke6-45/+427
2022-04-11Fix up healthcheck generation for workers docker image (#12405)Richard van der Hoff4-11/+11
2022-04-11Disallow untyped defs in synapse._scripts (#12422)David Robertson14-140/+221
2022-04-11Move complement setup stuff into the Synapse repo (#12404)Richard van der Hoff12-52/+449
2022-04-11Add Module API for reading and writing global account data. (#12391)reivilibre3-0/+234
2022-04-08CI: Fix the export-data job to run under poetry (#12418)David Robertson3-16/+13
2022-04-08Optimise `_update_client_ips_batch_txn` to batch together database operations...reivilibre4-51/+190
2022-04-08Make `synapse._scripts` pass typechecks (#12421)David Robertson6-43/+50
2022-04-08Stop maintaining a list of lint targets in `lint.sh` (#12420)David Robertson5-31/+10
2022-04-08Unify HTTP query parameter type hints (#12415)David Robertson6-38/+43
2022-04-08Update the server notices user profile in room if changed. (#12115)Jorge Florian3-4/+148
2022-04-08CI: Get the portdb job to run under poetry (#12412)David Robertson3-19/+15
2022-04-08Add missing type definitions for scripts in docker folder (#12280)Jorge Florian3-4/+7
2022-04-07Fix rejecting invites over federation (#12409)Erik Johnston2-20/+34
2022-04-07Fix fetching public rooms over federation (#12410)Erik Johnston2-1/+2
2022-04-07Do not add groups to sync results if disabled. (#12408)Patrick Cloke3-10/+11
2022-04-07Add opentracing spans to calls to external cache (#12380)Erik Johnston3-11/+24
2022-04-07Poetry: use locked environment in Docker images (#12385)David Robertson4-26/+69
2022-04-07Support the v1 endpoint for `/relations`. (#12403)Patrick Cloke3-12/+13
2022-04-06Clarify that we mark as outliers because we don't have any state for them (#1...Eric Eastwood2-1/+3
2022-04-06Update changelog to describe changes from #12370 relative to `develop` (#12401)Eric Eastwood2-1/+1
2022-04-06Remove docs for converting a legacy structured logging config. (#12392)Patrick Cloke3-81/+3
2022-04-06Remove support for the unstable identifier from MSC3288. (#12398)Patrick Cloke2-2/+1
2022-04-06Narrow the `importlib_metadata` dependency (#12400)David Robertson2-1/+2
2022-04-06Fix `synapse_event_persisted_position` metric (#12390)Richard van der Hoff2-3/+4
2022-04-06Update type annotations for compatiblity with prometheus_client 0.14 (#12389)Richard van der Hoff8-18/+67
2022-04-06Generate historic pagination token for `/messages` when no `?from` token prov...Eric Eastwood6-15/+27
2022-04-05Add missing dependency on importlib_metadata (#12384)David Robertson4-1/+8
2022-04-05Poetry: initial pyproject.toml and poetry.lock (#12381)David Robertson4-0/+3062
2022-04-05Post 1.56.0 release tidy up (#12379)Sean Quah3-2/+2
2022-04-05Update mdbook to 0.4.17 (#12339)Andrew Morgan2-1/+2
2022-04-05Fix edge case where a `Linearizer` could get stuck (#12358)Sean Quah3-5/+53
2022-04-05Make `StreamToken` and `RoomStreamToken` methods propagate cancellations (#12...Sean Quah2-0/+6
2022-04-05Update docstrings for `ReadWriteLock` tests (#12354)Sean Quah2-6/+7
2022-04-05Refactor and convert `Linearizer` to async (#12357)Sean Quah21-115/+104
2022-04-05Convert `Linearizer` tests from `inlineCallbacks` to async (#12353)Sean Quah2-91/+134
2022-04-05Prefill more stream change caches. (#12372)Erik Johnston6-61/+92
2022-04-05Add type hints to some tests files (#12371)Dirk Klimpel6-42/+58
2022-04-05Tweak CHANGES.md v1.56.0Sean Quah1-3/+1
2022-04-05Fix a spec compliance issue where requests to the `/publicRooms` federation A...reivilibre2-2/+3
2022-04-05Allow specifying the Postgres database's port when running unit tests with Po...reivilibre4-3/+24
2022-04-051.56.0Sean Quah5-6/+20
2022-04-05Pin signedjson to <= 1.1.1 as a temporary workaround for #12324Sean Quah1-1/+1
2022-04-05Bump `black` and `click` versions (#12320)David Robertson16-30/+37
2022-04-05Explain how to decipher live and historic pagination tokens (#12317)Eric Eastwood2-11/+86
2022-04-04Update broken link in `workers.md` (#12369)Shay2-1/+2
2022-04-04Allow non-member state sent in room batch to resolve for historic events (MSC...Eric Eastwood2-26/+13
2022-04-04Prefill the device_list_stream_cache (#12367)Erik Johnston3-2/+23
2022-04-04Track device list updates per room. (#12321)Erik Johnston11-47/+390
2022-04-03Remove more dead/broken dev scripts (#12355)David Robertson5-359/+1
2022-04-01Add type hints for `tests/unittest.py`. (#12347)Richard van der Hoff12-48/+97
2022-04-01Remove redundant `get_success` calls in test code (#12346)Richard van der Hoff13-121/+74
2022-04-01Default to `private` room visibility rather than `public` when a client does ...reivilibre5-7/+15
2022-04-01Burn `check_signature` dev script. (#12351)David Robertson4-74/+2
2022-04-01Use a sequence to generate AS transaction IDs, drop `last_txn` AS state (#12209)Nick Mills-Barrett6-113/+83
2022-04-01Remove `list_url_patterns` dev script (#12349)David Robertson3-61/+1
2022-04-01Move single-use methods out of `TestCase` (#12348)Richard van der Hoff4-27/+28
2022-04-01Move `update_client_ip` background job from the main process to the backgroun...reivilibre10-153/+160
2022-04-01Raise an exception when getting state at an outlier (#12191)Richard van der Hoff4-22/+87
2022-04-01Optimise `_get_state_after_missing_prev_event`: use `/state` (#12040)Richard van der Hoff4-9/+268
2022-04-01Add a module callback to react to account data changes (#12327)Brendan Abolivier7-2/+250
2022-04-01Add set_user_admin function to the module API (#12341)Amanda Graven3-0/+26
2022-03-31Move MSC2654 support behind an experimental configuration flag. (#12295)Patrick Cloke4-1/+12
2022-03-31Handle outliers in `/federation/v1/event` (#12332)Richard van der Hoff3-106/+182
2022-03-31Add more type hints to the main state store. (#12267)Patrick Cloke4-10/+16
2022-03-31Add a callback to react to 3PID associations (#12302)Brendan Abolivier6-0/+92
2022-03-31README-testing.md: fix minor errorRichard van der Hoff1-1/+1
2022-03-31Remove an unnecessary class from the relations code. (#12338)Patrick Cloke4-74/+32
2022-03-31Remove `dockerfile-pgtests` (#12336)David Robertson5-89/+1
2022-03-31Ignore .envrc for direnv users (#12335)David Robertson2-0/+4
2022-03-31Nuke the tox `packaging` job (#12334)David Robertson3-10/+2
2022-03-31Ensure the type of URL attributes is always str when matching against preview...Brendan Abolivier3-4/+49
2022-03-30Remove the unused and unstable `/aggregations` endpoint. (#12293)Patrick Cloke6-478/+17
2022-03-30Send device list updates to application services (MSC3202) - part 1 (#11881)Andrew Morgan15-82/+490
2022-03-30Flesh out documentation for running SyTest against Synapse, including use of ...reivilibre2-1/+8
2022-03-30Update dead links in check-newsfragment.sh (#12331)David Robertson2-2/+3
2022-03-30Remove references to "msc2403" (#12165)Andrew Morgan5-5/+4
2022-03-30Start application service stream token tracking from 1 (#12193)Andrew Morgan4-4/+6
2022-03-30Disable proactive sends for remote joins (#12330)Richard van der Hoff2-0/+7
2022-03-30Add a configuration to exclude rooms from sync response (#12310)Brendan Abolivier7-21/+138
2022-03-29Fix typechecker problems exposed by signedjson 1.1.2 (#12326)David Robertson9-25/+38
2022-03-29Room batch: fix up handling of unknown prev_event_ids (#12316)Richard van der Hoff2-8/+14
2022-03-29Add note in changelog of non-C type locale causing Synapse to refuse to start...Andrew Morgan1-0/+5
2022-03-29Move warning of open registration to v1.56 upgrade notes (#12322)Andrew Morgan3-7/+18
2022-03-29Update `LoggingTransaction.call_after` and `call_on_exception` docstrings (#1...Sean Quah2-3/+21
2022-03-29Bump `black` and `click` versions (#12320)David Robertson16-30/+37
2022-03-29Missing period v1.56.0rc1Brendan Abolivier1-1/+1
2022-03-29Fix formattingBrendan Abolivier1-1/+1
2022-03-29Link to pre-1.0 changelogBrendan Abolivier1-0/+2
2022-03-29Linkify MSCsBrendan Abolivier1-2/+2
2022-03-29Split changelogsBrendan Abolivier2-3642/+3640
2022-03-29Fixup changelogBrendan Abolivier1-13/+13
2022-03-291.56.0rc1Brendan Abolivier46-44/+66
2022-03-29Remove unused `auth_event_ids` argument plumbing (#12304)Eric Eastwood3-27/+1
2022-03-28Exclude outliers in `on_backfill_request` (#12314)Richard van der Hoff2-3/+10
2022-03-28Add some type hints to datastore. (#12255)Dirk Klimpel10-42/+61
2022-03-28Un-revert Jinja2 fix (#12313)Brendan Abolivier3-6/+10
2022-03-28Allow modules to store already existing 3PID associations (#12195)Brendan Abolivier2-1/+27
2022-03-28Improve type annotations for `execute_values`. (#12311)reivilibre2-10/+8
2022-03-28HAProxy guide update (#12279)villepeh2-2/+3
2022-03-25Add restrictions by default to open registration in Synapse (#12091)Shay7-4/+67
2022-03-25Add cache for `get_membership_from_event_ids` (#12272)Erik Johnston6-22/+72
2022-03-25Enhance logging for inbound federation events (#12301)Richard van der Hoff2-1/+2
2022-03-25Refactor `create_new_client_event` to use a new parameter, `state_event_ids`,...Eric Eastwood5-65/+165
2022-03-25Always allow the empty string as an avatar_url. (#12261)David Robertson4-0/+32
2022-03-25Authentik OpenID minor doc update (#12275)IronTooch2-1/+4
2022-03-25Mention the new behaviour on unsafe database locale in the upgrade notes (#12...Brendan Abolivier2-0/+8
2022-03-24Re-enable test concurrency on Complement (#12283)kegsay2-1/+2
2022-03-24Remove unused test code. (#12291)Patrick Cloke2-110/+1
2022-03-24changelog v1.55.2Richard van der Hoff1-1/+1
2022-03-241.55.2Richard van der Hoff4-2/+19
2022-03-24Pin Jinja to <3.1.0 (#12297)Andrew Morgan2-1/+3
2022-03-24Revert "Replace instances of deprecated `Jinja2.Markup` with `markupsafe.Mark...Andrew Morgan2-6/+4
2022-03-24update changelog for 1.55.1 v1.55.1Andrew Morgan1-2/+2
2022-03-241.55.1Andrew Morgan4-2/+18
2022-03-24Replace instances of deprecated `Jinja2.Markup` with `markupsafe.Markup` (#12...Andrew Morgan3-4/+7
2022-03-24Do not consider events by ignored users for relations (#12285)Patrick Cloke7-4/+90
2022-03-24Optionally include account validity in MSC3720 account status responses (#12266)Brendan Abolivier4-1/+73
2022-03-23Refuse to start if DB has an unsafe locale (#12262)Shay6-18/+93
2022-03-23Use psycopg2 type stubs (#12269)David Robertson4-4/+14
2022-03-23Remove mutual_rooms `update_user_directory` check, and add extra documentatio...Jonathan de Jong3-5/+17
2022-03-23Allow registering admin users using the module API (#12250)Nicolas Werner3-0/+15
2022-03-23Rename shared_rooms to mutual_rooms (#12036)Jonathan de Jong5-25/+27
2022-03-22Changelog: sso -> Single Sign-On v1.55.0Andrew Morgan1-1/+1
2022-03-22changelog: move notice from rc to final releaseAndrew Morgan1-4/+5
2022-03-221.55.0Andrew Morgan5-3/+16
2022-03-22Tweak copy for sso account details template (#12265)Michael Telatynski4-6/+7
2022-03-21Call out synctl changeDavid Robertson1-1/+3
2022-03-21Add type hints to tests files. (#12256)Dirk Klimpel6-88/+101
2022-03-21Reword 'Choose your user name' as 'Choose your account name' in the SSO regis...reivilibre2-1/+2
2022-03-21Make it possible to enable compression for the metrics HTTP resource (#12258)Nick Mills-Barrett2-1/+5
2022-03-21Return a 404 from `/state` for an outlier (#12087)Richard van der Hoff3-44/+25
2022-03-18Try to detect borked package installations. (#12244)David Robertson3-2/+38
2022-03-18Move get_bundled_aggregations to relations handler. (#12237)Patrick Cloke9-157/+173
2022-03-18Only fetch thread participation for events with threads. (#12228)Patrick Cloke4-245/+289
2022-03-18Sync more worker regexes in the documentation. (#12243)Patrick Cloke2-16/+15
2022-03-18Add some type hints to datastore (#12248)Dirk Klimpel4-84/+117
2022-03-18Correct `check_username_for_spam` annotations and docs (#12246)David Robertson8-16/+46
2022-03-17Generate announcement links in release script (#12242)David Robertson2-1/+41
2022-03-17Add type hints to more tests files. (#12240)Dirk Klimpel6-47/+66
2022-03-16Re-generate changelog. v1.55.0rc1Patrick Cloke2-1/+1
2022-03-16Fix bundling aggregations if unsigned is not a returned event field. (#12234)Patrick Cloke3-3/+35
2022-03-16Handle cancellation in `DatabasePool.runInteraction()` (#12199)Sean Quah3-24/+96
2022-03-16Add a relations handler to avoid duplication. (#12227)Patrick Cloke5-69/+134
2022-03-16Add some missing type hints to cache datastore. (#12216)Patrick Cloke2-21/+37
2022-03-16Fix dead link in spam checker warning (#12231)David Robertson2-2/+3
2022-03-16Refactor relations tests (#12232)Patrick Cloke2-406/+364
2022-03-16Clean-up logic for rebasing URLs during URL preview. (#12219)Patrick Cloke4-91/+26
2022-03-15Use the ignored_users table to test event visibility & sync. (#12225)Patrick Cloke6-47/+62
2022-03-15Add tests for database transaction callbacks (#12198)Sean Quah2-1/+104
2022-03-15Add type hints to some tests/handlers files. (#12224)Dirk Klimpel7-131/+156
2022-03-15Changelog tweaksDavid Robertson1-4/+6
2022-03-151.55.0rc1David Robertson65-63/+89
2022-03-14Add cancellation support to `@cached` and `@cachedList` decorators (#12183)Sean Quah3-2/+157
2022-03-14Add cancellation support to `ReadWriteLock` (#12120)Sean Quah4-93/+382
2022-03-14Fix broken background updates when using sqlite with `enable_search` off (#12...Sean Quah2-6/+8
2022-03-14Add `delay_cancellation` utility function (#12180)Sean Quah3-12/+161
2022-03-12Deprecate the groups/communities endpoints and add an experimental configurat...Patrick Cloke7-7/+35
2022-03-11Add config settings for background update parameters (#11980)Shay9-34/+430
2022-03-11Implement a Jinja2 filter to extract localparts from email addresses (#12212)Brendan Abolivier6-2/+23
2022-03-11Improve code documentation for the typing stream over replication. (#12211)reivilibre5-6/+20
2022-03-11Add an additional HTTP pusher + push rule tests. (#12188)Nick Mills-Barrett5-28/+95
2022-03-11Update the SSO username picker template to comply with SIWA guidelines (#12210)Brendan Abolivier8-13/+47
2022-03-11Add type hints to `tests/rest`. (#12208)Dirk Klimpel5-85/+129
2022-03-11Add some type hints to the tests.handlers module. (#12207)Patrick Cloke7-61/+74
2022-03-11Remove unnecessary pass statements. (#12206)Patrick Cloke11-15/+1
2022-03-11Note that contributors can sign off privately (#12204)Andrew Morgan2-0/+12
2022-03-11Retention test: avoid relying on state at purged events (#12202)Richard van der Hoff2-12/+18
2022-03-10Document that most streams can only have a single writer. (#12196)~creme2-14/+18
2022-03-10fix misleading comment in `check_events_for_spam` (#12203)Shay2-2/+3
2022-03-10Remove workaround introduced in Synapse v1.50.0rc1 for Mjolnir compatibility....reivilibre3-7/+9
2022-03-10Support stable identifiers for MSC3440: Threading (#12151)Patrick Cloke13-81/+109
2022-03-10Updates to the Room DAG concepts development document (#12179)Richard van der Hoff2-18/+54
2022-03-10Allow retrieving the relations of a redacted event. (#12130)Patrick Cloke8-83/+122
2022-03-10Rename get_tcp_replication to get_replication_command_handler. (#12192)Patrick Cloke15-19/+20
2022-03-09Remove dead code in `tests/storage/test_database.py` (#12197)Sean Quah2-16/+1
2022-03-09Add third_party module callbacks to check if a user can delete a room and dea...Will Hunt8-1/+254
2022-03-09Allow for ignoring some arguments when caching. (#12189)Patrick Cloke4-21/+142
2022-03-09Remove some unused variables/parameters. (#12187)Patrick Cloke2-9/+6
2022-03-09Retry some http replication failures (#12182)Nick Mills-Barrett2-11/+37
2022-03-09Skip attempt to get state at backwards-extremities (#12173)Richard van der Hoff2-57/+4
2022-03-08Clean-up demo scripts & documentation (#12143)Patrick Cloke9-71/+89
2022-03-08Use `ParamSpec` in type hints for `synapse.logging.context` (#12150)Sean Quah5-25/+37
2022-03-08Fix CI not attaching source distributions and wheels to the GitHub releases. ...reivilibre2-1/+3
2022-03-08Fix silly markdown typo v1.54.0Olivier Wilkinson (reivilibre)1-1/+1
2022-03-08Tweak changelog formattingOlivier Wilkinson (reivilibre)1-3/+2
2022-03-08Add experimental environment variable to enable asyncio reactor (#12135)Erik Johnston3-0/+25
2022-03-08Do not return allowed_room_ids from /hierarchy response. (#12175)Patrick Cloke3-2/+17
2022-03-08Fix incorrect type hints for txredis. (#12042)Patrick Cloke5-10/+14
2022-03-08Shift up warning about MjolnirOlivier Wilkinson (reivilibre)1-3/+4
2022-03-081.54.0Olivier Wilkinson (reivilibre)8-6/+25
2022-03-08Fix a bug introduced in 1.54.0rc1 which meant that Synapse would refuse to st...reivilibre3-1/+22
2022-03-07Fix a bug in background updates wherein background updates are never run usin...Shay4-15/+16
2022-03-07Invalidate caches when an event with a relation is redacted. (#12121)Patrick Cloke6-48/+202
2022-03-07Switch the `tests-done` job to an Action (#12161)Richard van der Hoff2-21/+10
2022-03-04Relax version guard for packaging (#12166)David Robertson2-2/+3
2022-03-04Reduce to-device queries for /sync. (#12163)Erik Johnston2-0/+4
2022-03-04Add type hints for `ObservableDeferred` attributes (#12159)Sean Quah2-3/+12
2022-03-04Add test for `ObservableDeferred`'s cancellation behaviour (#12149)Sean Quah2-0/+29
2022-03-04Remove backwards compatibility with RelationPaginationToken. (#12138)Patrick Cloke4-144/+16
2022-03-04Changelog (#12153)David Robertson3-1/+2
2022-03-04Move synctl into `synapse._scripts` and expose as an entrypoint (#12140)David Robertson11-13/+33
2022-03-04Spread out sending device lists to remote hosts (#12132)Erik Johnston7-16/+79
2022-03-04Update client-visibility filtering for outlier events (#12155)Richard van der Hoff3-4/+90
2022-03-04Fix type of `events` in `StateGroupStorage` and `StateHandler` (#12156)Richard van der Hoff3-7/+8
2022-03-03Avoid generating state groups for local out-of-band leaves (#12154)Richard van der Hoff2-1/+2
2022-03-03Rename various ApplicationServices interested methods (#11915)Andrew Morgan8-76/+175
2022-03-03Detox, part 2 of N (#12152)David Robertson2-26/+1
2022-03-03Add type hints to `tests/rest` (#12146)Dirk Klimpel9-92/+104
2022-03-03Use the proper serialization format when bundling aggregations. (#12090)Patrick Cloke10-143/+130
2022-03-03Don't impose version checks on dev extras at runtime (#12129)David Robertson3-9/+74
2022-03-03Enable MSC2716 Complement tests in Synapse (#12145)Eric Eastwood3-2/+3
2022-03-03Limit the size of the aggregation_key (#12101)Erik Johnston2-0/+4
2022-03-03Enable MSC3030 Complement tests in Synapse (#12144)Eric Eastwood3-2/+3
2022-03-03Correctly register deactivation and profile update module callbacks (#12141)Brendan Abolivier3-3/+16
2022-03-02Move the `snapcraft` configuration to `contrib`. (#12142)David Robertson3-1/+1
2022-03-02Add suffices to scripts in scripts-dev (#12137)David Robertson11-12/+19
2022-03-02Remove unused mocks from `test_typing` (#12136)David Robertson2-31/+2
2022-03-02Add type hints to `tests/rest/client` (#12108)Dirk Klimpel9-352/+423
2022-03-02Enable complexity checking in complexity checking docs example (#11998)Andrew Morgan2-9/+11
2022-03-02Make release script write correct no-op changelog (#12127)Erik Johnston2-2/+29
2022-03-02Check if instances are lists, not sequences. (#12128)Patrick Cloke3-5/+6
2022-03-02Move scripts directory inside synapse, exposing as setuptools entry_points (#...David Robertson27-135/+77
2022-03-02Reword changelog line about URL previews v1.54.0rc1Olivier Wilkinson (reivilibre)1-1/+1
2022-03-02Tweak changelogOlivier Wilkinson (reivilibre)1-1/+1
2022-03-02Improve and refactor the tests for relations. (#12113)Patrick Cloke2-208/+179
2022-03-02Apply suggestions to changelogOlivier Wilkinson (reivilibre)1-10/+9
2022-03-02Reword changelogOlivier Wilkinson (reivilibre)1-12/+16
2022-03-021.54.0rc1Olivier Wilkinson (reivilibre)74-72/+103
2022-03-02Remove misleading newsfile from #12126 which backs out an unreleased change.Olivier Wilkinson (reivilibre)1-1/+0
2022-03-02Back out in-flight state caching changes. (#12126)reivilibre7-676/+26
2022-03-02Make get_room_version use cached get_room_version_id. (#11808)lukasdenk3-15/+18
2022-03-01Detox, part 1 of N (#12119)David Robertson4-14/+12