summary refs log tree commit diff
path: root/mypy.ini (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add final type hint to synapse.server. (#15035)Patrick Cloke2023-02-091-3/+0
|
* Proper types for `tests.module_api` (#15031)David Robertson2023-02-091-1/+0
| | | | | | | | | | | | | * -> None for test methods * A first batch of type fixes * Introduce common parent test case * Fixup that big test method * tests.module_api passes mypy * Changelog
* Add more missing type hints to tests. (#15028)Patrick Cloke2023-02-081-18/+0
|
* Add missing type hints to tests. (#15027)Patrick Cloke2023-02-081-18/+0
|
* Explicit disabling of disallowed_untyped_defs. (#15026)Patrick Cloke2023-02-081-58/+25
| | | To make it easier to see which files still need to be fixed.
* Typecheck tests.rest.media.v1.test_media_storage (#15008)David Robertson2023-02-071-1/+0
| | | | | | | | | | | * Fix MediaStorage type hint * Typecheck tests.rest.media.v1.test_media_storage * Changelog * Remove assert and make the comment succinct * Fix syntax for olddeps
* Proper types for tests.test_terms_auth (#15007)David Robertson2023-02-071-1/+3
| | | | | * Proper types for tests.test_terms_auth * Changelog
* Properly typecheck types.http (#14988)David Robertson2023-02-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Tweak http types in Synapse AFACIS these are correct, and they make mypy happier on tests.http. * Type hints for test_proxyagent * type hints for test_srv_resolver * test_matrix_federation_agent * tests.http.server._base * tests.http.__init__ * tests.http.test_additional_resource * tests.http.test_client * tests.http.test_endpoint * tests.http.test_matrixfederationclient * tests.http.test_servlet * tests.http.test_simple_client * tests.http.test_site * One fixup in tests.server * Untyped defs * Changelog * Fixup syntax for Python 3.7 * Fix olddeps syntax * Use a twisted IPv4 addr for dummy_address * Fix typo, thanks Sean Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com> * Remove redundant `Optional` --------- Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
* Add missing types to test_state. (#14985)Patrick Cloke2023-02-061-1/+3
|
* Type hints for tests.federation (#14991)David Robertson2023-02-061-3/+1
| | | | | | | | | | | | | * Make tests.federation pass mypy * Untyped defs in tests.federation.transport * test methods return None * Remaining type hints in tests.federation * Changelog * Avoid an uncessary type-ignore
* Add missing type hints to tests.replication. (#14987)Patrick Cloke2023-02-061-0/+3
|
* Expect type stubs from canonicaljson (#14992)David Robertson2023-02-061-3/+0
| | | | | | | | | * canonicaljson has stubs now since https://github.com/matrix-org/python-canonicaljson/pull/52 which is included in the lockfile version we use for type checking. * Changelog
* Type hints for tests.appservice (#14990)David Robertson2023-02-061-1/+3
| | | | | | | | | | | | | | | | | | | | * Accept a Sequence of events in synapse.appservice This avoids some casts/ignores in the tests I'm about to fixup. It seems that `List[Mock]` is not a subtype of `List[EventBase]`, but `Sequence[Mock]` is a subtype of `Sequence[EventBase]`. So presumably `Mock` is considered a subtype of anything, much like `Any`. * make tests.appservice.test_scheduler pass mypy * Extra hints in tests.appservice.test_scheduler * Extra hints in tests.appservice.test_api * Extra hints in tests.appservice.test_appservice * Disallow untyped defs * Changelog
* Properly typecheck tests.api (#14983)David Robertson2023-02-031-1/+3
|
* Properly typecheck tests.app (#14984David Robertson2023-02-031-1/+3
|
* Add missing type hints in tests (#14879)Patrick Cloke2023-01-261-3/+3
| | | | * FIx-up type hints in tests.logging. * Add missing type hints to test_transactions.
* Fix type hints in typing edu unit tests (#14886)Andrew Morgan2023-01-261-1/+0
|
* Add missing type hints for tests.events. (#14904)Patrick Cloke2023-01-251-2/+3
|
* Fix type hints in knocking tests. (#14887)Andrew Morgan2023-01-251-1/+0
|
* Fix type hints for Monthly Active Users tests (#14889)Andrew Morgan2023-01-221-1/+0
|
* Add type hints to `TestRatelimiter` (#14885)Andrew Morgan2023-01-211-1/+0
|
* Fix-up type hints for tests.push module. (#14816)Patrick Cloke2023-01-111-4/+1
|
* Add missing type hints to tests. (#14687)Patrick Cloke2022-12-281-2/+4
| | | Adds type hints to tests.metrics and tests.crypto.
* Add missing type hints to tests.config. (#14681)Patrick Cloke2022-12-161-3/+1
|
* Add missing type hints to tests.handlers. (#14680)Patrick Cloke2022-12-161-4/+1
| | | And do not allow untyped defs in tests.handlers.
* Allow selecting "prejoin" events by state keys (#14642)David Robertson2022-12-131-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Declare new config * Parse new config * Read new config * Don't use trial/our TestCase where it's not needed Before: ``` $ time trial tests/events/test_utils.py > /dev/null real 0m2.277s user 0m2.186s sys 0m0.083s ``` After: ``` $ time trial tests/events/test_utils.py > /dev/null real 0m0.566s user 0m0.508s sys 0m0.056s ``` * Helper to upsert to event fields without exceeding size limits. * Use helper when adding invite/knock state Now that we allow admins to include events in prejoin room state with arbitrary state keys, be a good Matrix citizen and ensure they don't accidentally create an oversized event. * Changelog * Move StateFilter tests should have done this in #14668 * Add extra methods to StateFilter * Use StateFilter * Ensure test file enforces typed defs; alphabetise * Workaround surprising get_current_state_ids * Whoops, fix mypy
* Enable `--warn-redundant-casts` option in mypy (#14671)David Robertson2022-12-121-0/+1
| | | | | | | | | | | | | | | | | | | * Enable `--warn-redundant-casts` option in mypy Doesn't do much but helps me sleep better at night. * Changelog * Fix name of the ignore * Fix one more missed cast Not sure why I didn't see this one locally, maybe I needed a poetry update * Remove old comment Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Require types in tests.storage. (#14646)Patrick Cloke2022-12-091-10/+4
| | | | Adds missing type hints to `tests.storage` package and does not allow untyped definitions.
* Add missing types to tests.util. (#14597)Patrick Cloke2022-12-021-10/+3
| | | | Removes files under tests.util from the ignored by list, then fully types all tests/util/*.py files.
* Add support for handling avatar with SSO login (#13917)Ashish Kumar2022-11-251-1/+3
| | | | | | | | This commit adds support for handling a provided avatar picture URL when logging in via SSO. Signed-off-by: Ashish Kumar <ashfame@users.noreply.github.com> Fixes #9357.
* Add missing type hints to test.util.caches (#14529)Patrick Cloke2022-11-221-5/+6
|
* Enable 'strict_equality' checking for mypy (#14452)Andrew Morgan2022-11-171-0/+1
|
* Reintroduce #14376, with bugfix for monoliths (#14468)David Robertson2022-11-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | * Add tests for StreamIdGenerator * Drive-by: annotate all defs * Revert "Revert "Remove slaved id tracker (#14376)" (#14463)" This reverts commit d63814fd736fed5d3d45ff3af5e6d3bfae50c439, which in turn reverted 36097e88c4da51fce6556a58c49bd675f4cf20ab. This restores the latter. * Fix StreamIdGenerator not handling unpersisted IDs Spotted by @erikjohnston. Closes #14456. * Changelog Co-authored-by: Nick Mills-Barrett <nick@fizzadar.com> Co-authored-by: Erik Johnston <erik@matrix.org>
* Avoid incrementing bg process utime/stime counters by negative durations ↵David Robertson2022-10-311-1/+3
| | | | (#14323)
* Fix sending events into rooms with non-integer power levels (#14073)David Robertson2022-10-061-0/+3
|
* Add a stub Rust crate (#12595)Erik Johnston2022-09-061-1/+5
|
* Use Pydantic to systematically validate a first batch of endpoints in ↵David Robertson2022-08-151-1/+1
| | | | `synapse.rest.client.account`. (#13188)
* Add missing types to opentracing. (#13345)Patrick Cloke2022-07-211-3/+0
| | | After this change `synapse.logging` is fully typed.
* Type `tests.utils` (#13028)David Robertson2022-07-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Cast to postgres types when handling postgres db * Remove unused method * Easy annotations * Annotate create_room * Use `ParamSpec` to annotate looping_call * Annotate `default_config` * Track `now` as a float `time_ms` returns an int like the proper Synapse `Clock` * Introduce a `Timer` dataclass * Introduce a Looper type * Suppress checking of a mock * tests.utils is typed * Changelog * Whoops, import ParamSpec from typing_extensions * ditch the psycopg2 casts
* Remove tests/utils.py from mypy's exclude list (#13159)Andrew Morgan2022-07-041-1/+0
|
* More type hints for `synapse.logging` (#13103)Patrick Cloke2022-06-301-3/+0
| | | | Completes type hints for synapse.logging.scopecontextmanager and (partially) for synapse.logging.opentracing.
* Actually typecheck `tests.test_server` (#13135)David Robertson2022-06-301-1/+0
|
* Extra type annotations in `test_server` (#13124)David Robertson2022-06-281-0/+3
|
* Type annotations in `synapse.databases.main.devices` (#13025)David Robertson2022-06-151-1/+0
| | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Type annotations for `test_v2` (#12985)David Robertson2022-06-091-1/+3
|
* Add some type hints to tests files (#12833)Dirk Klimpel2022-05-231-8/+0
| | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Simplify untyped-defs config in mypy.ini (#12790)David Robertson2022-05-191-156/+17
|
* Add some type hints to `event_federation` datastore (#12753)Dirk Klimpel2022-05-181-1/+0
| | | Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
* Add some type hints to datastore (#12717)Dirk Klimpel2022-05-171-2/+0
|
* Tidy up and type-hint the database engine modules (#12734)David Robertson2022-05-171-0/+3
| | | Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
* Another batch of type annotations (#12726)David Robertson2022-05-131-0/+21
|
* Reduce the number of "untyped defs" (#12716)David Robertson2022-05-121-0/+24
|
* remove constantly lib use and switch to enums. (#12624)andrew do2022-05-041-3/+0
|
* Prune mypy ignore_missing_imports list (#12608)David Robertson2022-05-031-51/+2
|
* Make `scripts-dev` pass `mypy --disallow-untyped-defs` (#12356)David Robertson2022-04-271-4/+6
| | | Not enforced in config yet. One day.
* Remove unused `# type: ignore`s (#12531)David Robertson2022-04-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | 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.
* Remove leftover references to setup.py (#12514)David Robertson2022-04-201-2/+2
| | | | | | | * Remove leftover references to setup.py Missed in #12478. * Changelog
* Dump setuptools; correct pyproject version number (#12478)David Robertson2022-04-201-1/+0
|
* Add missing type hints to config classes. (#12402)Patrick Cloke2022-04-111-1/+1
|
* Disallow untyped defs in synapse._scripts (#12422)David Robertson2022-04-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make `synapse._scripts` pass typechecks (#12421)David Robertson2022-04-081-5/+0
|
* Add missing type definitions for scripts in docker folder (#12280)Jorge Florian2022-04-081-0/+1
| | | | Signed-off-by: Jorge Florian <jafn28@gmail.com>
* Add type hints to some tests files (#12371)Dirk Klimpel2022-04-051-1/+0
|
* Remove more dead/broken dev scripts (#12355)David Robertson2022-04-031-3/+0
|
* Add type hints for `tests/unittest.py`. (#12347)Richard van der Hoff2022-04-011-1/+0
| | | In particular, add type hints for get_success and friends, which are then helpful in a bunch of places.
* Burn `check_signature` dev script. (#12351)David Robertson2022-04-011-1/+0
|
* Remove `list_url_patterns` dev script (#12349)David Robertson2022-04-011-1/+0
|
* Add more type hints to the main state store. (#12267)Patrick Cloke2022-03-311-1/+0
|
* Fix typechecker problems exposed by signedjson 1.1.2 (#12326)David Robertson2022-03-291-0/+3
|
* Add some type hints to datastore. (#12255)Dirk Klimpel2022-03-281-3/+0
|
* Add type hints to tests files. (#12256)Dirk Klimpel2022-03-211-2/+0
|
* Add some type hints to datastore (#12248)Dirk Klimpel2022-03-181-6/+0
| | | | | * inherit `MonthlyActiveUsersStore` from `RegistrationWorkerStore` Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add type hints to more tests files. (#12240)Dirk Klimpel2022-03-171-4/+0
|
* Add type hints to some tests/handlers files. (#12224)Dirk Klimpel2022-03-151-5/+0
|
* Add type hints to `tests/rest`. (#12208)Dirk Klimpel2022-03-111-1/+0
| | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add experimental environment variable to enable asyncio reactor (#12135)Erik Johnston2022-03-081-0/+3
|
* Add type hints to `tests/rest` (#12146)Dirk Klimpel2022-03-031-6/+1
| | | | | | | * Add type hints to `tests/rest` * newsfile * change import from `SigningKey`
* Add suffices to scripts in scripts-dev (#12137)David Robertson2022-03-021-1/+11
| | | | | | | | | * Rename scripts-dev to have suffices * Update references to `scripts-dev` * Changelog * These scripts don't pass mypy
* Add type hints to `tests/rest/client` (#12108)Dirk Klimpel2022-03-021-6/+0
| | | | | | | | | | | | | | | | | | | | | | | * Add type hints to `tests/rest/client` * newsfile * fix imports * add `test_account.py` * Remove one type hint in `test_report_event.py` * change `on_create_room` to `async` * update new functions in `test_third_party_rules.py` * Add `test_filter.py` * add `test_rooms.py` * change to `assertEquals` to `assertEqual` * lint
* Move scripts directory inside synapse, exposing as setuptools entry_points ↵David Robertson2022-03-021-0/+4
| | | | | | | | | | | | (#12118) * Two scripts are basically entry_points already * Move and rename scripts/* to synapse/_scripts/*.py * Delete sync_room_to_group.pl * Expose entry points in setup.py * Update linter script and config * Fixup scripts & docs mentioning scripts that moved Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Add type hints to `tests/rest/client` (#12094)Dirk Klimpel2022-02-281-3/+0
| | | | | | | | | * Add type hints to `tests/rest/client` * update `mypy.ini` * newsfile * add `test_register.py`
* Add type hints to `tests/rest/client` (#12084)Dirk Klimpel2022-02-281-2/+1
|
* Add type hints to `synapse/storage/databases/main` (#11984)Dirk Klimpel2022-02-211-3/+0
|
* Adds misc missing type hints (#11953)Patrick Cloke2022-02-111-0/+6
|
* Add missing type hints to synapse.replication. (#11938)Patrick Cloke2022-02-081-0/+3
|
* Add type hints to `tests/rest/admin` (#11851)Dirk Klimpel2022-01-311-3/+0
|
* Add type hints to `synapse/storage/databases/main/events_bg_updates.py` (#11654)Dirk Klimpel2021-12-301-1/+3
|
* Fix a type annotation in `test_account_data.py` and remove it from the Mypy ↵reivilibre2021-12-291-1/+0
| | | | | exclusion list. (#11657) Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add type hints to `synapse/storage/databases/main/stats.py` (#11653)Dirk Klimpel2021-12-291-1/+3
|
* Add type hints to event_push_actions. (#11594)Patrick Cloke2021-12-211-1/+3
|
* Add opentracing types (#11603)Shay2021-12-201-3/+0
|
* Add type hints to `synapse/tests/rest/admin` (#11590)Dirk Klimpel2021-12-161-0/+3
|
* Add type hints to `synapse/storage/databases/main/transactions.py` (#11589)Dirk Klimpel2021-12-161-1/+3
|
* Add type hints to `synapse/storage/databases/main/room.py` (#11575)Sean Quah2021-12-151-1/+3
|
* Add type hints to `synapse/storage/databases/main/e2e_room_keys.py` (#11549)Sean Quah2021-12-141-1/+3
|
* Add missing type hints to `synapse.logging.context` (#11556)Sean Quah2021-12-141-0/+3
|
* Add missing type hints to `synapse.appservice` (#11360)Patrick Cloke2021-12-141-0/+3
|
* Add missing type hints to synapse.http. (#11571)Patrick Cloke2021-12-141-0/+3
|
* Add type hints to `synapse/storage/databases/main/end_to_end_keys.py` (#11551)Sean Quah2021-12-131-1/+3
|
* Add type hints to `synapse/storage/databases/main/account_data.py` (#11546)Sean Quah2021-12-131-1/+3
|
* Add type hints to `synapse/tests/rest/admin` (#11501)Dirk Klimpel2021-12-031-3/+0
|
* Clean up `tests.test_visibility` to remove legacy code. (#11495)reivilibre2021-12-021-1/+0
|
* Add most of the missing type hints to `synapse.federation`. (#11483)Patrick Cloke2021-12-021-0/+6
| | | This skips a few methods which are difficult to type.
* Add type annotations to `tests.storage.test_appservice`. (#11488)reivilibre2021-12-021-1/+0
|
* disallow-untyped-defs for the module_api (#11029)David Robertson2021-11-291-0/+3
|
* Add a test case for the SendJoinParser (#11441)David Robertson2021-11-291-0/+4
| | | This would have caught the bug #11438 introduced in #11217 and fixed in #11439.
* Add type hints to `synapse/storage/databases/main/events_worker.py` (#11411)Sean Quah2021-11-261-1/+3
| | | | Also refactor the stream ID trackers/generators a bit and try to document them better.
* Add missing type hints to config base classes (#11377)Patrick Cloke2021-11-231-0/+3
|
* Add type annotations to `synapse.metrics` (#10847)Sean Quah2021-11-171-0/+3
|
* Add most missing type hints to synapse.util (#11328)Patrick Cloke2021-11-161-84/+3
|
* Database storage profile passes mypy (#11342)David Robertson2021-11-151-1/+6
| | | | | | It already seems to pass mypy. I wonder what changed, given that it was on the exclusion list. So this commit consists of me ensuring `--disallow-untyped-defs` passes and a minor fixup to a function that returned either `True` or `None`.
* Get directory db file to pass mypy (#11339)David Robertson2021-11-151-1/+3
|
* Annotations for state_deltas.py (#11316)David Robertson2021-11-121-1/+3
| | | | | I was sad that I couldn't do better for `_curr_state_delta_stream_cache`. At least it's explicitly called out in a comment with #TODO.
* Rollback #11322 due to wrong syntax in mypy.ini. (#11332)Patrick Cloke2021-11-121-2/+14
| | | | This was only checking the __init__ files in modules instead of all files in a module, which don't pass yet.
* Test room alias deletion (#11327)David Robertson2021-11-121-0/+3
| | | | | | | | | | * Prefer `HTTPStatus` over plain `int` This is an Opinion that no-one has seemed to object to yet. * `--disallow-untyped-defs` for `tests.rest.client.test_directory` * Improve synapse's annotations for deleting aliases * Test case for deleting a room alias * Changelog
* Add type hints to media repository storage module (#11311)Patrick Cloke2021-11-121-1/+0
|
* Attempt to annotate events_forward_extremities (#11314)David Robertson2021-11-121-1/+0
| | | | | | * Make DataStore inherit from EventForwardExtremitiesStore before CacheInvalidationWorkerStore the former implicitly inherits from the latter, so they should be ordered like this when used.
* Generalize the disallowed_untyped_defs in mypy.ini (#11322)Patrick Cloke2021-11-121-14/+2
|
* Annotations for user_erasure_store (#11313)David Robertson2021-11-111-1/+3
| | | | I'm not sure why this was excluded---it seemed to be passing for me. But it's easy enough to fixup.
* Get db signatures file to pass mypy (#11312)David Robertson2021-11-111-1/+0
|
* Correct type hint for room_batch.py (#11310)David Robertson2021-11-111-1/+3
| | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add type hints to some storage classes (#11307)Patrick Cloke2021-11-111-7/+0
|
* Add missing type hints to `synapse.app`. (#11287)Patrick Cloke2021-11-101-16/+3
|
* Add type hints to synapse._scripts (#11297)Patrick Cloke2021-11-101-2/+0
|
* Ignore missing imports for parameterized. (#11285)Patrick Cloke2021-11-091-0/+3
| | | | This was due to a conflict between #11282, which changed mypy configuration, and #11228, a normal change.
* Require mypy for synapse/ & tests/ unless excluded (#11282)Dan Callahan2021-11-091-74/+165
| | | Signed-off-by: Dan Callahan <danc@element.io>
* Add remaining type hints to `synapse.events`. (#11098)Patrick Cloke2021-11-021-7/+1
|
* Additional type hints for relations database class. (#11205)Patrick Cloke2021-10-281-0/+1
|
* Type hints for the remaining two files in `synapse.http`. (#11164)David Robertson2021-10-281-10/+2
| | | | | | | | | | | | | | | | | | | * Teach MyPy that the sentinel context is False This means that if `ctx: LoggingContextOrSentinel` then `bool(ctx)` narrows us to `ctx:LoggingContext`, which is a really neat find! * Annotate RequestMetrics - Raise errors for sentry if we use the sentinel context - Ensure we don't raise an error and carry on, but not recording stats - Include stack trace in the error case to lower Sean's blood pressure * Make mypy pass for synapse.http.request_metrics * Make synapse.http.connectproxyclient pass mypy Co-authored-by: reivilibre <oliverw@matrix.org>
* Add missing type hints to synapse.crypto. (#11146)Patrick Cloke2021-10-211-0/+3
| | | And require type hints for this module.
* Add missing type hints to synapse.api. (#11109)Patrick Cloke2021-10-181-0/+3
| | | | * Convert UserPresenceState to attrs. * Remove args/kwargs from error classes and explicitly pass msg/errorcode.
* Fix-up some type hints in the relations tests. (#11076)Patrick Cloke2021-10-141-0/+1
|
* Add type hints to synapse.events.*. (#11066)Patrick Cloke2021-10-131-0/+6
| | | Except `synapse/events/__init__.py`, which will be done in a follow-up.
* Be more lenient when parsing the version for oEmbed responses. (#11065)Patrick Cloke2021-10-131-0/+1
|
* Add tests for `MediaFilePaths` (#11057)Sean Quah2021-10-121-0/+1
|
* Add type hints to `synapse.storage.databases.main.client_ips` (#10972)Sean Quah2021-10-121-0/+4
|
* disallow-untyped-defs for synapse.push (#11023)David Robertson2021-10-111-0/+3
|
* Annotate synapse.storage.util (#10892)David Robertson2021-10-081-0/+6
| | | | | Also mark `synapse.streams` as having has no untyped defs Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
* Relax `ignore-missing-imports` for modules that have stubs now and update ↵David Robertson2021-10-081-35/+34
| | | | | | | | | | | | mypy (#11006) Updating mypy past version 0.9 means that third-party stubs are no-longer distributed with typeshed. See http://mypy-lang.blogspot.com/2021/06/mypy-0900-released.html for details. We therefore pull in stub packages in setup.py Additionally, some modules that we were previously ignoring import failures for now have stubs. So let's use them. The rest of this change consists of fixups to make the newer mypy + stubs pass CI. Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* disallow-untyped-defs for synapse.server_notices (#11021)David Robertson2021-10-071-0/+3
|
* `disallow-untyped-defs` for `synapse.state` (#11004)David Robertson2021-10-061-0/+3
| | | | | * `disallow-untyped-defs` for `synapse.state` Much smaller than I was expecting!
* More types for synapse.util, part 1 (#10888)David Robertson2021-10-061-0/+24
| | | | | | | | | | | | | | The following modules now pass `disallow_untyped_defs`: * synapse.util.caches.cached_call * synapse.util.caches.lrucache * synapse.util.caches.response_cache * synapse.util.caches.stream_change_cache * synapse.util.caches.ttlcache pass * synapse.util.daemonize * synapse.util.patch_inline_callbacks pass `no-untyped-defs` * synapse.util.versionstring Additional typing in synapse.util.metrics. Didn't get this to pass `no-untyped-defs`, think I'll need to watch #10847
* Refactor user directory tests (#10935)David Robertson2021-09-301-0/+6
| | | | | | | | | | | | | * Pull out GetUserDirectoryTables helper * Don't rebuild the dir in tests that don't need it In #10796 I changed registering a user to add directory entries under. This means we don't have to force a directory regbuild in to tests of the user directory search. * Move test_initial to tests/storage * Add type hints to both test_user_directory files Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Improve typing in user_directory files (#10891)David Robertson2021-09-241-0/+2
| | | | | | | | | | | * Improve typing in user_directory files This makes the user_directory.py in storage pass most of mypy's checks (including `no-untyped-defs`). Unfortunately that file is in the tangled web of Store class inheritance so doesn't pass mypy at the moment. The handlers directory has already been mypyed. Co-authored-by: reivilibre <olivier@librepush.net>
* Require type hints in the handlers module. (#10831)Patrick Cloke2021-09-201-0/+3
| | | | | | | Adds missing type hints to methods in the synapse.handlers module and requires all methods to have type hints there. This also removes the unused construct_auth_difference method from the FederationHandler.
* Add type hints to state database module. (#10823)Patrick Cloke2021-09-151-0/+1
|
* Add missing type hints to non-client REST servlets. (#10817)Patrick Cloke2021-09-151-1/+1
| | | | Including admin, consent, key, synapse, and media. All REST servlets (the synapse.rest module) now require typed method definitions.
* Make StateFilter frozen so we can hash it (#10816)reivilibre2021-09-141-0/+1
| | | Also enables Mypy for related tests.
* Add types to synapse.util. (#10601)reivilibre2021-09-101-11/+64
|
* Pull out encrypted_by_default tests from user_directory tests (#10752)David Robertson2021-09-061-0/+1
|
* Additional type hints for client REST servlets (part 5) (#10736)Patrick Cloke2021-09-031-0/+3
| | | | Additionally this enforce type hints on all function signatures inside of the synapse.rest.client package.
* Merge remote-tracking branch 'origin/release-v1.41' into developRichard van der Hoff2021-08-271-0/+1
|\
| * Fix incompatibility with Twisted < 21. (#10713)Richard van der Hoff2021-08-271-0/+1
| | | | | | | | | | | | | | Turns out that the functionality added in #10546 to skip TLS was incompatible with older Twisted versions, so we need to be a bit more inventive. Also, add a test to (hopefully) not break this in future. Sadly, testing TLS is really hard.
* | Persist room hierarchy pagination sessions to the database. (#10613)Patrick Cloke2021-08-241-0/+1
| |
* | Flatten tests/rest/client/{v1,v2_alpha} too (#10667)David Robertson2021-08-201-2/+2
| |
* | Do not include rooms with an unknown room version in a sync response. (#10644)Patrick Cloke2021-08-191-0/+1
| | | | | | | | A user will still see this room if it is in a local cache, but it will not reappear if clearing the cache and reloading.
* | Additional type hints for the proxy agent and SRV resolver modules. (#10608)Dirk Klimpel2021-08-181-0/+3
|/
* Experimental support for MSC3266 Room Summary API. (#10394)Michael Telatynski2021-08-161-1/+1
|
* Fix type hints in space summary tests. (#10575)Patrick Cloke2021-08-111-0/+1
| | | And ensure that the file is checked via mypy.
* Add type hints and comments to event auth code. (#10393)Patrick Cloke2021-07-141-0/+1
|
* Add support for evicting cache entries based on last access time. (#10205)Erik Johnston2021-07-051-0/+1
|
* Remove support for ACME v1 (#10194)Brendan Abolivier2021-06-171-3/+0
| | | | | Fixes #9778 ACME v1 has been fully decommissioned for existing installs on June 1st 2021(see https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27), so we can now safely remove it from Synapse.
* Correct type hints for parse_string(s)_from_args. (#10137)Patrick Cloke2021-06-081-0/+1
|
* Enable Prometheus metrics for the jaeger client library (#10112)Richard van der Hoff2021-06-041-1/+1
|
* Add missing type hints to synapse.util (#9982)Patrick Cloke2021-05-241-0/+9
|
* Use ijson to parse the response to `/send_join`, reducing memory usage. (#9958)Erik Johnston2021-05-201-0/+3
| | | Instead of parsing the full response to `/send_join` into Python objects (which can be huge for large rooms) and *then* parsing that into events, we instead use ijson to stream parse the response directly into `EventBase` objects.
* Optionally track memory usage of each LruCache (#9881)Erik Johnston2021-05-051-0/+3
| | | | | This will double count slightly in the presence of interned strings. It's off by default as it can consume a lot of resources.
* Remove various bits of compatibility code for Python <3.6 (#9879)Andrew Morgan2021-04-271-1/+0
| | | I went through and removed a bunch of cruft that was lying around for compatibility with old Python versions. This PR also will now prevent Synapse from starting unless you're running Python 3.6+.
* Update mypy configuration: `no_implicit_optional = True` (#9742)Jonathan de Jong2021-04-051-0/+1
|
* Make it possible to use dmypy (#9692)Erik Johnston2021-03-261-1/+2
| | | | | | | | | Running `dmypy run` will do a `mypy` check while spinning up a daemon that makes rerunning `dmypy run` a lot faster. `dmypy` doesn't support `follow_imports = silent` and has `local_partial_types` enabled, so this PR enables those options and fixes the issues that were newly raised. Note that `local_partial_types` will be enabled by default in upcoming mypy releases.
* Add type hints to misc. files. (#9676)Patrick Cloke2021-03-241-1/+4
|
* Do not ignore the unpaddedbase64 module when type checking. (#9568)Patrick Cloke2021-03-091-3/+0
|
* Record the SSO Auth Provider in the login token (#9510)Richard van der Hoff2021-03-041-0/+1
| | | This great big stack of commits is a a whole load of hoop-jumping to make it easier to store additional values in login tokens, and then to actually store the SSO Identity Provider in the login token. (Making use of that data will follow in a subsequent PR.)
* Add type hints to groups code. (#9393)Patrick Cloke2021-02-171-0/+1
|
* Add type hints to E2E handler. (#9232)Patrick Cloke2021-01-281-41/+1
| | | This finishes adding type hints to the `synapse.handlers` module.
* Add type hints to various handlers. (#9223)Patrick Cloke2021-01-261-0/+14
| | | | With this change all handlers except the e2e_* ones have type hints enabled.
* Support icons for Identity Providers (#9154)Richard van der Hoff2021-01-201-0/+1
|
* Fix type hints in test_login.pyRichard van der Hoff2021-01-071-0/+1
|
* Add type hints to the receipts and user directory handlers. (#8976)Patrick Cloke2021-01-041-0/+2
|
* Add type hints to the crypto module. (#8999)Patrick Cloke2021-01-041-0/+2
|
* Add additional type hints to the storage module. (#8980)Patrick Cloke2020-12-301-0/+10
|
* Add type hints to admin and room list handlers. (#8973)Patrick Cloke2020-12-291-0/+5
|
* Clean up tox.ini (#8963)Richard van der Hoff2020-12-171-0/+5
| | | ... and disable coverage tracking for mypy and friends.
* Convert internal pusher dicts to attrs classes. (#8940)Patrick Cloke2020-12-161-0/+1
| | | This improves type hinting and should use less memory.
* Add type hints to the push module. (#8901)Patrick Cloke2020-12-111-6/+1
|
* Simplify the flow for SSO UIA (#8881)Richard van der Hoff2020-12-081-0/+1
| | | | | | | | | * SsoHandler: remove inheritance from BaseHandler * Simplify the flow for SSO UIA We don't need to do all the magic for mapping users when we are doing UIA, so let's factor that out.
* Add type hints for HTTP and email pushers. (#8880)Patrick Cloke2020-12-071-0/+3
|
* Add type hints to the push mailer module. (#8882)Patrick Cloke2020-12-071-0/+1
|
* Add some tests for `password_auth_providers` (#8819)Richard van der Hoff2020-12-011-0/+1
| | | | These things seemed to be completely untested, so I added a load of tests for them.
* Add additional type hints to HTTP client. (#8812)Patrick Cloke2020-11-251-1/+2
| | | | This also removes some duplicated code between the simple HTTP client and matrix federation client.
* Add type hints to matrix federation client / agent. (#8806)Patrick Cloke2020-11-251-0/+2
|
* Add a script to sign arbitrary json objects. (#8772)Richard van der Hoff2020-11-241-0/+1
|
* Properly report user-agent/IP during registration of SSO users. (#8784)Patrick Cloke2020-11-231-0/+1
| | | | | This also expands type-hints to the SSO and registration code. Refactors the CAS code to more closely match OIDC/SAML.
* Block clients from sending server ACLs that lock the local server out. (#8708)Erik Johnston2020-11-031-0/+1
| | | Fixes #4042
* Add type hints to application services. (#8655)Patrick Cloke2020-10-281-0/+4
|
* Add type hints for account validity handler (#8620)Patrick Cloke2020-10-261-0/+1
| | | This also fixes a bug by fixing handling of an account which doesn't expire.
* Type hints for RegistrationStore (#8615)Erik Johnston2020-10-221-0/+1
|
* Add type hints to profile and base handlers. (#8609)Patrick Cloke2020-10-211-1/+3
|
* Send some ephemeral events to appservices (#8437)Will Hunt2020-10-151-0/+1
| | | Optionally sends typing, presence, and read receipt information to appservices.
* Enable mypy for synapse.util.caches (#8547)Richard van der Hoff2020-10-151-3/+1
| | | This seemed to entail dragging in a type stub for SortedList.
* Add type hints to response cache. (#8507)Patrick Cloke2020-10-091-0/+1
|
* Add type hints to some handlers (#8505)Patrick Cloke2020-10-091-0/+5
|
* Add typing information to the device handler. (#8407)Patrick Cloke2020-10-071-0/+1
|
* Add unit test for event persister sharding (#8433)Erik Johnston2020-10-021-0/+3
|
* Enable mypy checking for unreachable code and fix instances. (#8432)Patrick Cloke2020-10-011-0/+1
|
* Make `StreamToken.room_key` be a `RoomStreamToken` instance. (#8281)Erik Johnston2020-09-111-0/+2
|
* Add types to async_helpers (#8260)Patrick Cloke2020-09-081-1/+2
|
* Add type hints to more handlers (#8244)Erik Johnston2020-09-031-0/+3
|
* Fix typing for `@cached` wrapped functions (#8240)Erik Johnston2020-09-031-1/+2
| | | This requires adding a mypy plugin to fiddle with the type signatures a bit.
* Add StreamStore to mypy (#8232)Erik Johnston2020-09-021-0/+1
|
* Convert the well known resolver to async (#8214)Patrick Cloke2020-09-011-0/+1
|
* Allow running mypy directly. (#8175)Patrick Cloke2020-08-261-0/+49
|
* Add type hints to handlers.message and events.builder (#8067)Erik Johnston2020-08-121-0/+3
|
* Add support for using rust-python-jaeger-reporter (#7697)Erik Johnston2020-06-171-0/+3
|
* Implement OpenID Connect-based login (#7256)Quentin Gliech2020-05-081-0/+3
|
* Fixup synapse.rest to pass mypy (#6732)Erik Johnston2020-01-201-0/+9
|
* Fixup synapse.api to pass mypy (#6733)Erik Johnston2020-01-201-0/+3
|
* Silence mypy errors for files outside those specifiedErik Johnston2019-12-101-1/+1
|
* Update black to 19.10b0 (#6304)Amber Brown2019-11-011-4/+7
| | | * update version of black and also fix the mypy config being overridden
* Refactor HomeserverConfig so it can be typechecked (#6137)Amber Brown2019-10-101-4/+12
|
* Fix for structured logging tests stomping on logs (#6023)Amber Brown2019-09-131-0/+54