Return the parent origin.

pull/3192/head
Mitja Bezenšek 2024-04-24 09:12:19 +02:00
rodzic 0a6e6b5f43
commit b4d26ddc5b
3 zmienionych plików z 8 dodań i 12 usunięć

Wyświetl plik

@ -2,7 +2,7 @@ import { ReactNode, useEffect, useState } from 'react'
import { LoadingScreen } from 'tldraw'
import { version } from '../../version'
import { useUrl } from '../hooks/useUrl'
import { getTopLevelOrigin, isInIframe } from '../utils/iFrame'
import { getParentOrigin, isInIframe } from '../utils/iFrame'
import { trackAnalyticsEvent } from '../utils/trackAnalyticsEvent'
/*
@ -105,7 +105,7 @@ export function IFrameProtector({
trackAnalyticsEvent('connect_to_room_in_iframe', {
slug,
context,
origin: getTopLevelOrigin(),
origin: getParentOrigin(),
})
}, 1000)
} else {

Wyświetl plik

@ -2,19 +2,15 @@ export const isInIframe = () => {
return typeof window !== 'undefined' && (window !== window.top || window.self !== window.parent)
}
export function getTopLevelOrigin() {
let origin: string
export function getParentOrigin() {
if (isInIframe()) {
const ancestorOrigins = window.location.ancestorOrigins
// ancestorOrigins is not supported in Firefox
if (ancestorOrigins && ancestorOrigins.length > 0) {
origin = ancestorOrigins[ancestorOrigins.length - 1]
return ancestorOrigins[0]
} else {
origin = document.referrer
return document.referrer
}
} else {
origin = document.location.origin
}
return origin
return document.location.origin
}

Wyświetl plik

@ -24,7 +24,7 @@ import { useMultiplayerAssets } from '../hooks/useMultiplayerAssets'
import { getViewportUrlQuery } from '../hooks/useUrlState'
import { cloneAssetForShare } from './cloneAssetForShare'
import { ASSET_UPLOADER_URL } from './config'
import { getTopLevelOrigin, isInIframe } from './iFrame'
import { getParentOrigin, isInIframe } from './iFrame'
import { shouldLeaveSharedProject } from './shouldLeaveSharedProject'
import { trackAnalyticsEvent } from './trackAnalyticsEvent'
import { UI_OVERRIDE_TODO_EVENT, useHandleUiEvents } from './useHandleUiEvent'
@ -113,7 +113,7 @@ export function useSharing(): TLUiOverrides {
'Content-Type': 'application/json',
},
body: JSON.stringify({
origin: getTopLevelOrigin(),
origin: getParentOrigin(),
snapshot: {
schema: editor.store.schema.serialize(),
snapshot: data,