David Robertson
961ee75a9b
Disallow untyped defs in synapse._scripts ( #12422 )
...
Of note:
* No untyped defs in `register_new_matrix_user`
This one might be contraversial. `request_registration` has three
dependency-injection arguments used for testing. I'm removing the
injection of the `requests` module and using `unitest.mock.patch` in the
test cases instead.
Doing `reveal_type(requests)` and `reveal_type(requests.get)` before the
change:
```
synapse/_scripts/register_new_matrix_user.py:45: note: Revealed type is "Any"
synapse/_scripts/register_new_matrix_user.py:46: note: Revealed type is "Any"
```
And after:
```
synapse/_scripts/register_new_matrix_user.py:44: note: Revealed type is "types.ModuleType"
synapse/_scripts/register_new_matrix_user.py:45: note: Revealed type is "def (url: Union[builtins.str, builtins.bytes], params: Union[Union[_typeshed.SupportsItems[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]], Tuple[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]], typing.Iterable[Tuple[Union[builtins.str, builtins.bytes, builtins.int, builtins.float], Union[builtins.str, builtins.bytes, builtins.int, builtins.float, typing.Iterable[Union[builtins.str, builtins.bytes, builtins.int, builtins.float]], None]]], builtins.str, builtins.bytes], None] =, data: Union[Any, None] =, headers: Union[Any, None] =, cookies: Union[Any, None] =, files: Union[Any, None] =, auth: Union[Any, None] =, timeout: Union[Any, None] =, allow_redirects: builtins.bool =, proxies: Union[Any, None] =, hooks: Union[Any, None] =, stream: Union[Any, None] =, verify: Union[Any, None] =, cert: Union[Any, None] =, json: Union[Any, None] =) -> requests.models.Response"
```
* Drive-by comment in `synapse.storage.types`
* No untyped defs in `synapse_port_db`
This was by far the most painful. I'm happy to break this up into
smaller pieces for review if it's not managable as-is.
3 years ago
Richard van der Hoff
efdbcfd6af
Synapse 1.56.0rc1 (2022-03-29)
...
==============================
Features
--------
- Allow modules to store already existing 3PID associations. ([\#12195](https://github.com/matrix-org/synapse/issues/12195 ))
- Allow registering server administrators using the module API. Contributed by Famedly. ([\#12250](https://github.com/matrix-org/synapse/issues/12250 ))
Bugfixes
--------
- Fix a long-standing bug which caused the `/_matrix/federation/v1/state` and `/_matrix/federation/v1/state_ids` endpoints to return incorrect or invalid data when called for an event which we have stored as an "outlier". ([\#12087](https://github.com/matrix-org/synapse/issues/12087 ))
- Fix a long-standing bug where events from ignored users would still be considered for relations. ([\#12227](https://github.com/matrix-org/synapse/issues/12227 ), [\#12232](https://github.com/matrix-org/synapse/issues/12232 ), [\#12285](https://github.com/matrix-org/synapse/issues/12285 ))
- Fix a bug introduced in Synapse 1.53.0 where an unnecessary query could be performed when fetching bundled aggregations for threads. ([\#12228](https://github.com/matrix-org/synapse/issues/12228 ))
- Fix a bug introduced in Synapse 1.52.0 where admins could not deactivate and GDPR-erase a user if Synapse was configured with limits on avatars. ([\#12261](https://github.com/matrix-org/synapse/issues/12261 ))
Improved Documentation
----------------------
- Fix the link to the module documentation in the legacy spam checker warning message. ([\#12231](https://github.com/matrix-org/synapse/issues/12231 ))
- Remove incorrect prefixes in the worker documentation for some endpoints. ([\#12243](https://github.com/matrix-org/synapse/issues/12243 ))
- Correct `check_username_for_spam` annotations and docs. ([\#12246](https://github.com/matrix-org/synapse/issues/12246 ))
- Correct Authentik OpenID typo, and add notes on troubleshooting. Contributed by @IronTooch . ([\#12275](https://github.com/matrix-org/synapse/issues/12275 ))
- HAProxy reverse proxy guide update to stop sending IPv4-mapped address to homeserver. Contributed by @villepeh . ([\#12279](https://github.com/matrix-org/synapse/issues/12279 ))
Internal Changes
----------------
- Rename `shared_rooms` to `mutual_rooms` ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), as per proposal changes. ([\#12036](https://github.com/matrix-org/synapse/issues/12036 ))
- Remove check on `update_user_directory` for shared rooms handler ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), and update/expand documentation. ([\#12038](https://github.com/matrix-org/synapse/issues/12038 ))
- Refactor `create_new_client_event` to use a new parameter, `state_event_ids`, which accurately describes the usage with [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716 ) instead of abusing `auth_event_ids`. ([\#12083](https://github.com/matrix-org/synapse/issues/12083 ), [\#12304](https://github.com/matrix-org/synapse/issues/12304 ))
- Refuse to start if registration is enabled without email, captcha, or token-based verification unless the new config flag `enable_registration_without_verification` is set. ([\#12091](https://github.com/matrix-org/synapse/issues/12091 ))
- Add tests for database transaction callbacks. ([\#12198](https://github.com/matrix-org/synapse/issues/12198 ))
- Handle cancellation in `DatabasePool.runInteraction`. ([\#12199](https://github.com/matrix-org/synapse/issues/12199 ))
- Add missing type hints for cache storage. ([\#12216](https://github.com/matrix-org/synapse/issues/12216 ))
- Add missing type hints for storage. ([\#12248](https://github.com/matrix-org/synapse/issues/12248 ), [\#12255](https://github.com/matrix-org/synapse/issues/12255 ))
- Add type hints to tests files. ([\#12224](https://github.com/matrix-org/synapse/issues/12224 ), [\#12240](https://github.com/matrix-org/synapse/issues/12240 ), [\#12256](https://github.com/matrix-org/synapse/issues/12256 ))
- Use type stubs for `psycopg2`. ([\#12269](https://github.com/matrix-org/synapse/issues/12269 ))
- Improve type annotations for `execute_values`. ([\#12311](https://github.com/matrix-org/synapse/issues/12311 ))
- Clean-up logic around rebasing URLs for URL image previews. ([\#12219](https://github.com/matrix-org/synapse/issues/12219 ))
- Use the `ignored_users` table in additional places instead of re-parsing the account data. ([\#12225](https://github.com/matrix-org/synapse/issues/12225 ))
- Refactor the relations endpoints to add a `RelationsHandler`. ([\#12237](https://github.com/matrix-org/synapse/issues/12237 ))
- Generate announcement links in the release script. ([\#12242](https://github.com/matrix-org/synapse/issues/12242 ))
- Improve error message when dependencies check finds a broken installation. ([\#12244](https://github.com/matrix-org/synapse/issues/12244 ))
- Compress metrics HTTP resource when enabled. Contributed by Nick @ Beeper. ([\#12258](https://github.com/matrix-org/synapse/issues/12258 ))
- Refuse to start if the PostgreSQL database has a non-`C` locale, unless the config flag `allow_unsafe_db_locale` is set to true. ([\#12262](https://github.com/matrix-org/synapse/issues/12262 ), [\#12288](https://github.com/matrix-org/synapse/issues/12288 ))
- Optionally include account validity expiration information to experimental [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720 ) account status responses. ([\#12266](https://github.com/matrix-org/synapse/issues/12266 ))
- Add a new cache `_get_membership_from_event_id` to speed up push rule calculations in large rooms. ([\#12272](https://github.com/matrix-org/synapse/issues/12272 ))
- Re-enable Complement concurrency in CI. ([\#12283](https://github.com/matrix-org/synapse/issues/12283 ))
- Remove unused test utilities. ([\#12291](https://github.com/matrix-org/synapse/issues/12291 ))
- Enhance logging for inbound federation events. ([\#12301](https://github.com/matrix-org/synapse/issues/12301 ))
- Fix compatibility with the recently-released Jinja 3.1. ([\#12313](https://github.com/matrix-org/synapse/issues/12313 ))
- Avoid trying to calculate the state at outlier events. ([\#12314](https://github.com/matrix-org/synapse/issues/12314 ))
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEdVkXOgzrGzds0jtrHgFcFF8ZFs0FAmJC33MACgkQHgFcFF8Z
Fs0IFhAAhz45kNCqWfBip8yc7GE95ZnMfX4PymrIQeJOtloecQCyRrcS8r0GJhvq
j5cRfMNoaoMZKOQsqyjLiY02QUX/8hUOgAD4SEa9Jmc4a2ZwjJ3hxy8dKx89gdZ+
E+uUhJZUNV9UovDIOYd+DPB1//tFdzfYtZmbmddJbWv2jZwb4fmTEnK+j5dp4TMR
Z6/aA1IQB2PZqihQLmtKHCC6xCv7zaCmvS7Z1oUACOm7W1cX0F2P51M11+rK5ipi
tasRBhdGmMu9eGm9QfeQkY++5HLjTfNuSwSP37tP5RMjKckpJS7f6vooJ7EtVtaY
YPlTsjsngWaDk+ETK9ZN3ATtI1StB+6agiTAjO3kJzai++eKQaNrkzIhhftLYfsa
2CIoy2BM7iPp/u+MF5VkxN/QCcnK43VuDU+iR8MCzjTQJPSxsAYrjsd8MMD0rCBa
dib2IdF1Xlijg0iSdV/ToeMx/KDYh+l5hcltkLy1To68IvFqf0kGvlcDk2rtLWzz
QsWf5PGc+YXQM8IMF38BmuE1HCI0rEJH5V/Jl1UkXFaQdf1bIXmWxKTNHjVP/2Uq
dfI4qPtszWOjJT7bBgJbjqX1QBzzIU7ShM8cRlj4Lfc6bdhWG3G+CCACl29t/T9K
NBboIPEbCqw2GJMz1EoNciRHhFnsvQyG1QaHywRwaIuzNX8ohEw=
=J5w/
-----END PGP SIGNATURE-----
Merge tag 'v1.56.0rc1' into develop
Synapse 1.56.0rc1 (2022-03-29)
==============================
Features
--------
- Allow modules to store already existing 3PID associations. ([\#12195](https://github.com/matrix-org/synapse/issues/12195 ))
- Allow registering server administrators using the module API. Contributed by Famedly. ([\#12250](https://github.com/matrix-org/synapse/issues/12250 ))
Bugfixes
--------
- Fix a long-standing bug which caused the `/_matrix/federation/v1/state` and `/_matrix/federation/v1/state_ids` endpoints to return incorrect or invalid data when called for an event which we have stored as an "outlier". ([\#12087](https://github.com/matrix-org/synapse/issues/12087 ))
- Fix a long-standing bug where events from ignored users would still be considered for relations. ([\#12227](https://github.com/matrix-org/synapse/issues/12227 ), [\#12232](https://github.com/matrix-org/synapse/issues/12232 ), [\#12285](https://github.com/matrix-org/synapse/issues/12285 ))
- Fix a bug introduced in Synapse 1.53.0 where an unnecessary query could be performed when fetching bundled aggregations for threads. ([\#12228](https://github.com/matrix-org/synapse/issues/12228 ))
- Fix a bug introduced in Synapse 1.52.0 where admins could not deactivate and GDPR-erase a user if Synapse was configured with limits on avatars. ([\#12261](https://github.com/matrix-org/synapse/issues/12261 ))
Improved Documentation
----------------------
- Fix the link to the module documentation in the legacy spam checker warning message. ([\#12231](https://github.com/matrix-org/synapse/issues/12231 ))
- Remove incorrect prefixes in the worker documentation for some endpoints. ([\#12243](https://github.com/matrix-org/synapse/issues/12243 ))
- Correct `check_username_for_spam` annotations and docs. ([\#12246](https://github.com/matrix-org/synapse/issues/12246 ))
- Correct Authentik OpenID typo, and add notes on troubleshooting. Contributed by @IronTooch . ([\#12275](https://github.com/matrix-org/synapse/issues/12275 ))
- HAProxy reverse proxy guide update to stop sending IPv4-mapped address to homeserver. Contributed by @villepeh . ([\#12279](https://github.com/matrix-org/synapse/issues/12279 ))
Internal Changes
----------------
- Rename `shared_rooms` to `mutual_rooms` ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), as per proposal changes. ([\#12036](https://github.com/matrix-org/synapse/issues/12036 ))
- Remove check on `update_user_directory` for shared rooms handler ([MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666 )), and update/expand documentation. ([\#12038](https://github.com/matrix-org/synapse/issues/12038 ))
- Refactor `create_new_client_event` to use a new parameter, `state_event_ids`, which accurately describes the usage with [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716 ) instead of abusing `auth_event_ids`. ([\#12083](https://github.com/matrix-org/synapse/issues/12083 ), [\#12304](https://github.com/matrix-org/synapse/issues/12304 ))
- Refuse to start if registration is enabled without email, captcha, or token-based verification unless the new config flag `enable_registration_without_verification` is set. ([\#12091](https://github.com/matrix-org/synapse/issues/12091 ))
- Add tests for database transaction callbacks. ([\#12198](https://github.com/matrix-org/synapse/issues/12198 ))
- Handle cancellation in `DatabasePool.runInteraction`. ([\#12199](https://github.com/matrix-org/synapse/issues/12199 ))
- Add missing type hints for cache storage. ([\#12216](https://github.com/matrix-org/synapse/issues/12216 ))
- Add missing type hints for storage. ([\#12248](https://github.com/matrix-org/synapse/issues/12248 ), [\#12255](https://github.com/matrix-org/synapse/issues/12255 ))
- Add type hints to tests files. ([\#12224](https://github.com/matrix-org/synapse/issues/12224 ), [\#12240](https://github.com/matrix-org/synapse/issues/12240 ), [\#12256](https://github.com/matrix-org/synapse/issues/12256 ))
- Use type stubs for `psycopg2`. ([\#12269](https://github.com/matrix-org/synapse/issues/12269 ))
- Improve type annotations for `execute_values`. ([\#12311](https://github.com/matrix-org/synapse/issues/12311 ))
- Clean-up logic around rebasing URLs for URL image previews. ([\#12219](https://github.com/matrix-org/synapse/issues/12219 ))
- Use the `ignored_users` table in additional places instead of re-parsing the account data. ([\#12225](https://github.com/matrix-org/synapse/issues/12225 ))
- Refactor the relations endpoints to add a `RelationsHandler`. ([\#12237](https://github.com/matrix-org/synapse/issues/12237 ))
- Generate announcement links in the release script. ([\#12242](https://github.com/matrix-org/synapse/issues/12242 ))
- Improve error message when dependencies check finds a broken installation. ([\#12244](https://github.com/matrix-org/synapse/issues/12244 ))
- Compress metrics HTTP resource when enabled. Contributed by Nick @ Beeper. ([\#12258](https://github.com/matrix-org/synapse/issues/12258 ))
- Refuse to start if the PostgreSQL database has a non-`C` locale, unless the config flag `allow_unsafe_db_locale` is set to true. ([\#12262](https://github.com/matrix-org/synapse/issues/12262 ), [\#12288](https://github.com/matrix-org/synapse/issues/12288 ))
- Optionally include account validity expiration information to experimental [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720 ) account status responses. ([\#12266](https://github.com/matrix-org/synapse/issues/12266 ))
- Add a new cache `_get_membership_from_event_id` to speed up push rule calculations in large rooms. ([\#12272](https://github.com/matrix-org/synapse/issues/12272 ))
- Re-enable Complement concurrency in CI. ([\#12283](https://github.com/matrix-org/synapse/issues/12283 ))
- Remove unused test utilities. ([\#12291](https://github.com/matrix-org/synapse/issues/12291 ))
- Enhance logging for inbound federation events. ([\#12301](https://github.com/matrix-org/synapse/issues/12301 ))
- Fix compatibility with the recently-released Jinja 3.1. ([\#12313](https://github.com/matrix-org/synapse/issues/12313 ))
- Avoid trying to calculate the state at outlier events. ([\#12314](https://github.com/matrix-org/synapse/issues/12314 ))
3 years ago