diff --git a/lib/actions/link-actions.js b/lib/actions/link-actions.js --- a/lib/actions/link-actions.js +++ b/lib/actions/link-actions.js @@ -10,9 +10,9 @@ DisableInviteLinkPayload, } from '../types/link-types.js'; import { extractKeyserverIDFromID } from '../utils/action-utils.js'; -import type { CallServerEndpoint } from '../utils/call-server-endpoint.js'; import { useKeyserverCall } from '../utils/keyserver-call.js'; import type { CallKeyserverEndpoint } from '../utils/keyserver-call.js'; +import { ashoatKeyserverID } from '../utils/validation-utils.js'; const verifyInviteLinkActionTypes = Object.freeze({ started: 'VERIFY_INVITE_LINK_STARTED', @@ -21,12 +21,21 @@ }); const verifyInviteLink = ( - callServerEndpoint: CallServerEndpoint, + callKeyserverEndpoint: CallKeyserverEndpoint, ): (( request: InviteLinkVerificationRequest, + keyserverID: ?string, ) => Promise) => - async request => { - const response = await callServerEndpoint('verify_invite_link', request); + async (request, keyserverID) => { + const linkKeyserverID: string = keyserverID ?? ashoatKeyserverID; + const requests = { + [linkKeyserverID]: request, + }; + const responses = await callKeyserverEndpoint( + 'verify_invite_link', + requests, + ); + const response = responses[linkKeyserverID]; if (response.status === 'valid' || response.status === 'already_joined') { return { status: response.status, diff --git a/native/navigation/deep-links-context-provider.react.js b/native/navigation/deep-links-context-provider.react.js --- a/native/navigation/deep-links-context-provider.react.js +++ b/native/navigation/deep-links-context-provider.react.js @@ -16,10 +16,8 @@ } from 'lib/facts/links.js'; import { isLoggedIn } from 'lib/selectors/user-selectors.js'; import type { SetState } from 'lib/types/hook-types.js'; -import { - useDispatchActionPromise, - useServerCall, -} from 'lib/utils/action-utils.js'; +import { useDispatchActionPromise } from 'lib/utils/action-utils.js'; +import { useKeyserverCall } from 'lib/utils/keyserver-call.js'; import { InviteLinkModalRouteName, @@ -84,7 +82,7 @@ const loggedIn = useSelector(isLoggedIn); const dispatchActionPromise = useDispatchActionPromise(); - const validateLink = useServerCall(verifyInviteLink); + const validateLink = useKeyserverCall(verifyInviteLink); const navigation = useNavigation(); React.useEffect(() => { void (async () => { diff --git a/web/invite-links/invite-link-handler.react.js b/web/invite-links/invite-link-handler.react.js --- a/web/invite-links/invite-link-handler.react.js +++ b/web/invite-links/invite-link-handler.react.js @@ -8,10 +8,8 @@ } from 'lib/actions/link-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; import { isLoggedIn } from 'lib/selectors/user-selectors.js'; -import { - useDispatchActionPromise, - useServerCall, -} from 'lib/utils/action-utils.js'; +import { useDispatchActionPromise } from 'lib/utils/action-utils.js'; +import { useKeyserverCall } from 'lib/utils/keyserver-call.js'; import { useDispatch } from 'lib/utils/redux-utils.js'; import AcceptInviteModal from './accept-invite-modal.react.js'; @@ -24,7 +22,7 @@ const dispatchActionPromise = useDispatchActionPromise(); const dispatch = useDispatch(); - const validateLink = useServerCall(verifyInviteLink); + const validateLink = useKeyserverCall(verifyInviteLink); const { pushModal } = useModalContext(); React.useEffect(() => { if (!inviteSecret || !loggedIn) {