diff --git a/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts b/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts index 76f03e7c87..99fa884c63 100644 --- a/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts +++ b/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts @@ -8,27 +8,29 @@ export function getGooglePlayReferrerInfoAsync(): Promise { - if ( - Platform.OS === 'web' && - // for ssr - typeof document !== 'undefined' && - document != null && - document.referrer - ) { - try { - const url = new URL(document.referrer) - if (url.hostname !== 'bsky.app') { - return { - referrer: url.href, - hostname: url.hostname, + // Returning a promise to match the functionality on native + return new Promise(resolve => { + if ( + Platform.OS === 'web' && + // for ssr + typeof document !== 'undefined' && + document != null && + document.referrer + ) { + try { + const url = new URL(document.referrer) + if (url.hostname !== 'bsky.app') { + resolve({ + referrer: url.href, + hostname: url.hostname, + }) } + } catch { + // If something happens to the URL parsing, we don't want to actually cause any problems for the user. Just + // log the error so we might catch it + console.error('Failed to parse referrer URL') } - } catch { - // If something happens to the URL parsing, we don't want to actually cause any problems for the user. Just - // log the error so we might catch it - console.error('Failed to parse referrer URL') } - } - - return null + resolve(null) + }) }