Patrick Cloke
050e20e7ca
Convert some of the general database methods to async ( #8100 )
2020-08-17 12:18:01 -04:00
Andrew Morgan
e04e465b4d
Use the default templates when a custom template file cannot be found ( #8037 )
...
Fixes https://github.com/matrix-org/synapse/issues/6583
2020-08-17 17:05:00 +01:00
Patrick Cloke
ad6190c925
Convert stream database to async/await. ( #8074 )
2020-08-17 07:24:46 -04:00
Patrick Cloke
ac77cdb64e
Add a shadow-banned flag to users. ( #8092 )
2020-08-14 12:37:59 -04:00
Patrick Cloke
b069b78bb4
Convert pusher databases to async/await. ( #8075 )
2020-08-14 10:30:16 -04:00
Patrick Cloke
e8861957d9
Convert receipts and events databases to async/await. ( #8076 )
2020-08-14 10:05:19 -04:00
Erik Johnston
dc22090a67
Add type hints to synapse.handlers.room ( #8090 )
2020-08-14 14:47:53 +01:00
Patrick Cloke
6b7ce1d332
Remove some unused database functions. ( #8085 )
2020-08-14 09:25:40 -04:00
Patrick Cloke
894dae74fe
Convert misc database code to async ( #8087 )
2020-08-14 07:24:26 -04:00
Patrick Cloke
7bdf9828d5
Remove a space at the start of a changelog entry.
2020-08-13 14:16:18 -04:00
Olivier Wilkinson (reivilibre)
bfd79c2988
Synapse 1.19.0rc1 (2020-08-13)
...
==============================
Removal warning
---------------
As outlined in the [previous release](https://github.com/matrix-org/synapse/releases/tag/v1.18.0 ), we are no longer publishing Docker images with the `-py3` tag suffix. On top of that, we have also removed the `latest-py3` tag. Please see [the announcement in the upgrade notes for 1.18.0](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180 ).
Features
--------
- Add option to allow server admins to join rooms which fail complexity checks. Contributed by @lugino-emeritus. ([\#7902](https://github.com/matrix-org/synapse/issues/7902 ))
- Add an option to purge room or not with delete room admin endpoint (`POST /_synapse/admin/v1/rooms/<room_id>/delete`). Contributed by @dklimpel. ([\#7964](https://github.com/matrix-org/synapse/issues/7964 ))
- Add rate limiting to users joining rooms. ([\#8008](https://github.com/matrix-org/synapse/issues/8008 ))
- Add a `/health` endpoint to every configured HTTP listener that can be used as a health check endpoint by load balancers. ([\#8048](https://github.com/matrix-org/synapse/issues/8048 ))
- Allow login to be blocked based on the values of SAML attributes. ([\#8052](https://github.com/matrix-org/synapse/issues/8052 ))
- Allow guest access to the `GET /_matrix/client/r0/rooms/{room_id}/members` endpoint, according to MSC2689. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7314](https://github.com/matrix-org/synapse/issues/7314 ))
Bugfixes
--------
- Fix a bug introduced in Synapse v1.7.2 which caused inaccurate membership counts in the room directory. ([\#7977](https://github.com/matrix-org/synapse/issues/7977 ))
- Fix a long standing bug: 'Duplicate key value violates unique constraint "event_relations_id"' when message retention is configured. ([\#7978](https://github.com/matrix-org/synapse/issues/7978 ))
- Fix "no create event in auth events" when trying to reject invitation after inviter leaves. Bug introduced in Synapse v1.10.0. ([\#7980](https://github.com/matrix-org/synapse/issues/7980 ))
- Fix various comments and minor discrepencies in server notices code. ([\#7996](https://github.com/matrix-org/synapse/issues/7996 ))
- Fix a long standing bug where HTTP HEAD requests resulted in a 400 error. ([\#7999](https://github.com/matrix-org/synapse/issues/7999 ))
- Fix a long-standing bug which caused two copies of some log lines to be written when synctl was used along with a MemoryHandler logger. ([\#8011](https://github.com/matrix-org/synapse/issues/8011 ), [\#8012](https://github.com/matrix-org/synapse/issues/8012 ))
Updates to the Docker image
---------------------------
- We no longer publish Docker images with the `-py3` tag suffix, as [announced in the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180 ). ([\#8056](https://github.com/matrix-org/synapse/issues/8056 ))
Improved Documentation
----------------------
- Document how to set up a client .well-known file and fix several pieces of outdated documentation. ([\#7899](https://github.com/matrix-org/synapse/issues/7899 ))
- Improve workers docs. ([\#7990](https://github.com/matrix-org/synapse/issues/7990 ), [\#8000](https://github.com/matrix-org/synapse/issues/8000 ))
- Fix typo in `docs/workers.md`. ([\#7992](https://github.com/matrix-org/synapse/issues/7992 ))
- Add documentation for how to undo a room shutdown. ([\#7998](https://github.com/matrix-org/synapse/issues/7998 ), [\#8010](https://github.com/matrix-org/synapse/issues/8010 ))
Internal Changes
----------------
- Reduce the amount of whitespace in JSON stored and sent in responses. Contributed by David Vo. ([\#7372](https://github.com/matrix-org/synapse/issues/7372 ))
- Switch to the JSON implementation from the standard library and bump the minimum version of the canonicaljson library to 1.2.0. ([\#7936](https://github.com/matrix-org/synapse/issues/7936 ), [\#7979](https://github.com/matrix-org/synapse/issues/7979 ))
- Convert various parts of the codebase to async/await. ([\#7947](https://github.com/matrix-org/synapse/issues/7947 ), [\#7948](https://github.com/matrix-org/synapse/issues/7948 ), [\#7949](https://github.com/matrix-org/synapse/issues/7949 ), [\#7951](https://github.com/matrix-org/synapse/issues/7951 ), [\#7963](https://github.com/matrix-org/synapse/issues/7963 ), [\#7973](https://github.com/matrix-org/synapse/issues/7973 ), [\#7975](https://github.com/matrix-org/synapse/issues/7975 ), [\#7976](https://github.com/matrix-org/synapse/issues/7976 ), [\#7981](https://github.com/matrix-org/synapse/issues/7981 ), [\#7987](https://github.com/matrix-org/synapse/issues/7987 ), [\#7989](https://github.com/matrix-org/synapse/issues/7989 ), [\#8003](https://github.com/matrix-org/synapse/issues/8003 ), [\#8014](https://github.com/matrix-org/synapse/issues/8014 ), [\#8016](https://github.com/matrix-org/synapse/issues/8016 ), [\#8027](https://github.com/matrix-org/synapse/issues/8027 ), [\#8031](https://github.com/matrix-org/synapse/issues/8031 ), [\#8032](https://github.com/matrix-org/synapse/issues/8032 ), [\#8035](https://github.com/matrix-org/synapse/issues/8035 ), [\#8042](https://github.com/matrix-org/synapse/issues/8042 ), [\#8044](https://github.com/matrix-org/synapse/issues/8044 ), [\#8045](https://github.com/matrix-org/synapse/issues/8045 ), [\#8061](https://github.com/matrix-org/synapse/issues/8061 ), [\#8062](https://github.com/matrix-org/synapse/issues/8062 ), [\#8063](https://github.com/matrix-org/synapse/issues/8063 ), [\#8066](https://github.com/matrix-org/synapse/issues/8066 ), [\#8069](https://github.com/matrix-org/synapse/issues/8069 ), [\#8070](https://github.com/matrix-org/synapse/issues/8070 ))
- Move some database-related log lines from the default logger to the database/transaction loggers. ([\#7952](https://github.com/matrix-org/synapse/issues/7952 ))
- Add a script to detect source code files using non-unix line terminators. ([\#7965](https://github.com/matrix-org/synapse/issues/7965 ), [\#7970](https://github.com/matrix-org/synapse/issues/7970 ))
- Log the SAML session ID during creation. ([\#7971](https://github.com/matrix-org/synapse/issues/7971 ))
- Implement new experimental push rules for some users. ([\#7997](https://github.com/matrix-org/synapse/issues/7997 ))
- Remove redundant and unreliable signature check for v1 Identity Service lookup responses. ([\#8001](https://github.com/matrix-org/synapse/issues/8001 ))
- Improve the performance of the register endpoint. ([\#8009](https://github.com/matrix-org/synapse/issues/8009 ))
- Reduce less useful output in the newsfragment CI step. Add a link to the changelog section of the contributing guide on error. ([\#8024](https://github.com/matrix-org/synapse/issues/8024 ))
- Rename storage layer objects to be more sensible. ([\#8033](https://github.com/matrix-org/synapse/issues/8033 ))
- Change the default log config to reduce disk I/O and storage for new servers. ([\#8040](https://github.com/matrix-org/synapse/issues/8040 ))
- Add an assertion on `prev_events` in `create_new_client_event`. ([\#8041](https://github.com/matrix-org/synapse/issues/8041 ))
- Add a comment to `ServerContextFactory` about the use of `SSLv23_METHOD`. ([\#8043](https://github.com/matrix-org/synapse/issues/8043 ))
- Log `OPTIONS` requests at `DEBUG` rather than `INFO` level to reduce amount logged at `INFO`. ([\#8049](https://github.com/matrix-org/synapse/issues/8049 ))
- Reduce amount of outbound request logging at `INFO` level. ([\#8050](https://github.com/matrix-org/synapse/issues/8050 ))
- It is no longer necessary to explicitly define `filters` in the logging configuration. (Continuing to do so is redundant but harmless.) ([\#8051](https://github.com/matrix-org/synapse/issues/8051 ))
- Add and improve type hints. ([\#8058](https://github.com/matrix-org/synapse/issues/8058 ), [\#8064](https://github.com/matrix-org/synapse/issues/8064 ), [\#8060](https://github.com/matrix-org/synapse/issues/8060 ), [\#8067](https://github.com/matrix-org/synapse/issues/8067 ))
-----BEGIN PGP SIGNATURE-----
iQJKBAABCgA0FiEEnGyN+jjiKnCf/nYCBnFee20mPkIFAl81c5QWHG9saXZpZXJA
bGlicmVwdXNoLm5ldAAKCRAGcV57bSY+QvA7D/9qMkvldt24XZymcY9WV3Po+SzC
Ijb+ZXdbUq/ZmhqJWeK7NRwiYLPuJHOUZ1Bk2GF6U8OOYQLoz+UmtShXxSu32cwc
/0UUxsF+CAuxs6NowUq2d4n/5Hkl4A2Oi0NP7sjU4k7TJU9s5wWrG0l20EBUfx0r
XPxDjZUPNoVH+Ecj3l3jt8+ixNeyWHPOmJsZmzOYEnfA8eAmHEozJ7ymh6qiR5qQ
apfK9VeWR1bLJ/zUv+U4mTWRL8YSkswdtU6PamJjf86lMfEZJPp32l5ydEmq+4KV
MaljYo20QuxkOrdQghtjiPakxhxCJAQRDBNMcMFTclicexlwEwoRgT9XjXhujd7G
D58q6x+Nsy7YaZdE92ZGqaok3taoV1rmAQOV1qm/7SnmPyomOamlTnuIknvkJdys
i5Vir0HcbcStNlVIWAYJdO7/t0JoEerI/eH1j2PJu35d8/Q4RFbuLSwUCaKErmPl
BuGPrSGztEfRu604JJn5lpHQKBsI+oS/F68Xet6mlzNeidnY0AYxjyyYj7qJo4X7
z9EX4UY1PTIGHQ13l4iG4wb4KgRk9APPw4G8xwhWDJQWvNVuePOHGM+sw4fV22wP
FDKxb4+r2Sa9hnKpUzlGj+AJWbSwldF1Cdyo1l8b/fzo3UJbzeG8216xVfE+K91o
pxrQoiSqq0Isn8dtmw==
=pUup
-----END PGP SIGNATURE-----
Merge tag 'v1.19.0rc1' into develop
Synapse 1.19.0rc1 (2020-08-13)
==============================
Removal warning
---------------
As outlined in the [previous release](https://github.com/matrix-org/synapse/releases/tag/v1.18.0 ), we are no longer publishing Docker images with the `-py3` tag suffix. On top of that, we have also removed the `latest-py3` tag. Please see [the announcement in the upgrade notes for 1.18.0](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180 ).
Features
--------
- Add option to allow server admins to join rooms which fail complexity checks. Contributed by @lugino-emeritus. ([\#7902](https://github.com/matrix-org/synapse/issues/7902 ))
- Add an option to purge room or not with delete room admin endpoint (`POST /_synapse/admin/v1/rooms/<room_id>/delete`). Contributed by @dklimpel. ([\#7964](https://github.com/matrix-org/synapse/issues/7964 ))
- Add rate limiting to users joining rooms. ([\#8008](https://github.com/matrix-org/synapse/issues/8008 ))
- Add a `/health` endpoint to every configured HTTP listener that can be used as a health check endpoint by load balancers. ([\#8048](https://github.com/matrix-org/synapse/issues/8048 ))
- Allow login to be blocked based on the values of SAML attributes. ([\#8052](https://github.com/matrix-org/synapse/issues/8052 ))
- Allow guest access to the `GET /_matrix/client/r0/rooms/{room_id}/members` endpoint, according to MSC2689. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7314](https://github.com/matrix-org/synapse/issues/7314 ))
Bugfixes
--------
- Fix a bug introduced in Synapse v1.7.2 which caused inaccurate membership counts in the room directory. ([\#7977](https://github.com/matrix-org/synapse/issues/7977 ))
- Fix a long standing bug: 'Duplicate key value violates unique constraint "event_relations_id"' when message retention is configured. ([\#7978](https://github.com/matrix-org/synapse/issues/7978 ))
- Fix "no create event in auth events" when trying to reject invitation after inviter leaves. Bug introduced in Synapse v1.10.0. ([\#7980](https://github.com/matrix-org/synapse/issues/7980 ))
- Fix various comments and minor discrepencies in server notices code. ([\#7996](https://github.com/matrix-org/synapse/issues/7996 ))
- Fix a long standing bug where HTTP HEAD requests resulted in a 400 error. ([\#7999](https://github.com/matrix-org/synapse/issues/7999 ))
- Fix a long-standing bug which caused two copies of some log lines to be written when synctl was used along with a MemoryHandler logger. ([\#8011](https://github.com/matrix-org/synapse/issues/8011 ), [\#8012](https://github.com/matrix-org/synapse/issues/8012 ))
Updates to the Docker image
---------------------------
- We no longer publish Docker images with the `-py3` tag suffix, as [announced in the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180 ). ([\#8056](https://github.com/matrix-org/synapse/issues/8056 ))
Improved Documentation
----------------------
- Document how to set up a client .well-known file and fix several pieces of outdated documentation. ([\#7899](https://github.com/matrix-org/synapse/issues/7899 ))
- Improve workers docs. ([\#7990](https://github.com/matrix-org/synapse/issues/7990 ), [\#8000](https://github.com/matrix-org/synapse/issues/8000 ))
- Fix typo in `docs/workers.md`. ([\#7992](https://github.com/matrix-org/synapse/issues/7992 ))
- Add documentation for how to undo a room shutdown. ([\#7998](https://github.com/matrix-org/synapse/issues/7998 ), [\#8010](https://github.com/matrix-org/synapse/issues/8010 ))
Internal Changes
----------------
- Reduce the amount of whitespace in JSON stored and sent in responses. Contributed by David Vo. ([\#7372](https://github.com/matrix-org/synapse/issues/7372 ))
- Switch to the JSON implementation from the standard library and bump the minimum version of the canonicaljson library to 1.2.0. ([\#7936](https://github.com/matrix-org/synapse/issues/7936 ), [\#7979](https://github.com/matrix-org/synapse/issues/7979 ))
- Convert various parts of the codebase to async/await. ([\#7947](https://github.com/matrix-org/synapse/issues/7947 ), [\#7948](https://github.com/matrix-org/synapse/issues/7948 ), [\#7949](https://github.com/matrix-org/synapse/issues/7949 ), [\#7951](https://github.com/matrix-org/synapse/issues/7951 ), [\#7963](https://github.com/matrix-org/synapse/issues/7963 ), [\#7973](https://github.com/matrix-org/synapse/issues/7973 ), [\#7975](https://github.com/matrix-org/synapse/issues/7975 ), [\#7976](https://github.com/matrix-org/synapse/issues/7976 ), [\#7981](https://github.com/matrix-org/synapse/issues/7981 ), [\#7987](https://github.com/matrix-org/synapse/issues/7987 ), [\#7989](https://github.com/matrix-org/synapse/issues/7989 ), [\#8003](https://github.com/matrix-org/synapse/issues/8003 ), [\#8014](https://github.com/matrix-org/synapse/issues/8014 ), [\#8016](https://github.com/matrix-org/synapse/issues/8016 ), [\#8027](https://github.com/matrix-org/synapse/issues/8027 ), [\#8031](https://github.com/matrix-org/synapse/issues/8031 ), [\#8032](https://github.com/matrix-org/synapse/issues/8032 ), [\#8035](https://github.com/matrix-org/synapse/issues/8035 ), [\#8042](https://github.com/matrix-org/synapse/issues/8042 ), [\#8044](https://github.com/matrix-org/synapse/issues/8044 ), [\#8045](https://github.com/matrix-org/synapse/issues/8045 ), [\#8061](https://github.com/matrix-org/synapse/issues/8061 ), [\#8062](https://github.com/matrix-org/synapse/issues/8062 ), [\#8063](https://github.com/matrix-org/synapse/issues/8063 ), [\#8066](https://github.com/matrix-org/synapse/issues/8066 ), [\#8069](https://github.com/matrix-org/synapse/issues/8069 ), [\#8070](https://github.com/matrix-org/synapse/issues/8070 ))
- Move some database-related log lines from the default logger to the database/transaction loggers. ([\#7952](https://github.com/matrix-org/synapse/issues/7952 ))
- Add a script to detect source code files using non-unix line terminators. ([\#7965](https://github.com/matrix-org/synapse/issues/7965 ), [\#7970](https://github.com/matrix-org/synapse/issues/7970 ))
- Log the SAML session ID during creation. ([\#7971](https://github.com/matrix-org/synapse/issues/7971 ))
- Implement new experimental push rules for some users. ([\#7997](https://github.com/matrix-org/synapse/issues/7997 ))
- Remove redundant and unreliable signature check for v1 Identity Service lookup responses. ([\#8001](https://github.com/matrix-org/synapse/issues/8001 ))
- Improve the performance of the register endpoint. ([\#8009](https://github.com/matrix-org/synapse/issues/8009 ))
- Reduce less useful output in the newsfragment CI step. Add a link to the changelog section of the contributing guide on error. ([\#8024](https://github.com/matrix-org/synapse/issues/8024 ))
- Rename storage layer objects to be more sensible. ([\#8033](https://github.com/matrix-org/synapse/issues/8033 ))
- Change the default log config to reduce disk I/O and storage for new servers. ([\#8040](https://github.com/matrix-org/synapse/issues/8040 ))
- Add an assertion on `prev_events` in `create_new_client_event`. ([\#8041](https://github.com/matrix-org/synapse/issues/8041 ))
- Add a comment to `ServerContextFactory` about the use of `SSLv23_METHOD`. ([\#8043](https://github.com/matrix-org/synapse/issues/8043 ))
- Log `OPTIONS` requests at `DEBUG` rather than `INFO` level to reduce amount logged at `INFO`. ([\#8049](https://github.com/matrix-org/synapse/issues/8049 ))
- Reduce amount of outbound request logging at `INFO` level. ([\#8050](https://github.com/matrix-org/synapse/issues/8050 ))
- It is no longer necessary to explicitly define `filters` in the logging configuration. (Continuing to do so is redundant but harmless.) ([\#8051](https://github.com/matrix-org/synapse/issues/8051 ))
- Add and improve type hints. ([\#8058](https://github.com/matrix-org/synapse/issues/8058 ), [\#8064](https://github.com/matrix-org/synapse/issues/8064 ), [\#8060](https://github.com/matrix-org/synapse/issues/8060 ), [\#8067](https://github.com/matrix-org/synapse/issues/8067 ))
2020-08-13 18:22:58 +01:00
Olivier Wilkinson (reivilibre)
091ca3910d
1.19.0rc1
2020-08-13 17:12:21 +01:00
Richard van der Hoff
53834bb9c4
Run `remove_push_actions_from_staging` in foreground ( #8081 )
...
If we got an error persisting an event, we would try to remove the push actions
asynchronously, which would lead to a 'Re-starting finished log context'
warning.
I don't think there's any need for this to be asynchronous.
2020-08-13 17:05:31 +01:00
reivilibre
ff0e894656
Drop federation transmission queues during a significant remote outage. ( #7864 )
...
* Empty federation transmission queues when we are backing off.
Fixes #7828 .
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Address feedback
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Reword newsfile
2020-08-13 12:35:04 +01:00
Patrick Cloke
dd8f28bd3f
Fix unawaited coroutine error in tests. ( #8072 )
2020-08-13 07:11:39 -04:00
Patrick Cloke
fbe930dad2
Convert the roommember database to async/await. ( #8070 )
2020-08-12 12:14:34 -04:00
Patrick Cloke
5ecc8b5825
Convert devices database to async/await. ( #8069 )
2020-08-12 10:51:42 -04:00
Erik Johnston
5dd73d029e
Add type hints to handlers.message and events.builder ( #8067 )
2020-08-12 15:05:50 +01:00
Patrick Cloke
d68e10f308
Convert account data, device inbox, and censor events databases to async/await ( #8063 )
2020-08-12 09:29:06 -04:00
Patrick Cloke
a3a59bab7b
Convert appservice, group server, profile and more databases to async ( #8066 )
2020-08-12 09:28:48 -04:00
Erik Johnston
9d1e4942ab
Fix typing for notifier ( #8064 )
2020-08-12 14:03:08 +01:00
Erik Johnston
6ba621d786
Merge pull request #8060 from matrix-org/erikj/type_server
...
Change HomeServer definition to work with typing.
2020-08-11 22:32:14 +01:00
Patrick Cloke
04faa0bfa9
Convert tags and metrics databases to async/await ( #8062 )
2020-08-11 17:21:20 -04:00
Patrick Cloke
a0acdfa9e9
Converts event_federation and registration databases to async/await ( #8061 )
2020-08-11 17:21:13 -04:00
Erik Johnston
fdb46b5442
Merge remote-tracking branch 'origin/develop' into erikj/type_server
2020-08-11 22:03:14 +01:00
Erik Johnston
61d8ff0d44
Auto set logging filter ( #8051 )
...
We do this to prevent foot guns. The default config uses a MemoryFilter,
but users are free to change to logging to files directly. If they do
then they have to ensure to set the `filters: [context]` on the right
handler, otherwise records get written with the wrong context.
Instead we move the logic to happen when we generate a record, which is
when we *log* rather than *handle*.
(It's possible to add filters to loggers in the config, however they
don't apply to descendant loggers and so they have to be manually set on
*every* logger used in the code base)
2020-08-11 21:58:56 +01:00
Erik Johnston
3c796e4159
Update changelog.d/8051.misc
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2020-08-11 21:08:43 +01:00
Erik Johnston
a1e9bb9eae
Add typing info to Notifier ( #8058 )
2020-08-11 19:40:02 +01:00
Erik Johnston
e1af09dccb
Newsfile
2020-08-11 18:10:46 +01:00
Erik Johnston
a0f574f3c2
Reduce INFO logging ( #8050 )
...
c.f. #8021
A lot of the code here is to change the `Completed 200 OK` logging to include the request URI so that we can drop the `Sending request...` log line.
Some notes:
1. We won't log retries, which may be confusing considering the time taken log line includes retries and sleeps.
2. The `_send_request_with_optional_trailing_slash` will always be logged *without* the forward slash, even if it succeeded only with the forward slash.
2020-08-11 18:10:07 +01:00
Erik Johnston
db131b6b22
Change the default log config to reduce disk I/O and storage ( #8040 )
...
* Change default log config to buffer by default.
This batches up writes to the filesystem, which is more efficient for
disk I/O. This means that it can take some time for logs to get written
to disk. Note that ERROR logs (and above) immediately flush the buffer.
This only effects new installs, as we only write the log config if
started with `--generate-config` (in the same way we do for generating
signing keys).
* Default to keeping last 4 days of logs.
This hopefully reduces the amount of logs kept for new servers. Keeping
the last 1GB of logs is likely overkill for new servers, but equally may
not be enough for busy ones.
Instead, we keep the last four days worth of logs, enough so that admins
can investigate any problems that happened over e.g. a long weekend.
2020-08-11 18:09:46 +01:00
Erik Johnston
64e5bb0dc8
Newsfile
2020-08-11 18:03:26 +01:00
Richard van der Hoff
0cb169900e
Implement login blocking based on SAML attributes ( #8052 )
...
Hopefully this mostly speaks for itself. I also did a bit of cleaning up of the
error handling.
Fixes #8047
2020-08-11 16:08:10 +01:00
Richard van der Hoff
aa827b6ad7
Merge remote-tracking branch 'origin/master' into develop
2020-08-10 23:42:12 +01:00
Richard van der Hoff
39c3f68758
Stop uploading -py3 docker images ( #8056 )
2020-08-10 23:41:50 +01:00
Richard van der Hoff
fcbab08cbd
Add an assertion on prev_events in create_new_client_event ( #8041 )
...
I think this would have caught all the cases in
https://github.com/matrix-org/synapse/issues/7642 - and I think a 500 makes
more sense here than a 403
2020-08-10 12:29:47 +01:00
Brendan Abolivier
cdbb8e6d6e
Implement new experimental push rules ( #7997 )
...
With an undocumented configuration setting to enable them for specific users.
2020-08-10 11:48:01 +01:00
Patrick Cloke
7f837959ea
Convert directory, e2e_room_keys, end_to_end_keys, monthly_active_users database to async ( #8042 )
2020-08-07 13:36:29 -04:00
Patrick Cloke
f3fe6961b2
Convert additional database stores to async/await ( #8045 )
2020-08-07 12:17:17 -04:00
Travis Ralston
1048ed2afa
Clarify that undoing a shutdown might not be possible ( #8010 )
2020-08-07 17:16:24 +01:00
Richard van der Hoff
de6f892065
Add a comment about SSLv23_METHOD ( #8043 )
2020-08-07 15:14:29 +01:00
Erik Johnston
2f9fd5ab00
Don't log OPTIONS request at INFO ( #8049 )
2020-08-07 14:53:05 +01:00
Patrick Cloke
4e874ed593
Remove unnecessary maybeDeferred calls ( #8044 )
2020-08-07 09:44:48 -04:00
Erik Johnston
7620912d84
Add health check endpoint ( #8048 )
2020-08-07 14:21:24 +01:00
David Vo
4dd27e6d11
Reduce unnecessary whitespace in JSON. ( #7372 )
2020-08-07 08:02:55 -04:00
Brendan Abolivier
2ffd6783c7
Revert #7736 ( #8039 )
2020-08-06 17:15:35 +01:00
Patrick Cloke
fe6cfc80ec
Convert some util functions to async ( #8035 )
2020-08-06 08:39:35 -04:00
Patrick Cloke
d4a7829b12
Convert synapse.api to async/await ( #8031 )
2020-08-06 08:30:06 -04:00
Patrick Cloke
c36228c403
Convert run_as_background_process inner function to async. ( #8032 )
2020-08-06 08:20:42 -04:00
Patrick Cloke
66f24449dd
Improve performance of the register endpoint ( #8009 )
2020-08-06 08:09:55 -04:00
Brendan Abolivier
118a9eafb3
Merge branch 'develop' of github.com:matrix-org/synapse into babolivier/new_push_rules
2020-08-06 10:52:50 +01:00
Erik Johnston
079bc3c8e3
Fixup worker doc (again) ( #8000 )
2020-08-06 10:35:59 +01:00
Erik Johnston
a7bdf98d01
Rename database classes to make some sense ( #8033 )
2020-08-05 21:38:57 +01:00
Richard van der Hoff
0a86850ba3
Stop the parent process flushing the logs on exit ( #8012 )
...
This solves the problem that the first few lines are logged twice on matrix.org. Hopefully the comments explain it.
2020-08-05 09:35:17 +01:00
Andrew Morgan
7cac9006d6
Spruce up the check-newsfragment CI output ( #8024 )
...
This PR:
* Reduces the amount of noise in the `check-newsfragment` CI output by hiding the dependency installation output by default.
* Prints a link to the changelog/debian changelog section of the contributing guide if an error is found.
2020-08-04 22:10:23 +01:00
Patrick Cloke
8ff2deda72
Fix async/await calls for broken media providers. ( #8027 )
2020-08-04 09:44:25 -04:00
Patrick Cloke
88a3ff12f0
Convert the SimpleHttpClient to async. ( #8016 )
2020-08-04 07:22:04 -04:00
Patrick Cloke
e19de43eb5
Convert streams to async. ( #8014 )
2020-08-04 07:21:47 -04:00
Richard van der Hoff
916cf2d439
re-implement daemonize ( #8011 )
...
This has long been something I've wanted to do. Basically the `Daemonize` code
is both too flexible and not flexible enough, in that it offers a bunch of
features that we don't use (changing UID, closing FDs in the child, logging to
syslog) and doesn't offer a bunch that we could do with (redirecting stdout/err
to a file instead of /dev/null; having the parent not exit until the child is
running).
As a first step, I've lifted the Daemonize code and removed the bits we don't
use. This should be a non-functional change. Fixing everything else will come
later.
2020-08-04 10:03:41 +01:00
Andrew Morgan
481f76c7aa
Remove signature check on v1 identity server lookups ( #8001 )
...
We've [decided](https://github.com/matrix-org/synapse/issues/5253#issuecomment-665976308 ) to remove the signature check for v1 lookups.
The signature check has been removed in v2 lookups. v1 lookups are currently deprecated. As mentioned in the above linked issue, this verification was causing deployments for the vector.im and matrix.org IS deployments, and this change is the simplest solution, without being unjustified.
Implementations are encouraged to use the v2 lookup API as it has [increased privacy benefits](https://github.com/matrix-org/matrix-doc/pull/2134 ).
2020-08-03 21:56:43 +01:00
Andrew Morgan
5d92a1428c
Prevent join->join membership transitions changing member count ( #7977 )
...
`StatsHandler` handles updates to the `current_state_delta_stream`, and updates room stats such as the amount of state events, joined users, etc.
However, it counts every new join membership as a new user entering a room (and that user being in another room), whereas it's possible for a user's membership status to go from join -> join, for instance when they change their per-room profile information.
This PR adds a check for join->join membership transitions, and bails out early, as none of the further checks are necessary at that point.
Due to this bug, membership stats in many rooms have ended up being wildly larger than their true values. I am not sure if we also want to include a migration step which recalculates these statistics (possibly using the `_populate_stats_process_rooms` bg update).
Bug introduced in the initial implementation https://github.com/matrix-org/synapse/pull/4338 .
2020-08-03 21:54:24 +01:00
Patrick Cloke
6812509807
Implement handling of HTTP HEAD requests. ( #7999 )
2020-08-03 08:45:42 -04:00
Patrick Cloke
2a89ce8cd4
Convert the crypto module to async/await. ( #8003 )
2020-08-03 08:29:01 -04:00
Michael Albert
b6c6fb7950
Allow guests to operate in encrypted rooms ( #7314 )
...
Signed-off-by: Michael Albert <michael.albert@awesome-technologies.de>
2020-08-03 12:13:49 +01:00
Patrick Cloke
3b415e23a5
Convert replication code to async/await. ( #7987 )
2020-08-03 07:12:55 -04:00
Patrick Cloke
db5970ac6d
Convert ACME code to async/await. ( #7989 )
2020-08-03 07:09:33 -04:00
Patrick Cloke
d1008fe949
Fix some comments and types in service notices ( #7996 )
2020-07-31 16:22:06 -04:00
Erik Johnston
faba873d4b
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/add_rate_limiting_to_joins
2020-07-31 15:07:01 +01:00
Erik Johnston
9b3ab57acd
Newsfile
2020-07-31 15:06:56 +01:00
Brendan Abolivier
713d70d6c6
Merge branch 'develop' of github.com:matrix-org/synapse into babolivier/new_push_rules
2020-07-31 13:58:09 +01:00
Travis Ralston
e2a4ba6f9b
Add docs for undoing room shutdowns ( #7998 )
...
These docs were tested successfully in production by a customer, so it's probably fine.
2020-07-31 04:41:44 +01:00
Brendan Abolivier
69158e554f
Merge branch 'develop' of github.com:matrix-org/synapse into babolivier/new_push_rules
2020-07-30 19:00:29 +01:00
Brendan Abolivier
8b04c4cd70
Changelog
2020-07-30 17:43:17 +01:00
Stuart Mumford
6d4b790021
Update workers docs ( #7990 )
2020-07-30 17:30:11 +01:00
Richard van der Hoff
0a7fb24716
Fix invite rejection when we have no forward-extremeties ( #7980 )
...
Thanks to some slightly overzealous cleanup in the
`delete_old_current_state_events`, it's possible to end up with no
`event_forward_extremities` in a room where we have outstanding local
invites. The user would then get a "no create event in auth events" when trying
to reject the invite.
We can hack around it by using the dangling invite as the prev event.
2020-07-30 16:58:57 +01:00
Erik Johnston
606805bf06
Fix typo in docs/workers.md ( #7992 )
2020-07-30 16:28:36 +01:00
Patrick Cloke
c978f6c451
Convert federation client to async/await. ( #7975 )
2020-07-30 08:01:33 -04:00
Patrick Cloke
4cce8ef74e
Convert appservice to async. ( #7973 )
2020-07-30 07:27:39 -04:00
Patrick Cloke
b3a97d6dac
Convert some of the data store to async. ( #7976 )
2020-07-30 07:20:41 -04:00
Patrick Cloke
3950ae51ef
Ensure that remove_pusher is always async ( #7981 )
2020-07-30 06:56:55 -04:00
Olivier Wilkinson (reivilibre)
a9631b7b4b
1.18.0
2020-07-30 10:56:54 +01:00
Erik Johnston
2c1b9d6763
Update worker docs with recent enhancements ( #7969 )
2020-07-29 23:22:13 +01:00
Patrick Cloke
a53e0160a2
Ensure the msg property of HttpResponseException is a string. ( #7979 )
2020-07-29 13:56:06 -04:00
Patrick Cloke
d90087cffa
Remove from the event_relations table when purging historical events. ( #7978 )
2020-07-29 13:55:01 -04:00
Patrick Cloke
3a00bd1378
Add additional logging for SAML sessions. ( #7971 )
2020-07-29 13:54:44 -04:00
Brendan Abolivier
f23c77389d
Add MSC reference to changelog for #7736
2020-07-29 18:31:03 +01:00
Brendan Abolivier
8dff4a1242
Re-implement unread counts ( #7736 )
2020-07-29 18:26:55 +01:00
Aaron Raimist
2184f61fae
Various improvements to the docs ( #7899 )
2020-07-29 10:35:44 -04:00
Patrick Cloke
3345c166a4
Convert storage layer to async/await. ( #7963 )
2020-07-28 16:09:53 -04:00
Dirk Klimpel
e866e3b896
Add an option to disable purge in delete room admin API ( #7964 )
...
Add option ```purge``` to ```POST /_synapse/admin/v1/rooms/<room_id>/delete```
Fixes : #3761
Signed-off-by: Dirk Klimpel dirk@klimpel.org
2020-07-28 20:08:23 +01:00
Andrew Morgan
8a25332d94
Move some log lines from default logger to sql/transaction loggers ( #7952 )
...
Idea from matrix-org/synapse-dinsic#49
2020-07-28 18:52:13 +01:00
Patrick Cloke
2c1e1b153d
Use the JSON module from the std library instead of simplejson. ( #7936 )
2020-07-28 10:28:59 -04:00
Richard van der Hoff
8078dec3be
Fix exit code for `check_line_terminators.sh` ( #7970 )
...
If there are *no* files with CRLF line endings, then the xargs exits with a
non-zero exit code (as expected), but then, since that is the last thing to
happen in the script, the script as a whole exits non-zero, making the whole
thing fail.
using `if/then/fi` instead of `&& (...)` means that the script exits with a
zero exit code.
2020-07-28 08:52:25 -04:00
lugino-emeritus
3857de2194
Option to allow server admins to join complex rooms ( #7902 )
...
Fixes #7901 .
Signed-off-by: Niklas Tittjung <nik_t.01@web.de>
2020-07-28 13:41:44 +01:00
Richard van der Hoff
7000a215e6
1.18.0rc2
2020-07-28 11:22:32 +01:00
Erik Johnston
a8f7ed28c6
Typing worker needs to handle stream update requests ( #7967 )
...
IIRC this doesn't break tests because its only hit on reconnection, or something.
Basically, when a process needs to fetch missing updates for the `typing` stream it needs to query the writer instance via HTTP (as we don't write typing notifications to the DB), the problem was that the endpoint (`streams`) was only registered on master and specifically not on the typing writer worker.
2020-07-28 11:04:53 +01:00
Andrew Morgan
c4ce0da6fe
Add script for finding files with unix line terminators ( #7965 )
...
This PRs adds a script to check for unix-line terminators in the repo. It will be used to address https://github.com/matrix-org/synapse/issues/7943 by adding the check to CI.
I've changed the original script slightly as proposed in https://github.com/matrix-org/pipelines/pull/81#discussion_r460580664
2020-07-28 01:26:50 +01:00
Patrick Cloke
68626ff8e9
Convert the remaining media repo code to async / await. ( #7947 )
2020-07-27 14:40:11 -04:00
Richard van der Hoff
f57b99af22
Handle replication commands synchronously where possible ( #7876 )
...
Most of the stuff we do for replication commands can be done synchronously. There's no point spinning up background processes if we're not going to need them.
2020-07-27 18:54:43 +01:00
Patrick Cloke
8553f46498
Convert a synapse.events to async/await. ( #7949 )
2020-07-27 13:40:22 -04:00