@decartai/sdk 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.js
CHANGED
|
@@ -83,11 +83,21 @@ function createBrowserFrameMetadataDiagnostics() {
|
|
|
83
83
|
dispose: () => reader.dispose()
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
+
const WORKER_URL = () => new URL("./frame-metadata-worker.js", import.meta.url);
|
|
86
87
|
function createFrameMetadataWorker() {
|
|
87
|
-
return new Worker(
|
|
88
|
+
return new Worker(WORKER_URL());
|
|
89
|
+
}
|
|
90
|
+
function isFrameMetadataWorkerSameOrigin(workerUrl, pageOrigin) {
|
|
91
|
+
if (workerUrl.protocol !== "http:" && workerUrl.protocol !== "https:") return true;
|
|
92
|
+
return workerUrl.origin === pageOrigin;
|
|
88
93
|
}
|
|
89
94
|
function isFrameMetadataRuntimeSupported() {
|
|
90
95
|
if (typeof window === "undefined") return false;
|
|
96
|
+
try {
|
|
97
|
+
if (!isFrameMetadataWorkerSameOrigin(WORKER_URL(), window.location?.origin)) return false;
|
|
98
|
+
} catch {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
91
101
|
const maybeWindow = window;
|
|
92
102
|
const userAgent = window.navigator?.userAgent?.toLowerCase() ?? "";
|
|
93
103
|
const isChromiumBased = /(?:chrome|chromium|crmo)\//.test(userAgent) && !/crios\//.test(userAgent);
|
|
@@ -96,4 +106,4 @@ function isFrameMetadataRuntimeSupported() {
|
|
|
96
106
|
return scriptTransformSupported || insertableStreamsSupported;
|
|
97
107
|
}
|
|
98
108
|
//#endregion
|
|
99
|
-
export { FrameMetadataTracker, createBrowserFrameMetadataDiagnostics, createFrameMetadataWorker, isFrameMetadataRuntimeSupported };
|
|
109
|
+
export { FrameMetadataTracker, createBrowserFrameMetadataDiagnostics, createFrameMetadataWorker, isFrameMetadataRuntimeSupported, isFrameMetadataWorkerSameOrigin };
|
|
@@ -93,7 +93,7 @@ const createRealTimeSubscribeClient = (opts) => {
|
|
|
93
93
|
});
|
|
94
94
|
if (frameTiming) {
|
|
95
95
|
if (!opts.createFrameMetadataWorker) throw createFrameMetadataSubscribeUnsupportedError("this platform has no frame-metadata worker");
|
|
96
|
-
if (!(opts.isFrameMetadataRuntimeSupported?.() ?? false)) throw createFrameMetadataSubscribeUnsupportedError("encoded transforms are unavailable");
|
|
96
|
+
if (!(opts.isFrameMetadataRuntimeSupported?.() ?? false)) throw createFrameMetadataSubscribeUnsupportedError("encoded transforms are unavailable or the SDK is served cross-origin");
|
|
97
97
|
try {
|
|
98
98
|
frameMetadataWorker = opts.createFrameMetadataWorker();
|
|
99
99
|
} catch (error) {
|