diff --git a/lib/actions/device-actions.js b/lib/actions/device-actions.js --- a/lib/actions/device-actions.js +++ b/lib/actions/device-actions.js @@ -27,9 +27,15 @@ failed: 'GET_VERSION_FAILED', }); const getVersion = - (callServerEndpoint: CallServerEndpoint): (() => Promise) => - async () => { - const response = await callServerEndpoint('version'); + ( + callServerEndpoint: CallServerEndpoint, + ): ((keyserverURL?: string) => Promise) => + async (keyserverURL?: string) => { + const override = keyserverURL + ? { urlPrefixOverride: keyserverURL } + : undefined; + + const response = await callServerEndpoint('version', undefined, override); return { codeVersion: response.codeVersion, }; diff --git a/lib/shared/keyserver-utils.js b/lib/shared/keyserver-utils.js --- a/lib/shared/keyserver-utils.js +++ b/lib/shared/keyserver-utils.js @@ -12,15 +12,7 @@ } from '../utils/action-utils.js'; function useIsKeyserverURLValid(keyserverURL?: string): () => Promise { - const serverCallParamOverride = React.useMemo( - () => ({ - urlPrefix: keyserverURL, - connectionStatus: 'connecting', - }), - [keyserverURL], - ); - - const getVersionCall = useServerCall(getVersion, serverCallParamOverride); + const getVersionCall = useServerCall(getVersion); const dispatchActionPromise = useDispatchActionPromise(); return React.useCallback(async () => { @@ -28,7 +20,7 @@ return false; } - const getVersionPromise = getVersionCall(); + const getVersionPromise = getVersionCall(keyserverURL); dispatchActionPromise(getVersionActionTypes, getVersionPromise); // We don't care about the result; just need to make sure this doesn't throw diff --git a/lib/utils/call-server-endpoint.js b/lib/utils/call-server-endpoint.js --- a/lib/utils/call-server-endpoint.js +++ b/lib/utils/call-server-endpoint.js @@ -105,7 +105,8 @@ if ( endpointIsSocketPreferred(endpoint) && connectionStatus === 'connected' && - socketAPIHandler + socketAPIHandler && + !options?.urlPrefixOverride ) { try { const result = await socketAPIHandler({ endpoint, input });