summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'erikj/ss_unread_counts' into erikj/ss_hacks erikj/ss_hacksErik Johnston2024-08-091-5/+8
|\
| * SS: Hook up notification countsErik Johnston2024-08-091-5/+8
* | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-08-095-70/+131
|\ \
| * | Start handlers for new media endpoints when media resource configured (#17483)devonh2024-08-085-70/+131
| |/
* | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-08-0810-434/+736
|\|
| * SSS: Implement PREVIOUSLY room tracking (#17535)Erik Johnston2024-08-081-16/+52
| * Sliding Sync: Use `stream_ordering` based timeline pagination for incremental...Eric Eastwood2024-08-076-123/+305
| * Fixup sliding sync comment (#17531)Erik Johnston2024-08-071-1/+1
| * Sliding Sync: Add more tracing (#17514)Eric Eastwood2024-08-065-240/+345
| * SS: Reset connection if token is unrecognized (#17529)Erik Johnston2024-08-062-0/+45
* | Update log lineErik Johnston2024-08-051-1/+1
* | Log what we send downErik Johnston2024-08-051-0/+11
* | Don't send down list opsErik Johnston2024-08-051-1/+1
* | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-08-056-6/+140
|\|
| * Sliding Sync: Add typing notification extension (MSC3961) (#17505)Eric Eastwood2024-07-316-4/+138
| * Sliding Sync: Fix `limited` response description (make accurate) (#17507)Eric Eastwood2024-07-311-2/+2
* | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-07-3112-90/+666
|\|
| * Sliding Sync: Update filters to be robust against remote invite rooms (#17450)Eric Eastwood2024-07-308-75/+611
| * Sliding Sync: Add receipts extension (MSC3960) (#17489)Eric Eastwood2024-07-305-63/+253
| * Merge branch 'master' into developOlivier 'reivilibre2024-07-303-4/+14
| |\
| | * Upgrade locked dependency on Twisted to 24.7.0rc1. (#17502)reivilibre2024-07-303-4/+14
* | | Merge branch 'erikj/ss_room_sub_timeline' into erikj/ss_hacksErik Johnston2024-07-301-22/+55
|\ \ \
| * | | Handle increases in timeline limitErik Johnston2024-07-301-2/+30
| * | | Remember previous timeline limitErik Johnston2024-07-301-9/+18
| * | | Only mark as updated if entry has changedErik Johnston2024-07-301-1/+3
| * | | Add fast path if from_token is NoneErik Johnston2024-07-301-8/+11
| * | | Refactor to make LIVE non-static valueErik Johnston2024-07-301-2/+5
| |/ /
* | | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-07-305-46/+99
|\| |
| * | Add some more opentracing to sliding sync (#17501)Erik Johnston2024-07-302-5/+33
| * | Fix `failures` property in `/keys/query` (#17499)Richard van der Hoff2024-07-301-8/+18
| * | Only send rooms with updates down sliding sync (#17479)Erik Johnston2024-07-303-3/+75
| * | Sliding Sync: Track whether we have sent rooms down to clients (#17447)Erik Johnston2024-07-296-40/+362
* | | Don't set the initial flagErik Johnston2024-07-301-7/+8
* | | Trace stuffErik Johnston2024-07-291-0/+4
* | | Merge remote-tracking branch 'origin/madlittlemods/sliding-sync-receipts-exte...Erik Johnston2024-07-295-57/+216
|\ \ \
| * | | Add testsEric Eastwood2024-07-251-1/+1
| * | | Remove tests that aren't necessaryEric Eastwood2024-07-251-1/+0
| * | | Generalize extension testEric Eastwood2024-07-252-1/+7
| * | | Iterate moreEric Eastwood2024-07-254-21/+53
| * | | Better standardize `find_relevant_room_ids_for_extension(...)`Eric Eastwood2024-07-243-54/+175
| |/ /
* | | TestErik Johnston2024-07-281-9/+24
* | | Revert room subsErik Johnston2024-07-281-8/+1
* | | fixupErik Johnston2024-07-281-1/+4
* | | UpdatesErik Johnston2024-07-282-3/+3
* | | Always initial on room subsErik Johnston2024-07-281-1/+5
* | | TagErik Johnston2024-07-261-1/+7
* | | log responseErik Johnston2024-07-261-0/+1
* | | LINTErik Johnston2024-07-261-0/+1
* | | REVERTErik Johnston2024-07-261-24/+0
* | | REVERTErik Johnston2024-07-261-2/+2
* | | REVERTErik Johnston2024-07-262-8/+9
* | | REVERTErik Johnston2024-07-262-26/+0
* | | Merge branch 'erikj/ss_noop_rooms' into erikj/ss_hacksErik Johnston2024-07-264-19/+257
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/erikj/ss_room_store' into erikj/ss_noop_...Erik Johnston2024-07-264-8/+211
| |\ \ \
| | * | | Review commentsErik Johnston2024-07-261-0/+3
| | * | | Merge remote-tracking branch 'origin/develop' into erikj/ss_room_storeErik Johnston2024-07-254-4/+203
| | |\| |
| | | * | Sliding Sync: Add Account Data extension (MSC3959) (#17477)Eric Eastwood2024-07-244-2/+195
| | | * | Sliding Sync: ensure bump stamp ignores backfilled events (#17478)Erik Johnston2024-07-241-2/+8
| | * | | Update commentsErik Johnston2024-07-252-4/+5
| * | | | Don't send down rooms if nothing has happenedErik Johnston2024-07-261-1/+1
| * | | | Make it clear we only filter out rooms in incremental syncErik Johnston2024-07-261-2/+2
| * | | | Review commentsErik Johnston2024-07-261-1/+3
| * | | | Only send rooms with updates down sliding syncErik Johnston2024-07-242-1/+36
| |/ / /
* | | | REVERTErik Johnston2024-07-265-5/+5
* | | | FIXUPErik Johnston2024-07-261-2/+5
* | | | Also log json requestErik Johnston2024-07-261-0/+2
* | | | Merge branch 'erikj/ss_room_store' into erikj/ss_hacksErik Johnston2024-07-2415-135/+395
|\| | |
| * | | Merge remote-tracking branch 'origin/develop' into erikj/ss_room_storeErik Johnston2024-07-241-5/+5
| |\| |
| | * | Use a new token format for sliding sync (#17452)Erik Johnston2024-07-244-17/+75
| * | | Merge branch 'erikj/ss_tokens' into erikj/ss_room_storeErik Johnston2024-07-2327-104/+606
| |\ \ \
| | * | | Change token names againErik Johnston2024-07-232-12/+14
| | * | | Merge remote-tracking branch 'origin/develop' into erikj/ss_tokensErik Johnston2024-07-2327-88/+588
| | |\| |
| | | * | Speed up SS room sorting (#17468)Erik Johnston2024-07-234-27/+156
| | | * | Reduce volume of 'Waiting for current token' logs, which were introduced in v...reivilibre2024-07-232-5/+31
| | | * | Fixed presence results not returning offline users on initial sync (#17231)Michael Hollister2024-07-232-1/+10
| | | * | Sliding Sync: Add E2EE extension (MSC3884) (#17454)Eric Eastwood2024-07-227-30/+201
| | | * | SS: Implement `$ME` support (#17469)Erik Johnston2024-07-221-1/+5
| | | * | Speed up room keys query by using read/write lock (#17461)Erik Johnston2024-07-221-9/+9
| * | | | Ensure there is only one SlidingSyncHandlerErik Johnston2024-07-231-0/+1
| * | | | Apply suggestions from code reviewErik Johnston2024-07-231-3/+4
| * | | | Merge branch 'erikj/ss_tokens' into erikj/ss_room_storeErik Johnston2024-07-192-20/+32
| |\| | |
| | * | | Merge remote-tracking branch 'origin/develop' into erikj/ss_tokensErik Johnston2024-07-193-14/+58
| | |\ \ \
| | * | | | Remove '_token' prefixErik Johnston2024-07-182-15/+13
| | * | | | Add docstringErik Johnston2024-07-181-0/+6
| * | | | | Merge remote-tracking branch 'origin/develop' into erikj/ss_room_storeErik Johnston2024-07-183-12/+48
| |\ \ \ \ \
| * | | | | | Refactor to avoid SyncConfig.connection_id()Erik Johnston2024-07-182-47/+48
| * | | | | | Add context to conn_idErik Johnston2024-07-181-0/+5
| * | | | | | Rename boundsErik Johnston2024-07-181-10/+12
| * | | | | | Keyword argsErik Johnston2024-07-181-1/+3
| * | | | | | Reword docErik Johnston2024-07-182-4/+3
| * | | | | | Apply suggestions from code reviewErik Johnston2024-07-182-8/+9
* | | | | | | Merge branch 'erikj/ss_faster_sort' into erikj/ss_hacksErik Johnston2024-07-2216-53/+326
|\ \ \ \ \ \ \
| * | | | | | | WIP faster sortErik Johnston2024-07-222-17/+106
| | |_|_|_|/ / | |/| | | | |
| * | | | | | Prepare for authenticated media freeze (#17433)Shay2024-07-229-12/+140
| * | | | | | Add a cache on `get_rooms_for_local_user_where_membership_is` (#17460)Erik Johnston2024-07-194-4/+36
| | |_|_|/ / | |/| | | |
| * | | | | Generate room sync data concurrently (#17458)Erik Johnston2024-07-191-2/+10
| | |/ / / | |/| | |
| * | | | Improve default_power_level_content_override documentation (#17451)Ben Banfield-Zanin2024-07-181-0/+2
| * | | | Add `m.room.create` to default bump event types (#17453)Eric Eastwood2024-07-181-0/+1
| * | | | Order `heroes` by `stream_ordering` (as spec'ed) (#17435)Eric Eastwood2024-07-171-12/+45
* | | | | Remove fiddlingErik Johnston2024-07-221-2/+2
* | | | | Room keysgit checkout erikj/ss_hacksErik Johnston2024-07-191-9/+9
* | | | | Revert "Remove lists"Erik Johnston2024-07-192-4/+4
* | | | | Remove listsErik Johnston2024-07-182-4/+4
* | | | | Merge branch 'erikj/ss_incr_sync' into erikj/ss_hacksErik Johnston2024-07-171-0/+25
|\ \ \ \ \
| * | | | | Only return changed rooms erikj/ss_incr_syncErik Johnston2024-07-171-0/+25
| | |/ / / | |/| | |
* | | | | FixupErik Johnston2024-07-171-1/+1
* | | | | Merge branch 'erikj/ss_room_store' into erikj/ss_hacksErik Johnston2024-07-1710-109/+547
|\| | | |
| * | | | Handle state deltas in non-initial roomsErik Johnston2024-07-172-3/+49
| * | | | Handle initial flag correctlyErik Johnston2024-07-171-35/+31
| * | | | Use new room store to track if we've sent a room downErik Johnston2024-07-171-11/+44
| * | | | Add conn_id fieldErik Johnston2024-07-174-5/+36
| * | | | WIP/PoC of storing whether we have sent rooms down to clientsErik Johnston2024-07-171-0/+197
| | |/ / | |/| |
| * | | Pass throught SlidingSyncStreamTokenErik Johnston2024-07-173-14/+28
| * | | Add SlidingSyncStreamTokenErik Johnston2024-07-171-0/+37
| |/ /
| * | Handle remote download responses with `UNKNOWN_LENGTH` more gracefully (#17439)Shay2024-07-161-46/+80
| * | Fix bug where sync could get stuck when using workers (#17438)Erik Johnston2024-07-152-10/+66
| * | Make sure we use the right logic for enabling the media repo. (#17424)Quentin Gliech2024-07-153-8/+2
* | | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-07-151-123/+295
|\| |
| * | Add room subscriptions to Sliding Sync `/sync` (#17432)Eric Eastwood2024-07-151-115/+288
* | | Have more timeline events in incremental syncsErik Johnston2024-07-121-3/+7
* | | Merge remote-tracking branch 'origin/develop' into erikj/ss_hacksErik Johnston2024-07-126-138/+344
|\| |
| * | Add `is_dm` room field to Sliding Sync `/sync` (#17429)Eric Eastwood2024-07-111-29/+46
| * | Add `heroes` and room summary fields to Sliding Sync `/sync` (#17419)Eric Eastwood2024-07-114-98/+236
| * | Fix filtering room types on remote rooms (#17434)Erik Johnston2024-07-112-13/+61
| * | Fix docs on `record_action` to clarify the actions are applied (#17426)Travis Ralston2024-07-111-3/+2
* | | FixupErik Johnston2024-07-122-2/+4
* | | FixupErik Johnston2024-07-121-1/+1
* | | FixupErik Johnston2024-07-111-1/+1
* | | Reduce log spamErik Johnston2024-07-111-12/+8
* | | Merge branch 'erikj/ss_sort' into erikj/ss_hacksErik Johnston2024-07-112-3/+4
|\ \ \
| * | | Faster sliding sync sorting erikj/ss_sortErik Johnston2024-07-115-23/+234
| |/ /
* | | Merge branch 'erikj/ss_sort' into erikj/ss_hacksErik Johnston2024-07-115-83/+126
|\ \ \
| * | | Faster sliding sync sortingErik Johnston2024-07-115-23/+231
| |/ /
* | | FixupErik Johnston2024-07-111-5/+8
* | | TracingErik Johnston2024-07-111-0/+3
* | | FixupErik Johnston2024-07-112-1/+5
* | | Fixup room typesErik Johnston2024-07-112-13/+36
* | | New tableErik Johnston2024-07-114-16/+101
* | | Handle $ME correctlyErik Johnston2024-07-111-1/+9
* | | FIXUPErik Johnston2024-07-111-7/+9
* | | FixupErik Johnston2024-07-111-7/+18
* | | FIXUPErik Johnston2024-07-101-1/+3
* | | FIXUPErik Johnston2024-07-102-10/+13
* | | FIXUPErik Johnston2024-07-108-9/+13
* | | tracingErik Johnston2024-07-101-1/+5
* | | ConcurrentErik Johnston2024-07-101-2/+6
* | | FixupErik Johnston2024-07-101-4/+6
* | | FixupErik Johnston2024-07-101-7/+3
* | | FixupErik Johnston2024-07-102-1/+2
* | | FixupErik Johnston2024-07-103-8/+52
* | | FixupErik Johnston2024-07-101-10/+1
* | | FixupErik Johnston2024-07-101-1/+21
* | | FixupErik Johnston2024-07-102-7/+13
* | | More fixupsErik Johnston2024-07-103-12/+22
* | | Faster room sortingErik Johnston2024-07-102-31/+28
|/ /
* | Handle to-device extensions to Sliding Sync (#17416)Erik Johnston2024-07-104-10/+193
* | Merge branch 'release-v1.111' into developQuentin Gliech2024-07-102-2/+2
|\|
| * Fix new media APIs when using synapse.app.media_repository (#17420)Erik Johnston2024-07-092-2/+2
* | Add `rooms` `name` and `avatar` to Sliding Sync `/sync` (#17418)Eric Eastwood2024-07-091-55/+96
|/
* Fix exception when failing to talk to remote server (#17411)Erik Johnston2024-07-091-1/+2
* Fix `/versions` requests (#17410)Erik Johnston2024-07-092-1/+10
* Fix bug in sliding sync when using old DB. (#17398)Erik Johnston2024-07-085-88/+31
* Add `rooms.bump_stamp` to Sliding Sync `/sync` for easier client-side sorting...Eric Eastwood2024-07-085-30/+93
* Declare support for Matrix 1.11 (#17403)Travis Ralston2024-07-081-0/+1
* MSC3861: allow overriding the introspection endpoint (#17406)Quentin Gliech2024-07-082-2/+19
* Support MSC3916 by adding a federation /thumbnail endpoint and authenticated ...Shay2024-07-088-47/+178
* Bump ruff from 0.3.7 to 0.5.0 (#17381)dependabot[bot]2024-07-057-12/+14
* Allow enabling sliding sync per-user (#17393)Erik Johnston2024-07-055-6/+87
* Finish up work to allow per-user feature flags (#17392)Erik Johnston2024-07-054-26/+98
* Upon deactivation, forget all of the user's rooms (#17400)Travis Ralston2024-07-051-0/+4
* Add `rooms.required_state` to Sliding Sync `/sync` (#17342)Eric Eastwood2024-07-045-81/+433
* Add `room_types`/`not_room_types` filtering to Sliding Sync `/sync` (#17337)Eric Eastwood2024-07-023-6/+34
* Return some room data in Sliding Sync `/sync` (#17320)Eric Eastwood2024-07-029-202/+920
* Merge remote-tracking branch 'origin/release-v1.110' into developErik Johnston2024-07-021-4/+22
|\
| * Limit size of presence EDUs (#17371)Erik Johnston2024-07-021-11/+20
| * Fix regression when bounding future tokens (#17391)Erik Johnston2024-07-021-4/+22
| * Fix sync waiting for an invalid token from the "future" (#17386)Erik Johnston2024-07-0214-29/+153
* | Support MSC3916 by adding `_matrix/client/v1/media/download` endpoint (#17365)Shay2024-07-0214-37/+689
* | Fix sync waiting for an invalid token from the "future" (#17386)Erik Johnston2024-07-0214-29/+153
* | Limit size of presence EDUs (#17371)Erik Johnston2024-07-011-11/+20
* | Handle multiple rows device inbox (#17362)Erik Johnston2024-06-271-3/+2
|/
* Re-introduce federation /download endpoint (#17350)Shay2024-06-256-11/+413
* Limit amount of replication we send (#17358)Erik Johnston2024-06-251-8/+7
* Reintroduce "Reduce device lists replication traffic."" (#17361)Erik Johnston2024-06-254-48/+80
* Revert "Reduce device lists replication traffic." (#17360)Erik Johnston2024-06-254-80/+48
* Add `is_invite` filtering to Sliding Sync `/sync` (#17335)Eric Eastwood2024-06-241-3/+16
* Fix room `type` typo in mailer (#17336)Eric Eastwood2024-06-241-2/+3
* Reintroduce #17291. (#17338)Erik Johnston2024-06-243-77/+206
* Add support for MSC3823 - Account Suspension Part 2 (#17255)Shay2024-06-246-0/+97
* Reduce device lists replication traffic. (#17333)Erik Johnston2024-06-244-48/+80
* Tidy up integer parsing (#17339)Denis Kasak2024-06-247-34/+24
* Revert "Handle large chain calc better (#17291)" (#17334)Erik Johnston2024-06-192-191/+70
* Register sliding sync under a different path (#17331)Erik Johnston2024-06-191-1/+1
* register-new-matrix-user: add a flag to ignore already existing users (#17304)Jörg Thalheim2024-06-191-2/+28
* Filter added to Admin-API GET /rooms (#17276)Alexander Fechler2024-06-192-15/+49
* Handle large chain calc better (#17291)Erik Johnston2024-06-192-70/+191
* Require the 'from' parameter for `/notifications` be an integer (#17283)Andrew Morgan2024-06-192-2/+18
* Revert "Support MSC3916 by adding a federation `/download` endpoint" (#17325)Andrew Morgan2024-06-187-411/+22
* register_new_matrix_user: add password-file flag (#17294)Jörg Thalheim2024-06-181-5/+15
* Add support for via query parameter from MSC4156 (#17322)Johannes Marbach2024-06-183-0/+19
* Add `is_encrypted` filtering to Sliding Sync `/sync` (#17281)Eric Eastwood2024-06-173-100/+122
* Add `stream_ordering` sort to Sliding Sync `/sync` (#17293)Eric Eastwood2024-06-175-63/+173
* Merge branch 'release-v1.109' into developQuentin Gliech2024-06-172-25/+35
|\
| * Set our own stream position from the current sequence value on startup (#17309)Quentin Gliech2024-06-171-3/+20
| * Automatically apply SQL for inconsistent sequence (#17305)Erik Johnston2024-06-141-22/+15
* | Enable cross-signing key upload without UIA (#17284)Richard van der Hoff2024-06-143-54/+29
* | Include user membership on events (#17282)Richard van der Hoff2024-06-1313-34/+4
* | Add `is_dm` filtering to Sliding Sync `/sync` (#17277)Eric Eastwood2024-06-132-6/+159
* | Fix `newly_left` rooms not appearing if we returned early (Sliding Sync) (#17...Eric Eastwood2024-06-131-13/+13
* | Add `event.internal_metadata.instance_name` (#17300)Eric Eastwood2024-06-135-6/+16
* | Fix `get_last_event_in_room_before_stream_ordering(...)` finding the wrong la...Eric Eastwood2024-06-131-10/+22
* | Clarify that MSC4151 is enabled on matrix.org (#17296)Quentin Gliech2024-06-131-1/+9
* | Add report room API (MSC4151) (#17270)Travis Ralston2024-06-126-3/+115
* | Merge branch 'release-v1.109' into developQuentin Gliech2024-06-112-9/+35
|\|
| * Fix bug where device lists would break sync (#17292)Erik Johnston2024-06-102-9/+35
| * Always return OTK counts (#17275)Erik Johnston2024-06-101-4/+29
* | Reorganize Pydantic models and types used in handlers (#17279)Eric Eastwood2024-06-1013-243/+267
* | Wrong retention policy being used when filtering events (lint `ControlVarUsed...Eric Eastwood2024-06-101-1/+1
* | Support MSC3916 by adding a federation `/download` endpoint (#17172)Shay2024-06-077-22/+411
* | Add debug logging for when room keys are uploaded, including whether they are...reivilibre2024-06-071-0/+18
* | Add Sliding Sync `/sync` endpoint (initial implementation) (#17187)Eric Eastwood2024-06-067-13/+1046
* | Handle OTK uploads off master (#17271)Erik Johnston2024-06-062-38/+59
* | Don't try and resync devices for down hosts (#17273)Erik Johnston2024-06-061-6/+18
* | Always return OTK counts (#17275)Erik Johnston2024-06-061-4/+29
* | Ratelimiting of remote media downloads (#17256)Shay2024-06-059-12/+130
* | Handle hyphens in user dir search porperly (#17254)Erik Johnston2024-06-051-6/+60
* | Use fully-qualified `PersistedEventPosition` when returning `RoomsForUser` (#...Eric Eastwood2024-06-049-74/+80
|/
* Fix bug where typing replication breaks (#17252)Erik Johnston2024-05-311-3/+3
* Fix logging errors when receiving invalid User ID for key querys (#17250)Erik Johnston2024-05-311-0/+5
* Fix sentry default tags (#17251)Erik Johnston2024-05-311-10/+10
* In sync wait for worker to catch up since token (#17215)Erik Johnston2024-05-305-3/+131
* Fix deduplicating of membership events to not create unused state groups. (#1...Erik Johnston2024-05-302-35/+32
* Replaces all usages of `StreamIdGenerator` with `MultiWriterIdGenerator` (#17...Erik Johnston2024-05-308-224/+225
* Clean out invalid destinations from outbox (#17242)Erik Johnston2024-05-302-0/+91
* Ensure we delete media if we reject due to spam check (#17246)Erik Johnston2024-05-302-32/+32
* Move towards using `MultiWriterIdGenerator` everywhere (#17226)Erik Johnston2024-05-298-215/+153
* Don't invalidate all `get_relations_for_event` on history purge (#17083)Erik Johnston2024-05-295-13/+40
* Change allow_unsafe_locale to also apply on new databases (#17238)Erik Johnston2024-05-291-1/+7
* Ignore attempts to send to-device messages to bad users (#17240)Erik Johnston2024-05-291-0/+7
* Handle duplicate OTK uploads racing (#17241)Erik Johnston2024-05-291-33/+45
* Fix slipped logging context when media rejected (#17239)Erik Johnston2024-05-293-77/+40
* Support MSC3916 by adding unstable media endpoints to `_matrix/client` (#17213)Shay2024-05-244-468/+703
* Add Sliding Sync `/sync/e2ee` endpoint for To-Device messages (#17167)Eric Eastwood2024-05-233-10/+411
* Log exceptions when failing to auto-join new user according to the `auto_join...reivilibre2024-05-221-1/+1
* Add logging to tasks managed by the task scheduler, showing CPU and database ...reivilibre2024-05-221-2/+67
* Reduce work of calculating outbound device pokes (#17211)Erik Johnston2024-05-222-0/+31
* Bring auto-accept invite logic into Synapse (#17147)devonh2024-05-216-1/+250
* Improve perf of sync device lists (#17216)Erik Johnston2024-05-214-62/+102
* Add a short sleep if the request is rate-limited (#17210)Erik Johnston2024-05-181-0/+4
* Refactor `SyncResultBuilder` assembly to its own function (#17202)Eric Eastwood2024-05-161-116/+148