diff --git a/src/lib/hooks/useIntentHandler.ts b/src/lib/hooks/useIntentHandler.ts index 0c83970089..37c55fdc1d 100644 --- a/src/lib/hooks/useIntentHandler.ts +++ b/src/lib/hooks/useIntentHandler.ts @@ -1,6 +1,7 @@ import React from 'react' import {Alert} from 'react-native' import * as Linking from 'expo-linking' +import * as WebBrowser from 'expo-web-browser' import {useOpenComposer} from '#/lib/hooks/useOpenComposer' import {logger} from '#/logger' @@ -32,7 +33,12 @@ export function useIntentHandler() { const {tryApplyUpdate} = useApplyPullRequestOTAUpdate() React.useEffect(() => { - const handleIncomingURL = (url: string) => { + const handleIncomingURL = async (url: string) => { + if (isNative) { + // Close in-app browser if it's open + await WebBrowser.dismissBrowser().catch(() => {}) + } + const referrerInfo = Referrer.getReferrerInfo() if (referrerInfo && referrerInfo.hostname !== 'bsky.app') { logger.metric('deepLink:referrerReceived', {