issue: https://linear.app/comm/issue/ENG-4460/refactor-connection-field
The second step is to start using `connection` from keyserverStore.
Some explanations:
master-reducer: once actions have a defined way of extracting keyserver id from their arguments we will use the correct id instead of `ashoatKeyserverID`
about invariants:
- for files in lib/socket and web/socket and native/socket: every one of these components is a part of a socket. every
socket will have to have a keyserver assigned, so its reassonable to expect those components to be calling on an
existing keyserver
- disconnected bar: it will be reviewed during
https://linear.app/comm/issue/ENG-4126/update-connection-status-bar-to-handle-multiple-keyservers, because the
disconnected bar we have right now doesn't make much sense with multiple keyservers
- action-utils: useServerCall will be refactored in https://linear.app/comm/issue/ENG-4680/refactor-useservercall - we
will be fetching the data differently, so this invariant will be removed
- calendar: this logic will have to be updated during
https://linear.app/comm/issue/ENG-4125/update-socket-and-connection-logic-to-handle-multiple-keyservers
- native/calnedar/entry and web/calendar/entry: during selector refactor
https://linear.app/comm/issue/ENG-4685/refactor-selectors we will extract the keyserver id from `threadID` and it's
reasonable to assume that if we could pick a thread, we should have an entry for the corresponding keyserver in
`keyserverStore`
- encrypted-image and remote-image: I talked to other teammates and they seem to agree that we will start using blob
service before we can start using multiple keyservers
- push-handler: notifs will be sent through tunnelbroker
https://linear.app/comm/issue/ENG-2104/send-encrypted-notifications-through-tunnelbroker.
if we launch multiple keyservers before tunnelbroker the notifs will have to be rethought as a whole