David Robertson
0f34abed7c
Type hints for tests.federation ( #14991 )
...
* 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
2023-02-06 16:05:06 +00:00
Patrick Cloke
156cd88eef
Add missing type hints to tests.replication. ( #14987 )
2023-02-06 09:55:00 -05:00
David Robertson
b275763c65
Expect type stubs from canonicaljson ( #14992 )
...
* 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
2023-02-06 12:54:11 +00:00
David Robertson
e8269ed391
Type hints for tests.appservice ( #14990 )
...
* 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
2023-02-06 12:49:06 +00:00
dependabot[bot]
3e37ff1a7e
Bump anyhow from 1.0.68 to 1.0.69 ( #14996 )
...
* Bump anyhow from 1.0.68 to 1.0.69
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.68 to 1.0.69.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 12:18:11 +00:00
dependabot[bot]
e3808e53dc
Bump phonenumbers from 8.13.4 to 8.13.5 ( #14999 )
...
* Bump phonenumbers from 8.13.4 to 8.13.5
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.13.4 to 8.13.5.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.13.4...v8.13.5 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:35:39 +00:00
dependabot[bot]
4e2b58bc52
Bump isort from 5.11.4 to 5.11.5 ( #14998 )
...
* Bump isort from 5.11.4 to 5.11.5
Bumps [isort](https://github.com/pycqa/isort ) from 5.11.4 to 5.11.5.
- [Release notes](https://github.com/pycqa/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pycqa/isort/compare/5.11.4...5.11.5 )
---
updated-dependencies:
- dependency-name: isort
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:35:06 +00:00
dependabot[bot]
041eab647d
Bump serde_json from 1.0.91 to 1.0.92 ( #14997 )
...
* Bump serde_json from 1.0.91 to 1.0.92
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:54 +00:00
dependabot[bot]
ef23d6b296
Bump prometheus-client from 0.15.0 to 0.16.0 ( #14995 )
...
* Bump prometheus-client from 0.15.0 to 0.16.0
Bumps [prometheus-client](https://github.com/prometheus/client_python ) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/prometheus/client_python/releases )
- [Commits](https://github.com/prometheus/client_python/compare/v0.15.0...v0.16.0 )
---
updated-dependencies:
- dependency-name: prometheus-client
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:22 +00:00
dependabot[bot]
96e67d5cba
Bump types-setuptools from 65.6.0.3 to 67.1.0.0 ( #14994 )
...
* Bump types-setuptools from 65.6.0.3 to 67.1.0.0
Bumps [types-setuptools](https://github.com/python/typeshed ) from 65.6.0.3 to 67.1.0.0.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:34:01 +00:00
dependabot[bot]
f3f495c4e3
Bump hiredis from 2.1.1 to 2.2.1 ( #14993 )
...
* Bump hiredis from 2.1.1 to 2.2.1
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.1.1 to 2.2.1.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.1.1...v2.2.1 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-06 11:33:23 +00:00
David Robertson
b3bf58a8a5
Only notify the target of a membership event ( #14971 )
...
* Only notify the target of a membership event
Naughty, but should be a big speedup in large rooms
2023-02-06 11:29:51 +00:00
David Robertson
6e6edea6c1
Properly typecheck tests.api ( #14983 )
2023-02-03 20:03:23 +00:00
Patrick Cloke
b2d97bac09
Implement MSC3958: suppress notifications from edits ( #14960 )
...
Co-authored-by: Brad Murray <brad@beeper.com>
Co-authored-by: Nick Barrett <nick@beeper.com>
Copy the suppress_edits push rule from Beeper to implement MSC3958.
9415a1284b/rust/src/push/base_rules.rs (L98-L114)
2023-02-03 14:31:14 -05:00
David Robertson
e301ee6189
Properly typecheck tests.app ( #14984
2023-02-03 19:22:40 +00:00
Patrick Cloke
f0cae26d58
Add a docstring & tests for _flatten_dict. ( #14981 )
2023-02-03 16:48:13 +00:00
Patrick Cloke
52700a0bcf
Support the backwards compatibility features in MSC3952. ( #14958 )
...
If the feature is enabled and the event has a `m.mentions` property,
skip processing of the legacy mentions rules.
2023-02-03 16:28:20 +00:00
Sean Quah
0a686d1d13
Faster joins: Refactor handling of servers in room ( #14954 )
...
Ensure that the list of servers in a partial state room always contains
the server we joined off.
Also refactor `get_partial_state_servers_at_join` to return `None` when
the given room is no longer partial stated, to explicitly indicate when
the room has partial state. Otherwise it's not clear whether an empty
list means that the room has full state, or the room is partial stated,
but the server we joined off told us that there are no servers in the
room.
Signed-off-by: Sean Quah <seanq@matrix.org>
2023-02-03 15:39:59 +00:00
Patrick Cloke
8e9fc28c6a
Reload the pyo3-log config when the Python logging config changes. ( #14976 )
...
Since pyo3-log is initialized very early in the Python start-up
it caches the state of the loggers before they're fully initialized
(and thus are essentially disabled). Whenever we reload the
logging configuration we now also tell pyo3-log to discard
any cached logging configuration it has; it will refetch the
current logging configuration from Python at the next point
it logs.
This fixes Rust log lines not appearing in the homeserver logs.
2023-02-03 08:27:31 -05:00
Patrick Cloke
306ecd6740
Skip unused calculations in sync handler. ( #14908 )
...
If a sync request does not need to calculate per-room entries &
is not generating presence & is not generating device list data
(e.g. during initial sync) avoid the expensive calculation of room
specific data.
This is a micro-optimisation for clients syncing simply to receive
to-device information.
2023-02-02 18:49:38 +00:00
Patrick Cloke
0f63c73cf7
Do not calculate presence or ephemeral events when they are filtered out ( #14970 )
...
This expands the previous optimisation from being only for initial
sync to being for all sync requests.
It also inverts some of the logic to be inclusive instead of exclusive.
2023-02-02 18:49:32 +00:00
Patrick Cloke
da05b70af5
Skip unused calculations in sync handler. ( #14908 )
...
If a sync request does not need to calculate per-room entries &
is not generating presence & is not generating device list data
(e.g. during initial sync) avoid the expensive calculation of room
specific data.
This is a micro-optimisation for clients syncing simply to receive
to-device information.
2023-02-02 13:45:12 -05:00
Patrick Cloke
f36da501be
Do not calculate presence or ephemeral events when they are filtered out ( #14970 )
...
This expands the previous optimisation from being only for initial
sync to being for all sync requests.
It also inverts some of the logic to be inclusive instead of exclusive.
2023-02-02 11:58:20 -05:00
David Robertson
2186ebed6c
Fetch fewer events when getting hosts in room ( #14962 )
2023-02-02 16:49:14 +00:00
David Robertson
c9564e08ba
Fix stupid bug
2023-02-02 16:47:39 +00:00
David Robertson
ea3210f8e5
Don't notify a target who's not in the room
...
Also avoid unncessary DB queries when creating a room
2023-02-02 16:30:30 +00:00
David Robertson
a7fa951876
Only notify the target of a membership event
...
Naughty, but should be a big speedup in large rooms
Changelog
2023-02-02 15:43:10 +00:00
dependabot[bot]
f398886ab8
Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955 ( #14968 )
2023-02-02 07:21:46 -05:00
Patrick Cloke
da8a957113
Make extension-module optional, but default. ( #14965 )
2023-02-01 19:01:06 -05:00
realtyem
58214dbb9b
Allow enabling the asyncio reactor in complement ( #14858 )
...
Signed-off-by: Jason Little realtyem@gmail.com
2023-02-01 23:42:45 +00:00
dependabot[bot]
1d3a54aa30
Bump hiredis from 2.0.0 to 2.1.1 ( #14939 )
...
* Bump hiredis from 2.0.0 to 2.1.1
Bumps [hiredis](https://github.com/redis/hiredis-py ) from 2.0.0 to 2.1.1.
- [Release notes](https://github.com/redis/hiredis-py/releases )
- [Changelog](https://github.com/redis/hiredis-py/blob/master/CHANGELOG.md )
- [Commits](https://github.com/redis/hiredis-py/compare/v2.0.0...v2.1.1 )
---
updated-dependencies:
- dependency-name: hiredis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-01 23:25:15 +00:00
Patrick Cloke
1182ae5063
Add helper to parse an enum from query args & use it. ( #14956 )
...
The `parse_enum` helper pulls an enum value from the query string
(by delegating down to the parse_string helper with values generated
from the enum).
This is used to pull out "f" and "b" in most places and then we thread
the resulting Direction enum throughout more code.
2023-02-01 21:35:24 +00:00
Patrick Cloke
230a831c73
Attempt to delete more duplicate rows in receipts_linearized table. ( #14915 )
...
The previous assumption was that the stream_id column was unique
(for a room ID, receipt type, user ID tuple), but this turned out to be
incorrect.
Now find the max stream ID, then map this back to a database-specific
row identifier and delete other rows which match the (room ID, receipt type,
user ID) tuple, but *not* the row ID.
2023-02-01 15:45:10 -05:00
dependabot[bot]
bb675913f0
Bump docker/build-push-action from 3 to 4 ( #14952 )
...
* Bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2023-02-01 20:06:28 +00:00
David Robertson
769406378c
Cherry-pick "Fetch fewer events when getting hosts in room" (WIP #14962 )
...
This is a squashed verion of the following commits:
- bc739a444f
- 7094744379
- f781304e18
- 7ee3976deb
2023-02-01 18:41:56 +00:00
Dirk Klimpel
bf82b56bab
Add more user information to export-data command. ( #14894 )
...
* The user's profile information.
* The user's devices.
* The user's connections / IP address information.
2023-02-01 15:45:19 +00:00
David Robertson
1958f9de45
lnav config for synpase logs ( #14953 )
2023-02-01 12:36:04 +00:00
David Robertson
e03b1e858b
Fix my hack
...
The tag isn't set unless we force tracing, apparently
2023-02-01 12:27:22 +00:00
Patrick Cloke
73403d5e5e
Fix inconsistencies between MSC3952 and implementation. ( #14957 )
...
* Correct the push rule IDs.
* Removes the sound tweak for room notifications.
2023-02-01 06:24:02 -05:00
H. Shay
41d177ca4a
Merge branch 'master' into develop
2023-01-31 10:36:31 -08:00
H. Shay
eafdb12dd8
update changelog and upgrade notes
2023-01-31 08:35:22 -08:00
H. Shay
e4bf5f3b05
update changelog
2023-01-31 08:28:16 -08:00
H. Shay
9cb25b20e5
1.76.0
2023-01-31 08:23:07 -08:00
David Robertson
d6e40d75ff
HACK: force tracing for partial state /send_join responses
2023-01-31 15:28:55 +00:00
David Robertson
873cf51149
Tag /send_join responses to detect faster joins ( #14950 )
...
* Tag /send_join responses to detect faster joins
* Changelog
* Define a proper SynapseTag
* isort
2023-01-31 15:25:47 +00:00
David Robertson
488cea0399
Revert "Tag /send_join responses to detect faster joins"
...
This reverts commit 204bdb7f07
. I will
cherry pick #14950 in its place.
2023-01-31 15:25:04 +00:00
Patrick Cloke
585180594b
Fix running cargo bench & test in CI. ( #14943 )
2023-01-31 08:00:07 -05:00
David Robertson
3b8574b4f2
Tag /send_join responses to detect faster joins ( #14950 )
...
* Tag /send_join responses to detect faster joins
* Changelog
* Define a proper SynapseTag
* isort
2023-01-31 12:43:20 +00:00
Sean Quah
805b641fb6
Fix "Re-starting finished log context" spam when creating events ( #14947 )
...
`run_in_background` calls re-use the current logging context. When they
are not awaited, they can complete after the current logging context has
been marked as finished, which leads to log spam. Use
`run_as_background_process` instead.
Fixes one of the instances of #13090 .
Signed-off-by: Sean Quah <seanq@matrix.org>
2023-01-31 11:31:52 +00:00
David Robertson
204bdb7f07
Tag /send_join responses to detect faster joins
2023-01-31 11:25:21 +00:00