diff --git a/lib/selectors/keyserver-selectors.js b/lib/selectors/keyserver-selectors.js --- a/lib/selectors/keyserver-selectors.js +++ b/lib/selectors/keyserver-selectors.js @@ -2,6 +2,7 @@ import { createSelector } from 'reselect'; +import type { PlatformDetails } from '../types/device-types'; import type { KeyserverInfo } from '../types/keyserver-types'; import type { AppState } from '../types/redux-types.js'; import type { ConnectionInfo } from '../types/socket-types.js'; @@ -42,6 +43,12 @@ state: AppState, ) => state.keyserverStore.keyserverInfos[ashoatKeyserverID]?.connection; +const lastCommunicatedPlatformDetailsSelector: ( + state: AppState, +) => ?PlatformDetails = (state: AppState) => + state.keyserverStore.keyserverInfos[ashoatKeyserverID] + ?.lastCommunicatedPlatformDetails; + export { cookieSelector, cookiesSelector, @@ -50,4 +57,5 @@ currentAsOfSelector, urlPrefixSelector, connectionSelector, + lastCommunicatedPlatformDetailsSelector, }; diff --git a/lib/selectors/server-calls.js b/lib/selectors/server-calls.js --- a/lib/selectors/server-calls.js +++ b/lib/selectors/server-calls.js @@ -7,6 +7,7 @@ sessionIDSelector, urlPrefixSelector, connectionSelector, + lastCommunicatedPlatformDetailsSelector, } from './keyserver-selectors.js'; import type { PlatformDetails } from '../types/device-types.js'; import type { AppState } from '../types/redux-types.js'; @@ -32,7 +33,7 @@ sessionIDSelector, (state: AppState) => state.currentUserInfo, connectionSelector, - (state: AppState) => state.lastCommunicatedPlatformDetails, + lastCommunicatedPlatformDetailsSelector, ( cookie: ?string, urlPrefix: ?string, diff --git a/native/socket.react.js b/native/socket.react.js --- a/native/socket.react.js +++ b/native/socket.react.js @@ -10,6 +10,7 @@ cookieSelector, urlPrefixSelector, connectionSelector, + lastCommunicatedPlatformDetailsSelector, } from 'lib/selectors/keyserver-selectors.js'; import { isLoggedIn } from 'lib/selectors/user-selectors.js'; import { accountHasPassword } from 'lib/shared/account-utils.js'; @@ -100,7 +101,7 @@ }, [active, navContext]); const lastCommunicatedPlatformDetails = useSelector( - state => state.lastCommunicatedPlatformDetails, + lastCommunicatedPlatformDetailsSelector, ); const dispatch = useDispatch(); diff --git a/web/socket.react.js b/web/socket.react.js --- a/web/socket.react.js +++ b/web/socket.react.js @@ -10,6 +10,7 @@ cookieSelector, urlPrefixSelector, connectionSelector, + lastCommunicatedPlatformDetailsSelector, } from 'lib/selectors/keyserver-selectors.js'; import Socket, { type BaseSocketProps } from 'lib/socket/socket.react.js'; import { @@ -65,7 +66,7 @@ const callLogOut = useServerCall(logOut); const lastCommunicatedPlatformDetails = useSelector( - state => state.lastCommunicatedPlatformDetails, + lastCommunicatedPlatformDetailsSelector, ); return (