- Jan 30, 2023
-
-
dependabot[bot] authored
* Bump types-pyyaml from 6.0.12.2 to 6.0.12.3 Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.2 to 6.0.12.3. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits ) --- updated-dependencies: - dependency-name: types-pyyaml 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>
-
dependabot[bot] authored
* Bump ijson from 3.1.4 to 3.2.0.post0 Bumps [ijson](https://github.com/ICRAR/ijson) from 3.1.4 to 3.2.0.post0. - [Release notes](https://github.com/ICRAR/ijson/releases) - [Changelog](https://github.com/ICRAR/ijson/blob/master/CHANGELOG.md) - [Commits](https://github.com/ICRAR/ijson/compare/v3.1.4...v3.2.0.post0 ) --- updated-dependencies: - dependency-name: ijson 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>
-
- Jan 27, 2023
-
-
Patrick Cloke authored
MSC3952 defines push rules which searches for mentions in a list of Matrix IDs in the event body, instead of searching the entire event body for display name / local part. This is implemented behind an experimental configuration flag and does not yet implement the backwards compatibility pieces of the MSC.
-
David Robertson authored
-
Patrick Cloke authored
For better type safety we use an enum instead of strings to configure direction (backwards or forwards).
-
- Jan 26, 2023
-
-
Patrick Cloke authored
* FIx-up type hints in tests.logging. * Add missing type hints to test_transactions.
-
Patrick Cloke authored
The `/relations` endpoint was not properly handle "live tokens" (i.e sync tokens), to do this properly we abstract the code that `/messages` has and re-use it.
-
Patrick Cloke authored
Due to the increased safety of StrCollection over Collection[str] and Sequence[str].
-
Patrick Cloke authored
* Batch look-ups to see if rooms are partial stated. * Fix issues found in linting. * Fix typo. * Apply suggestions from code review Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Clarify comments. Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Also improve the cache size while we're at it * is_partial_state_rooms -> is_partial_state_room_batched * Run `black` * Improve annotation for `simple_select_many_batch` * Fix is_partial_state_room_batched impl * Okay, _actually_ fix impl * Update description. * Update synapse/storage/databases/main/room.py Co-authored-by:
Patrick Cloke <clokep@users.noreply.github.com> * Run black. Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> Co-authored-by:
David Robertson <davidr@element.io>
-
David Robertson authored
* Fix typo in release script * Changelog
-
Sean Quah authored
On startup, the `_device_list_id_gen` stream id generator is initialized using the maximum stream id seen in a list of tables. When we started populating the `device_list_remote_pending` table in #13913, we forgot to add it to the aforementioned list of tables, so the stream id generator can hand out old stream ids after a restart. The end result is that Synapse can fail to handle device list update EDUs after a restart when a partial state join is in progress. Add the `device_list_remote_pending` table to the list of tables to consider when initializing the `_device_list_id_gen` stream id generator. Signed-off-by:
Sean Quah <seanq@matrix.org>
-
Andrew Morgan authored
-
- Jan 25, 2023
-
-
Patrick Cloke authored
Destination was being used incorrectly (a single destination instead of a list of destinations was being passed). This also updates some of the types in the area to not use Collection[str], which is a footgun.
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Andrew Morgan authored
-
David Robertson authored
-
David Robertson authored
-
David Robertson authored
-
David Robertson authored
-
David Robertson authored
* Bump the client-side timeout for /state to allow faster joins resyncs the chance to complete for large rooms. We have seen this fair poorly (~90s for Matrix HQ's /state) in testing, causing the resync to advance to another HS who hasn't seen our join yet. * Changelog * Milliseconds!!!!
-
Sean Quah authored
#13873 introduced a regression which causes sqlite database migrations to no longer run inside a transaction. Wrap them in a transaction again, to avoid database corruption when migrations are interrupted. Fixes #14909. Signed-off-by:
Sean Quah <seanq@matrix.org>
-
ZAID BIN TARIQ authored
-
- Jan 24, 2023
-
-
David Robertson authored
* Request partial joins by default This is a little sloppy, but we are trying to gain confidence in faster joins in the upcoming RC. Admins can still opt out by adding the following to their Synapse config: ```yaml experimental: faster_joins: false ``` We may revert this change before the release proper, depending on how testing in the wild goes. * Changelog * Try to fix the backfill test failures * Upgrade notes * Postgres compat?
-
- Jan 23, 2023
-
-
David Robertson authored
* Allow `AbstractSet` in `StrCollection` Or else frozensets are excluded. This will be useful in an upcoming commit where I plan to change a function that accepts `List[str]` to accept `StrCollection` instead. * `rooms_to_exclude` -> `rooms_to_exclude_globally` I am about to make use of this exclusion mechanism to exclude rooms for a specific user and a specific sync. This rename helps to clarify the distinction between the global config and the rooms to exclude for a specific sync. * Better function names for internal sync methods * Track a list of excluded rooms on SyncResultBuilder I plan to feed a list of partially stated rooms for this sync to ignore * Exclude partial state rooms during eager sync using the mechanism established in the previous commit * Track un-partial-state stream in sync tokens So that we can work out which rooms have become fully-stated during a given sync period. * Fix mutation of `@cached` return value This was fouling up a complement test added alongside this PR. Excluding a room would mean the set of forgotten rooms in the cache would be extended. This means that room could be erroneously considered forgotten in the future. Introduced in #12310, Synapse 1.57.0. I don't think this had any user-visible side effects (until now). * SyncResultBuilder: track rooms to force as newly joined Similar plan as before. We've omitted rooms from certain sync responses; now we establish the mechanism to reintroduce them into future syncs. * Read new field, to present rooms as newly joined * Force un-partial-stated rooms to be newly-joined for eager incremental syncs only, provided they're still fully stated * Notify user stream listeners to wake up long polling syncs * Changelog * Typo fix Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Unnecessary list cast Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Rephrase comment Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Another comment Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com> * Fixup merge(?) * Poke notifier when receiving un-partial-stated msg over replication * Fixup merge whoops Thanks MV :) Co-authored-by:
Mathieu Velen <mathieuv@matrix.org> Co-authored-by:
Mathieu Velten <mathieuv@matrix.org> Co-authored-by:
Sean Quah <8349537+squahtx@users.noreply.github.com>
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
dependabot[bot] authored
-
Patrick Cloke authored
* Skip processing stats for broken rooms. * Newsfragment * Use a custom exception.
-
Sean Quah authored
* Faster joins: Update room stats and user directory on workers when done When finishing a partial state join to a room, we update the current state of the room without persisting additional events. Workers receive notice of the current state update over replication, but neglect to wake the room stats and user directory updaters, which then get incidentally triggered the next time an event is persisted or an unrelated event persister sends out a stream position update. We wake the room stats and user directory updaters at the appropriate time in this commit. Part of #12814 and #12815. Signed-off-by:
Sean Quah <seanq@matrix.org> * fixup comment Signed-off-by:
Sean Quah <seanq@matrix.org>
-
- Jan 22, 2023
-
-
reivilibre authored
* Enable Complement tests for Faster Remote Room Joins on worker-mode * (dangerous) Add an override to allow Complement to use FRRJ under workers * Newsfile Signed-off-by:
Olivier Wilkinson (reivilibre) <oliverw@matrix.org> * Fix race where we didn't send out replication notification * MORE HACKS * Fix get_un_partial_stated_rooms_token to take instance_name * Fix bad merge * Remove warning * Correctly advance un_partial_stated_room_stream * Fix merge * Add another notify_replication * Fixups * Create a separate ReplicationNotifier * Fix test * Fix portdb * Create a separate ReplicationNotifier * Fix test * Fix portdb * Fix presence test * Newsfile * Apply suggestions from code review * Update changelog.d/14752.misc Co-authored-by:
Erik Johnston <erik@matrix.org> * lint Signed-off-by:
Olivier Wilkinson (reivilibre) <oliverw@matrix.org> Co-authored-by:
Erik Johnston <erik@matrix.org>
-
Sean Quah authored
* Avoid clearing out forward extremities when doing a second remote join When joining a restricted room where the local homeserver does not have a user able to issue invites, we perform a second remote join. We want to avoid clearing out forward extremities in this case because the forward extremities we have are up to date and clearing out forward extremities creates a window in which the room can get bricked if Synapse crashes. Signed-off-by:
Sean Quah <seanq@matrix.org> * Do a full join when doing a second remote join into a full state room We cannot persist a partial state join event into a joined full state room, so we perform a full state join for such rooms instead. As a future optimization, we could always perform a partial state join and compute or retrieve the full state ourselves if necessary. Signed-off-by:
Sean Quah <seanq@matrix.org> * Add lock around partial state flag for rooms Signed-off-by:
Sean Quah <seanq@matrix.org> * Preserve partial state info when doing a second partial state join Signed-off-by:
Sean Quah <seanq@matrix.org> * Add newsfile * Add a TODO(faster_joins) marker Signed-off-by:
Sean Quah <seanq@matrix.org>
-
Andrew Morgan authored
-
- Jan 21, 2023
-
-
Andrew Morgan authored
-
- Jan 20, 2023
-
-
Erik Johnston authored
Now that we wait for stream positions whenever we do a HTTP replication hit, we need to be less brutal in the case where we do timeout (as we have bugs around this).
-
Erik Johnston authored
This ensures that all other workers are told about stream updates in a timely manner, without having to remember to manually poke replication.
-