35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
// Metro module 1095 (f1096).
|
|
import { WINDOW } from "./ignoreNextOnError";
|
|
import { getActiveSpan, getRootSpan, spanToJSON, debug, SPAN_STATUS_ERROR } from "./Module817";
|
|
import { DEBUG_BUILD } from "./Module1072";
|
|
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
value: "Module"
|
|
});
|
|
export function registerBackgroundTabDetection() {
|
|
if (WINDOW.document) {
|
|
WINDOW.document.addEventListener("visibilitychange", () => {
|
|
const activeSpan = getActiveSpan();
|
|
if (activeSpan) {
|
|
const rootSpan = getRootSpan(activeSpan);
|
|
if (WINDOW.document.hidden && rootSpan) {
|
|
const r26 = spanToJSON(rootSpan);
|
|
const { op, status } = r26;
|
|
if (DEBUG_BUILD) {
|
|
debug.log(`[Tracing] Transaction: cancelled -> since tab moved to the background, op: ${op}`);
|
|
}
|
|
if (!status) {
|
|
rootSpan.setStatus({
|
|
code: SPAN_STATUS_ERROR,
|
|
message: "cancelled"
|
|
});
|
|
}
|
|
rootSpan.setAttribute("sentry.cancellation_reason", "document.hidden");
|
|
rootSpan.end();
|
|
}
|
|
}
|
|
});
|
|
} else if (DEBUG_BUILD) {
|
|
debug.warn("[Tracing] Could not set up background tab detection due to lack of global document");
|
|
}
|
|
}
|