for get_rooms_for_user_with_stream_ordering.
This was the most painful MRO problem to resolve.
Remove BaseSlavedStore and SlavedEventStore from
GenericWorkerSlavedStore. These are already pulled in indirectly by
inheriting from SlavedPushRuleStore.
I need StateDeltasStore for _curr_state_delta_stream_cache.
I also need the `clock` attribute, which pathologically only seems to be
defined on StatsStore. StatsStore is a subclass of StateDeltasStore, so
let's just use that to keep the list of parents minimal.
To be explicit: I think it's very very odd that only StatsStore provides
a `clock`. I think pulling it in here is silly: why should
CacheInvalidationWorkerStore care about stats? Consider this a protest
commit to raise attention to the bizarre status quo.
for e.g. get_relations_for_event.
Remove it from SlavedEventsStore. (Still there via SlavedEventsStore ->
BaseSlavedStore -> CacheInvalidationWorkerStore -> RelationsWorkerStore.
for e.g. get_latest_event_ids_in_room
Needed on CacheInvalidationWorkerStore for many functions, e.g.
`have_seen_event`.
Fixup MRO in CensorEventsStore.
The BaseSlavedStore is trickier. The removals should be safe because the
removed classes are in parents, via SlavedEventStore -> BaseSlavedStore
-> CacheInvalidationWorkerStore
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`.
* Add support for the stable version of MSC2778
Signed-off-by: Tulir Asokan <tulir@maunium.net>
* Expect m.login.application_service in login and password provider tests
Signed-off-by: Tulir Asokan <tulir@maunium.net>
* remove unused tables room_stats_historical and user_stats_historical
* update changelog number
* Bump schema compat version comment
* make linter happy
* Update comment to give more info
Co-authored-by: reivilibre <oliverw@matrix.org>
Co-authored-by: reivilibre <oliverw@matrix.org>
* 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
* change display names/avatar URLS to None if they contain null bytes
* add changelog
* add POC test, requested changes
* add a saner test and remove old one
* update test to verify that display name has been changed to None
* make test less fragile
* Make DataStore inherit from EventForwardExtremitiesStore before CacheInvalidationWorkerStore
the former implicitly inherits from the latter, so they should be
ordered like this when used.
* Annotate HomeserverTestCase.servlets
* Correct annotation of federation_auth_origin
* Use AnyStr custom_headers instead of a Union
This allows (str, str) and (bytes, bytes).
This disallows (str, bytes) and (bytes, str)
* DomainSpecificString.SIGIL is a ClassVar
Synapse 1.47.0rc2 (2021-11-10)
==============================
This fixes an issue with publishing the Debian packages for 1.47.0rc1.
It is otherwise identical to 1.47.0rc1.