summary refs log tree commit diff
path: root/synapse/replication (follow)
Commit message (Expand)AuthorAgeFilesLines
* Update `_on_new_receipts()` to work with MSC2285 changes. (#12636)Å imon Brandner2022-05-051-5/+3
* Reduce log spam when running multiple event persisters (#12610)Erik Johnston2022-05-052-2/+16
* Add opentracing spans to calls to external cache (#12380)Erik Johnston2022-04-071-11/+20
* Refactor and convert `Linearizer` to async (#12357)Sean Quah2022-04-051-1/+1
* Prefill more stream change caches. (#12372)Erik Johnston2022-04-051-23/+2
* Prefill the device_list_stream_cache (#12367)Erik Johnston2022-04-041-1/+11
* Track device list updates per room. (#12321)Erik Johnston2022-04-041-0/+1
* Move `update_client_ip` background job from the main process to the backgroun...reivilibre2022-04-013-73/+42
* Bump `black` and `click` versions (#12320)David Robertson2022-03-291-1/+1
* Improve code documentation for the typing stream over replication. (#12211)reivilibre2022-03-113-4/+16
* Rename get_tcp_replication to get_replication_command_handler. (#12192)Patrick Cloke2022-03-105-8/+8
* Retry some http replication failures (#12182)Nick Mills-Barrett2022-03-091-11/+36
* Fix incorrect type hints for txredis. (#12042)Patrick Cloke2022-03-082-5/+5
* Spread out sending device lists to remote hosts (#12132)Erik Johnston2022-03-041-1/+1
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff2022-02-2310-31/+31
* Better error message when failing to request from another process (#12060)Erik Johnston2022-02-221-1/+3
* Add missing type hints to synapse.replication. (#11938)Patrick Cloke2022-02-0814-141/+196
* Remove unnecessary ignores due to Twisted upgrade. (#11939)Patrick Cloke2022-02-082-3/+3
* Add missing type hints to synapse.replication.http. (#11856)Patrick Cloke2022-02-0812-162/+257
* Stop reading from `event_reference_hashes` (#11794)Richard van der Hoff2022-01-211-1/+1
* Use auto_attribs/native type hints for attrs classes. (#11692)Patrick Cloke2022-01-131-17/+17
* Remove redundant `get_current_events_token` (#11643)Richard van der Hoff2022-01-041-9/+0
* Convert all namedtuples to attrs. (#11665)Patrick Cloke2021-12-302-70/+74
* Type hint the constructors of the data store classes (#11555)Sean Quah2021-12-136-12/+42
* Save the OIDC session ID (sid) with the device on login (#11482)Quentin Gliech2021-12-061-0/+8
* Add type hints to `synapse/storage/databases/main/events_worker.py` (#11411)Sean Quah2021-11-263-19/+13
* Add missing type hints to `synapse.app`. (#11287)Patrick Cloke2021-11-101-2/+2
* Enable passing typing stream writers as a list. (#11237)Nick Barrett2021-11-032-3/+2
* Implement an `on_new_event` callback (#11126)Brendan Abolivier2021-10-261-1/+2
* Add type hints for most `HomeServer` parameters (#11095)Sean Quah2021-10-2222-53/+130
* Fix logging context warnings when losing replication connection (#10984)Sean Quah2021-10-152-10/+26
* Fix opentracing and Prometheus metrics for replication requests (#10996)Sean Quah2021-10-121-76/+78
* Annotate synapse.storage.util (#10892)David Robertson2021-10-082-5/+9
* Require direct references to configuration variables. (#10985)Patrick Cloke2021-10-062-3/+6
* Pass str to twisted's IReactorTCP (#10895)David Robertson2021-09-302-3/+13
* Use direct references for configuration variables (part 6). (#10916)Patrick Cloke2021-09-291-1/+1
* Use direct references for configuration variables (part 5). (#10897)Patrick Cloke2021-09-242-4/+4
* Use direct references for some configuration variables (#10798)Patrick Cloke2021-09-134-5/+5
* Split `FederationHandler` in half (#10692)Richard van der Hoff2021-08-261-2/+2
* Remove the unused public_room_list_stream (#10565)Andrew Morgan2021-08-173-65/+0
* Fix up type hints for Twisted 21.7 (#10490)Richard van der Hoff2021-07-281-1/+1
* Support for MSC2285 (hidden read receipts) (#10413)Å imon Brandner2021-07-281-0/+5
* Use inline type hints in various other places (in `synapse/`) (#10380)Jonathan de Jong2021-07-1511-61/+61
* MSC2918 Refresh tokens implementation (#9450)Quentin Gliech2021-06-241-1/+12
* update black to 21.6b0 (#10197)Marcus2021-06-171-1/+1
* Extend `ResponseCache` to pass a context object into the callback (#10157)Richard van der Hoff2021-06-142-4/+4
* Implement knock feature (#6739)Sorunome2021-06-091-0/+139
* Clean up the interface for injecting opentracing over HTTP (#10143)Richard van der Hoff2021-06-091-2/+3
* Combine `LruCache.invalidate` and `invalidate_many` (#9973)Richard van der Hoff2021-05-271-1/+1
* Remove `keylen` from `LruCache`. (#9993)Richard van der Hoff2021-05-241-1/+1
* Don't hammer the database for destination retry timings every ~5mins (#10036)Erik Johnston2021-05-211-21/+0
* Use a database table to hold the users that should have full presence sent to...Andrew Morgan2021-05-181-2/+9
* Add debug logging for issue #9533 (#9959)Richard van der Hoff2021-05-111-1/+0
* Time external cache response time (#9904)Erik Johnston2021-05-041-10/+26
* Split presence out of master (#9820)Erik Johnston2021-04-234-58/+32
* Remove `synapse.types.Collection` (#9856)Richard van der Hoff2021-04-221-2/+1
* Merge branch 'master' into developAndrew Morgan2021-04-211-1/+1
|\
| * Stop BackgroundProcessLoggingContext making new prometheus timeseries (#9854)Richard van der Hoff2021-04-211-1/+1
* | Merge branch 'master' into developAndrew Morgan2021-04-201-1/+1
|\|
| * Always use the name as the log ID. (#9829)Patrick Cloke2021-04-201-1/+1
* | Add presence federation stream (#9819)Erik Johnston2021-04-203-3/+31
* | Move some replication processing out of generic_worker (#9796)Erik Johnston2021-04-141-7/+224
* | Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-1447-47/+0
|/
* Record more information into structured logs. (#9654)Patrick Cloke2021-04-081-2/+3
* Update mypy configuration: `no_implicit_optional = True` (#9742)Jonathan de Jong2021-04-051-1/+1
* Make RateLimiter class check for ratelimit overrides (#9711)Erik Johnston2021-03-301-1/+1
* Add type hints for the federation sender. (#9681)Patrick Cloke2021-03-292-6/+14
* Make it possible to use dmypy (#9692)Erik Johnston2021-03-261-1/+1
* Import HomeServer from the proper module. (#9665)Patrick Cloke2021-03-232-2/+2
* Fix up types for the typing handler. (#9638)Patrick Cloke2021-03-171-7/+10
* Prep work for removing `outlier` from `internal_metadata` (#9411)Richard van der Hoff2021-03-172-1/+6
* Fix remaining mypy issues due to Twisted upgrade. (#9608)Patrick Cloke2021-03-153-3/+12
* Fix additional type hints from Twisted 21.2.0. (#9591)Patrick Cloke2021-03-123-38/+38
* Add logging for redis connection setup (#9590)Richard van der Hoff2021-03-111-0/+35
* Fix the auth provider on the logins metric (#9573)Richard van der Hoff2021-03-101-2/+2
* Add ResponseCache tests. (#9458)Jonathan de Jong2021-03-081-3/+6
* Create a SynapseReactor type which incorporates the necessary reactor interfa...Patrick Cloke2021-03-081-1/+1
* Fix additional type hints from Twisted upgrade. (#9518)Patrick Cloke2021-03-031-3/+1
* Bump the mypy and mypy-zope versions. (#9529)Patrick Cloke2021-03-031-1/+1
* Use the proper Request in type hints. (#9515)Patrick Cloke2021-03-011-5/+4
* Fix deleting pushers when using sharded pushers. (#9465)Erik Johnston2021-02-224-50/+74
* Add configs to make profile data more private (#9203)AndrewFerr2021-02-191-1/+2
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-1612-71/+62
* Ensure that we never stop reconnecting to redis (#9391)Erik Johnston2021-02-111-2/+24
* Precompute joined hosts and store in Redis (#9198)Erik Johnston2021-01-262-14/+106
* Periodically send pings to detect dead Redis connections (#9218)Erik Johnston2021-01-262-53/+98
* Allow moving account data and receipts streams off master (#9104)Erik Johnston2021-01-186-76/+217
* Enforce all replication HTTP clients calls use kwargs (#9144)Erik Johnston2021-01-181-1/+1
* Allow running sendToDevice on workers (#9044)Erik Johnston2021-01-072-31/+10
* Some cleanups to device inbox store. (#9041)Erik Johnston2021-01-071-8/+0
* Merge remote-tracking branch 'origin/erikj/as_mau_block' into developErik Johnston2020-12-181-2/+10
|\
| * Correctly handle AS registerations and add testErik Johnston2020-12-171-2/+10
* | Convert internal pusher dicts to attrs classes. (#8940)Patrick Cloke2020-12-162-10/+27
* | Various clean-ups to the logging context code (#8935)Patrick Cloke2020-12-141-2/+1
* | Add authentication to replication endpoints. (#8853)Patrick Cloke2020-12-041-6/+41
|/
* Add typing to membership Replication class methods (#8809)Andrew Morgan2020-11-271-22/+44
* Generalise _maybe_store_room_on_invite (#8754)Andrew Morgan2020-11-131-5/+5
* Add ability for access tokens to belong to one user but grant access to anoth...Erik Johnston2020-10-292-6/+3
* Don't pull event from DB when handling replication traffic. (#8669)Erik Johnston2020-10-282-16/+25
* Don't unnecessarily start bg process in replication sending loop. (#8670)Erik Johnston2020-10-271-0/+10
* Start fewer opentracing spans (#8640)Erik Johnston2020-10-261-1/+3
* Replace DeferredCache with LruCache where possible (#8563)Richard van der Hoff2020-10-191-5/+5
* move DeferredCache into its own moduleRichard van der Hoff2020-10-141-1/+1
* Rename Cache->DeferredCacheRichard van der Hoff2020-10-141-3/+3
* Add some more type annotations to CacheRichard van der Hoff2020-10-141-1/+1
* Fix message duplication if something goes wrong after persisting the event (#...Erik Johnston2020-10-131-2/+14
* Make event persisters periodically announce position over replication. (#8499)Erik Johnston2020-10-124-21/+90
* Add type hints to response cache. (#8507)Patrick Cloke2020-10-091-1/+1
* Only send RDATA for instance local events. (#8496)Erik Johnston2020-10-092-6/+11
* Remove the deprecated Handlers object (#8494)Patrick Cloke2020-10-092-2/+2
* Add unit test for event persister sharding (#8433)Erik Johnston2020-10-022-4/+42
* Enable mypy checking for unreachable code and fix instances. (#8432)Patrick Cloke2020-10-011-4/+6
* Various clean ups to room stream tokens. (#8423)Erik Johnston2020-09-291-4/+2
* Add metrics to track success/otherwise of replication requests (#8406)Richard van der Hoff2020-09-291-12/+28
* Fix MultiWriteIdGenerator's handling of restarts. (#8374)Erik Johnston2020-09-241-0/+2
* Add EventStreamPosition type (#8388)Erik Johnston2020-09-241-3/+9
* Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-1819-25/+25
* Switch metaclass initialization to python 3-compatible syntax (#8326)Jonathan de Jong2020-09-161-3/+1
* Use slots in attrs classes where possible (#8296)Patrick Cloke2020-09-141-2/+2
* Fix typos in comments.Patrick Cloke2020-09-141-1/+1
* Add experimental support for sharding event persister. Again. (#8294)Erik Johnston2020-09-143-6/+12
* Clean up `Notifier.on_new_room_event` code path (#8288)Erik Johnston2020-09-101-6/+3
* Remove some unused distributor signals (#8216)Patrick Cloke2020-09-091-6/+4
* Fixup pusher pool notifications (#8287)Erik Johnston2020-09-091-1/+2
* Revert "Fixup pusher pool notifications"Erik Johnston2020-09-091-2/+1
* Fixup pusher pool notificationsErik Johnston2020-09-091-1/+2
* Stop sub-classing object (#8249)Patrick Cloke2020-09-046-7/+7
* Revert "Add experimental support for sharding event persister. (#8170)" (#8242)Brendan Abolivier2020-09-043-12/+6
* Add experimental support for sharding event persister. (#8170)Erik Johnston2020-09-023-6/+12
* Move and rename `get_devices_with_keys_by_user` (#8204)Richard van der Hoff2020-09-011-0/+3
* Fix `wait_for_stream_position` for multiple waiters. (#8196)Erik Johnston2020-08-281-4/+2
* Make SlavedIdTracker.advance have same interface as MultiWriterIDGenerator (#...Erik Johnston2020-08-2610-13/+13
* Remove `ChainedIdGenerator`. (#8123)Erik Johnston2020-08-192-7/+5
* Be stricter about JSON that is accepted by Synapse (#8106)Patrick Cloke2020-08-191-7/+5
* Separate `get_current_token` into two. (#8113)Erik Johnston2020-08-192-1/+9
* Add a shadow-banned flag to users. (#8092)Patrick Cloke2020-08-141-0/+4
* Reduce unnecessary whitespace in JSON. (#7372)David Vo2020-08-071-2/+3
* Convert synapse.api to async/await (#8031)Patrick Cloke2020-08-061-1/+1
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-0519-54/+54
* Convert replication code to async/await. (#7987)Patrick Cloke2020-08-039-37/+27
* Merge tag 'v1.18.0rc2' into developRichard van der Hoff2020-07-284-87/+112
|\
| * Typing worker needs to handle stream update requests (#7967)Erik Johnston2020-07-281-1/+1
| * Handle replication commands synchronously where possible (#7876)Richard van der Hoff2020-07-273-86/+111
* | Convert a synapse.events to async/await. (#7949)Patrick Cloke2020-07-272-2/+4
|/
* Fix typing replication not being handled on master (#7959)Erik Johnston2020-07-271-0/+8
* Remove an unused prometheus metric (#7878)Richard van der Hoff2020-07-221-3/+1
* Track command processing as a background process (#7879)Richard van der Hoff2020-07-222-3/+38
* Fix deprecation warning: import ABC from collections.abc (#7892)Karthikeyan Singaravelan2020-07-201-1/+1
* Stop using 'device_max_stream_id' (#7882)Erik Johnston2020-07-171-1/+1
* Optimise queueing of inbound replication commands (#7861)Richard van der Hoff2020-07-161-116/+215
* Allow moving typing off master (#7869)Erik Johnston2020-07-162-3/+13
* Add ability to shard the federation sender (#7798)Erik Johnston2020-07-102-6/+8
* Fix some spelling mistakes / typos. (#7811)Patrick Cloke2020-07-096-7/+7
* Generate real events when we reject invites (#7804)Richard van der Hoff2020-07-091-67/+25
* Do not use simplejson in Synapse. (#7800)Patrick Cloke2020-07-081-9/+2
* Refactor getting replication updates from database v2. (#7740)Erik Johnston2020-07-071-46/+10
* isort 5 compatibility (#7786)Will Hunt2020-07-053-5/+3
* Merge different Resource implementation classes (#7732)Erik Johnston2020-07-032-10/+4
* Use symbolic names for replication stream names (#7768)Richard van der Hoff2020-07-018-17/+17
* Refactor getting replication updates from database. (#7636)Erik Johnston2020-06-161-21/+8
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-161-4/+2
* Discard RDATA from already seen positions. (#7648)Patrick Cloke2020-06-152-6/+28
* Fix bug in account data replication stream. (#7656)Erik Johnston2020-06-092-3/+15
* Typo fixes.Patrick Cloke2020-06-051-1/+1
* Ensure ReplicationStreamer is always started when replication enabled. (#7579)Erik Johnston2020-05-271-0/+3
* Add option to move event persistence off master (#7517)Erik Johnston2020-05-225-2/+171
* Add ability to wait for replication streams (#7542)Erik Johnston2020-05-225-18/+108
* Allow ReplicationRestResource to be added to workers (#7515)Erik Johnston2020-05-181-5/+8
* Merge pull request #7519 from matrix-org/rav/kill_py2_codeRichard van der Hoff2020-05-182-13/+4
|\
| * remove redundant `__func__`Richard van der Hoff2020-05-152-13/+4
* | Fix limit logic for AccountDataStream (#7384)Richard van der Hoff2020-05-151-12/+56
* | Move event stream handling out of slave store. (#7491)Erik Johnston2020-05-152-97/+0
|/
* Move EventStream handling into default ReplicationDataHandler (#7493)Erik Johnston2020-05-141-4/+33
* Add `instance_map` config and route replication calls (#7495)Erik Johnston2020-05-141-6/+15
* Have all instances correctly respond to REPLICATE command. (#7475)Erik Johnston2020-05-133-48/+50
* Fix Redis reconnection logic (#7482)Erik Johnston2020-05-132-2/+14
* Allow configuration of Synapse's cache without using synctl or environment va...Amber Brown2020-05-111-2/+1
* Merge branch 'release-v1.13.0' into developAndrew Morgan2020-05-112-4/+2
|\
| * Fix errors from malformed log line (#7454)Richard van der Hoff2020-05-071-1/+1
| * Drop support for redis.dbid (#7450)Richard van der Hoff2020-05-071-3/+1
* | Support any process writing to cache invalidation stream. (#7436)Erik Johnston2020-05-0718-183/+131
* | Merge branch 'release-v1.13.0' into developRichard van der Hoff2020-05-062-34/+69
|\|
| * Merge branch 'release-v1.13.0' into rav/fix_dropped_messagesRichard van der Hoff2020-05-051-1/+1
| |\
| * \ Merge branch 'release-v1.13.0' into rav/fix_dropped_messagesRichard van der Hoff2020-05-0519-132/+96
| |\ \
| * | | Wait for a POSITION on the right connection before accepting RDATARichard van der Hoff2020-05-052-19/+38
| * | | Wait to subscribe before sending REPLICATERichard van der Hoff2020-05-052-20/+35
* | | | Merge branch 'release-v1.13.0' into developRichard van der Hoff2020-05-061-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | Move logs about discarded RDATA to debug (#7421)Brendan Abolivier2020-05-051-1/+1
| | |/ | |/|
* / | Fix catchup-on-reconnect for the Federation Stream (#7374)Richard van der Hoff2020-05-053-11/+24
|/ /
* | Fix redis password support. (#7401)Erik Johnston2020-05-041-0/+3
* | Thread through instance name to replication client. (#7369)Erik Johnston2020-05-017-29/+90
* | Use `stream.current_token()` and remove `stream_positions()` (#7172)Erik Johnston2020-05-0113-104/+3
|/
* Workaround for assertion errors from db_query_to_update_function (#7378)Richard van der Hoff2020-05-011-2/+1
* Add instance name to RDATA/POSITION commands (#7364)Erik Johnston2020-04-292-14/+40
* Don't relay REMOTE_SERVER_UP cmds to same conn. (#7352)Erik Johnston2020-04-293-16/+51
* Fix limit logic for EventsStream (#7358)Richard van der Hoff2020-04-292-15/+11
* Run replication streamers on workers (#7146)Erik Johnston2020-04-281-18/+15
* Fix EventsStream raising assertions when it falls behindRichard van der Hoff2020-04-241-18/+95
* Make it clear that the limit for an update_function is a targetRichard van der Hoff2020-04-231-5/+9
* Remove 'limit' param from `get_repl_stream_updates` APIRichard van der Hoff2020-04-232-9/+8
* Stop the master relaying USER_SYNC for other workers (#7318)Richard van der Hoff2020-04-222-12/+10
* Fix replication metrics when using redis (#7325)Erik Johnston2020-04-222-37/+29
* Another go at fixing one-word commands (#7326)Richard van der Hoff2020-04-221-1/+1
* Add ability to run replication protocol over redis. (#7040)Erik Johnston2020-04-225-34/+255
* On catchup, process each row with its own stream id (#7286)Richard van der Hoff2020-04-201-5/+68
* Improve type checking in `replication.tcp.Stream` (#7291)Richard van der Hoff2020-04-174-122/+142
* Fix 'generator object is not subscriptable' error (#7290)Richard van der Hoff2020-04-161-1/+2
* Handle one-word replication commands correctlyRichard van der Hoff2020-04-071-3/+11
* Fix warnings about not calling superclass constructorRichard van der Hoff2020-04-071-15/+24
* Remove vestigal references to SYNC replication commandRichard van der Hoff2020-04-072-14/+0
* Fix race in replication (#7226)Erik Johnston2020-04-072-29/+47
* Move server command handling out of TCP protocol (#7187)Erik Johnston2020-04-073-269/+236
* Move client command handling out of TCP protocol (#7185)Erik Johnston2020-04-064-322/+336
* Remove connections per replication stream metric. (#7195)Erik Johnston2020-04-011-16/+0
* Remove usage of "conn_id" for presence. (#7128)Erik Johnston2020-03-304-18/+50
* Move catchup of replication streams to worker. (#7024)Erik Johnston2020-03-2512-232/+319
* Convert `*StreamRow` classes to inner classes (#7116)Richard van der Hoff2020-03-232-96/+101
* Fix processing of `groups` stream, and use symbolic names for streams (#7117)Richard van der Hoff2020-03-231-18/+52
* Remove concept of a non-limited stream. (#7011)Erik Johnston2020-03-202-47/+28
* Change device list streams to have one row per ID (#7010)Erik Johnston2020-03-192-17/+32
|\
| * Comments from reviewErik Johnston2020-03-181-0/+3
| * Change device list replication to match new semantics.Erik Johnston2020-02-282-16/+22
| * Add 'device_lists_outbound_pokes' as extra table.Erik Johnston2020-02-281-1/+7
* | Store room_versions in EventBase objects (#6875)Richard van der Hoff2020-03-052-8/+19
|/
* Store room version on invite (#6983)Richard van der Hoff2020-02-262-2/+36
* Port PresenceHandler to async/await (#6991)Erik Johnston2020-02-261-1/+5
* Merge worker apps into one. (#6964)Erik Johnston2020-02-251-0/+20
* Increase MAX_EVENTS_BEHIND for replication clientsErik Johnston2020-02-211-1/+1
* Allow moving group read APIs to workers (#6866)Erik Johnston2020-02-071-8/+6
* Fix sending server up commands from workers (#6811)Erik Johnston2020-01-301-0/+4
* Detect unknown remote devices and mark cache as stale (#6776)Erik Johnston2020-01-281-1/+1
* Propagate cache invalidates from workers to other workers. (#6748)Erik Johnston2020-01-272-4/+7
* Allow streaming cache invalidate all to workers. (#6749)Erik Johnston2020-01-222-6/+27
* Wake up transaction queue when remote server comes back online (#6706)Erik Johnston2020-01-174-0/+44
* Port synapse.replication.tcp to async/await (#6666)Erik Johnston2020-01-165-85/+63
* Add `local_current_membership` table (#6655)Erik Johnston2020-01-151-1/+1
* Fixup synapse.replication to pass mypy checks (#6667)Erik Johnston2020-01-1410-86/+103
* Reduce the reconnect time when replication fails. (#6617)Richard van der Hoff2020-01-031-1/+2
* Change EventContext to use the Storage class (#6564)Erik Johnston2019-12-202-2/+6
* Change DataStores to accept 'database' param.Erik Johnston2019-12-0613-26/+39
* _CURRENT_STATE_CACHE_NAME is publicErik Johnston2019-12-041-2/+2
* Move cache invalidation to main data storeErik Johnston2019-12-041-1/+2
* Propagate reason in remotely rejected invitesErik Johnston2019-11-281-2/+5
* Prevent account_data content from being sent over TCP replication (#6333)Andrew Morgan2019-11-261-4/+3
|\
| * lintAndrew Morgan2019-11-081-2/+1
| * Remove content from being sent for account data rdata streamAndrew Morgan2019-11-081-3/+3
* | Merge pull request #6332 from matrix-org/erikj/query_devices_fixErik Johnston2019-11-262-1/+82
|\ \ | |/ |/|
| * Fixup docsErik Johnston2019-11-261-1/+5
| * Fix caching devices for remote servers in worker.Erik Johnston2019-11-052-1/+78
* | Address review commentsAndrew Morgan2019-11-061-1/+1