@powerhousedao/connect 6.0.0-dev.95 → 6.0.0-dev.96
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/src/context/index.js +244 -2253
- package/dist/src/hooks/index.js +244 -2253
- package/dist/src/main.js +541 -2550
- package/dist/src/pages/index.js +541 -2550
- package/dist/src/pglite.worker.js +70 -0
- package/dist/src/services/index.js +10 -2019
- package/dist/src/store/index.js +330 -2339
- package/dist/src/utils/index.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -215,12 +215,6 @@ function createStackParser(...parsers) {
|
|
|
215
215
|
return stripSentryFramesAndReverse(frames.slice(framesToPop));
|
|
216
216
|
};
|
|
217
217
|
}
|
|
218
|
-
function stackParserFromStackParserOptions(stackParser) {
|
|
219
|
-
if (Array.isArray(stackParser)) {
|
|
220
|
-
return createStackParser(...stackParser);
|
|
221
|
-
}
|
|
222
|
-
return stackParser;
|
|
223
|
-
}
|
|
224
218
|
function stripSentryFramesAndReverse(stack) {
|
|
225
219
|
if (!stack.length) {
|
|
226
220
|
return [];
|
|
@@ -4421,35 +4415,6 @@ var init_api = __esm(() => {
|
|
|
4421
4415
|
});
|
|
4422
4416
|
|
|
4423
4417
|
// ../../node_modules/.pnpm/@sentry+core@10.40.0/node_modules/@sentry/core/build/esm/integration.js
|
|
4424
|
-
function filterDuplicates(integrations) {
|
|
4425
|
-
const integrationsByName = {};
|
|
4426
|
-
integrations.forEach((currentInstance) => {
|
|
4427
|
-
const { name } = currentInstance;
|
|
4428
|
-
const existingInstance = integrationsByName[name];
|
|
4429
|
-
if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {
|
|
4430
|
-
return;
|
|
4431
|
-
}
|
|
4432
|
-
integrationsByName[name] = currentInstance;
|
|
4433
|
-
});
|
|
4434
|
-
return Object.values(integrationsByName);
|
|
4435
|
-
}
|
|
4436
|
-
function getIntegrationsToSetup(options) {
|
|
4437
|
-
const defaultIntegrations = options.defaultIntegrations || [];
|
|
4438
|
-
const userIntegrations = options.integrations;
|
|
4439
|
-
defaultIntegrations.forEach((integration) => {
|
|
4440
|
-
integration.isDefaultInstance = true;
|
|
4441
|
-
});
|
|
4442
|
-
let integrations;
|
|
4443
|
-
if (Array.isArray(userIntegrations)) {
|
|
4444
|
-
integrations = [...defaultIntegrations, ...userIntegrations];
|
|
4445
|
-
} else if (typeof userIntegrations === "function") {
|
|
4446
|
-
const resolvedUserIntegrations = userIntegrations(defaultIntegrations);
|
|
4447
|
-
integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];
|
|
4448
|
-
} else {
|
|
4449
|
-
integrations = defaultIntegrations;
|
|
4450
|
-
}
|
|
4451
|
-
return filterDuplicates(integrations);
|
|
4452
|
-
}
|
|
4453
4418
|
function setupIntegrations(client, integrations) {
|
|
4454
4419
|
const integrationIndex = {};
|
|
4455
4420
|
integrations.forEach((integration) => {
|
|
@@ -5752,30 +5717,11 @@ var init_client = __esm(() => {
|
|
|
5752
5717
|
});
|
|
5753
5718
|
|
|
5754
5719
|
// ../../node_modules/.pnpm/@sentry+core@10.40.0/node_modules/@sentry/core/build/esm/sdk.js
|
|
5755
|
-
function initAndBind(clientClass, options) {
|
|
5756
|
-
if (options.debug === true) {
|
|
5757
|
-
if (DEBUG_BUILD) {
|
|
5758
|
-
debug.enable();
|
|
5759
|
-
} else {
|
|
5760
|
-
consoleSandbox(() => {
|
|
5761
|
-
console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.");
|
|
5762
|
-
});
|
|
5763
|
-
}
|
|
5764
|
-
}
|
|
5765
|
-
const scope = getCurrentScope();
|
|
5766
|
-
scope.update(options.initialScope);
|
|
5767
|
-
const client = new clientClass(options);
|
|
5768
|
-
setCurrentClient(client);
|
|
5769
|
-
client.init();
|
|
5770
|
-
return client;
|
|
5771
|
-
}
|
|
5772
5720
|
function setCurrentClient(client) {
|
|
5773
5721
|
getCurrentScope().setClient(client);
|
|
5774
5722
|
}
|
|
5775
5723
|
var init_sdk = __esm(() => {
|
|
5776
5724
|
init_currentScopes();
|
|
5777
|
-
init_debug_build();
|
|
5778
|
-
init_debug_logger();
|
|
5779
5725
|
});
|
|
5780
5726
|
|
|
5781
5727
|
// ../../node_modules/.pnpm/@sentry+core@10.40.0/node_modules/@sentry/core/build/esm/transports/offline.js
|
|
@@ -16578,41 +16524,6 @@ var init_spotlight = __esm(() => {
|
|
|
16578
16524
|
spotlightBrowserIntegration = defineIntegration(_spotlightIntegration);
|
|
16579
16525
|
});
|
|
16580
16526
|
|
|
16581
|
-
// ../../node_modules/.pnpm/@sentry+browser@10.40.0/node_modules/@sentry/browser/build/npm/esm/dev/utils/detectBrowserExtension.js
|
|
16582
|
-
function checkAndWarnIfIsEmbeddedBrowserExtension() {
|
|
16583
|
-
if (_isEmbeddedBrowserExtension()) {
|
|
16584
|
-
if (DEBUG_BUILD4) {
|
|
16585
|
-
consoleSandbox(() => {
|
|
16586
|
-
console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/");
|
|
16587
|
-
});
|
|
16588
|
-
}
|
|
16589
|
-
return true;
|
|
16590
|
-
}
|
|
16591
|
-
return false;
|
|
16592
|
-
}
|
|
16593
|
-
function _isEmbeddedBrowserExtension() {
|
|
16594
|
-
if (typeof WINDOW4.window === "undefined") {
|
|
16595
|
-
return false;
|
|
16596
|
-
}
|
|
16597
|
-
const _window = WINDOW4;
|
|
16598
|
-
if (_window.nw) {
|
|
16599
|
-
return false;
|
|
16600
|
-
}
|
|
16601
|
-
const extensionObject = _window["chrome"] || _window["browser"];
|
|
16602
|
-
if (!extensionObject?.runtime?.id) {
|
|
16603
|
-
return false;
|
|
16604
|
-
}
|
|
16605
|
-
const href = getLocationHref();
|
|
16606
|
-
const extensionProtocols = ["chrome-extension", "moz-extension", "ms-browser-extension", "safari-web-extension"];
|
|
16607
|
-
const isDedicatedExtensionPage = WINDOW4 === WINDOW4.top && extensionProtocols.some((protocol) => href.startsWith(`${protocol}://`));
|
|
16608
|
-
return !isDedicatedExtensionPage;
|
|
16609
|
-
}
|
|
16610
|
-
var init_detectBrowserExtension = __esm(() => {
|
|
16611
|
-
init_esm();
|
|
16612
|
-
init_debug_build3();
|
|
16613
|
-
init_helpers();
|
|
16614
|
-
});
|
|
16615
|
-
|
|
16616
16527
|
// ../../node_modules/.pnpm/@sentry+browser@10.40.0/node_modules/@sentry/browser/build/npm/esm/dev/sdk.js
|
|
16617
16528
|
function getDefaultIntegrations(_options) {
|
|
16618
16529
|
return [
|
|
@@ -16629,35 +16540,12 @@ function getDefaultIntegrations(_options) {
|
|
|
16629
16540
|
browserSessionIntegration()
|
|
16630
16541
|
];
|
|
16631
16542
|
}
|
|
16632
|
-
function init(options = {}) {
|
|
16633
|
-
const shouldDisableBecauseIsBrowserExtenstion = !options.skipBrowserExtensionCheck && checkAndWarnIfIsEmbeddedBrowserExtension();
|
|
16634
|
-
let defaultIntegrations = options.defaultIntegrations == null ? getDefaultIntegrations() : options.defaultIntegrations;
|
|
16635
|
-
if (options.spotlight) {
|
|
16636
|
-
if (!defaultIntegrations) {
|
|
16637
|
-
defaultIntegrations = [];
|
|
16638
|
-
}
|
|
16639
|
-
const args = typeof options.spotlight === "string" ? { sidecarUrl: options.spotlight } : undefined;
|
|
16640
|
-
defaultIntegrations.push(spotlightBrowserIntegration(args));
|
|
16641
|
-
}
|
|
16642
|
-
const clientOptions = {
|
|
16643
|
-
...options,
|
|
16644
|
-
enabled: shouldDisableBecauseIsBrowserExtenstion ? false : options.enabled,
|
|
16645
|
-
stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),
|
|
16646
|
-
integrations: getIntegrationsToSetup({
|
|
16647
|
-
integrations: options.integrations,
|
|
16648
|
-
defaultIntegrations
|
|
16649
|
-
}),
|
|
16650
|
-
transport: options.transport || makeFetchTransport
|
|
16651
|
-
};
|
|
16652
|
-
return initAndBind(BrowserClient, clientOptions);
|
|
16653
|
-
}
|
|
16654
16543
|
function forceLoad() {}
|
|
16655
16544
|
function onLoad(callback) {
|
|
16656
16545
|
callback();
|
|
16657
16546
|
}
|
|
16658
16547
|
var init_sdk2 = __esm(() => {
|
|
16659
16548
|
init_esm();
|
|
16660
|
-
init_client2();
|
|
16661
16549
|
init_breadcrumbs2();
|
|
16662
16550
|
init_browserapierrors();
|
|
16663
16551
|
init_browsersession();
|
|
@@ -16665,10 +16553,6 @@ var init_sdk2 = __esm(() => {
|
|
|
16665
16553
|
init_globalhandlers();
|
|
16666
16554
|
init_httpcontext();
|
|
16667
16555
|
init_linkederrors();
|
|
16668
|
-
init_spotlight();
|
|
16669
|
-
init_stack_parsers();
|
|
16670
|
-
init_fetch3();
|
|
16671
|
-
init_detectBrowserExtension();
|
|
16672
16556
|
});
|
|
16673
16557
|
|
|
16674
16558
|
// ../../node_modules/.pnpm/@sentry+browser@10.40.0/node_modules/@sentry/browser/build/npm/esm/dev/report-dialog.js
|
|
@@ -21031,12 +20915,12 @@ function record(options = {}) {
|
|
|
21031
20915
|
console.warn(error3);
|
|
21032
20916
|
}
|
|
21033
20917
|
});
|
|
21034
|
-
const
|
|
20918
|
+
const init = () => {
|
|
21035
20919
|
takeFullSnapshot2();
|
|
21036
20920
|
handlers3.push(observe2(document));
|
|
21037
20921
|
};
|
|
21038
20922
|
if (document.readyState === "interactive" || document.readyState === "complete") {
|
|
21039
|
-
|
|
20923
|
+
init();
|
|
21040
20924
|
} else {
|
|
21041
20925
|
handlers3.push(on("DOMContentLoaded", () => {
|
|
21042
20926
|
wrappedEmit({
|
|
@@ -21044,7 +20928,7 @@ function record(options = {}) {
|
|
|
21044
20928
|
data: {}
|
|
21045
20929
|
});
|
|
21046
20930
|
if (recordAfter === "DOMContentLoaded")
|
|
21047
|
-
|
|
20931
|
+
init();
|
|
21048
20932
|
}));
|
|
21049
20933
|
handlers3.push(on("load", () => {
|
|
21050
20934
|
wrappedEmit({
|
|
@@ -21052,7 +20936,7 @@ function record(options = {}) {
|
|
|
21052
20936
|
data: {}
|
|
21053
20937
|
});
|
|
21054
20938
|
if (recordAfter === "load")
|
|
21055
|
-
|
|
20939
|
+
init();
|
|
21056
20940
|
}, window));
|
|
21057
20941
|
}
|
|
21058
20942
|
return () => {
|
|
@@ -24008,10 +23892,10 @@ function _INTERNAL_instrumentRequestInterface() {
|
|
|
24008
23892
|
}
|
|
24009
23893
|
const OriginalRequest = Request;
|
|
24010
23894
|
try {
|
|
24011
|
-
const SentryRequest = function(input,
|
|
24012
|
-
const request = new OriginalRequest(input,
|
|
24013
|
-
if (
|
|
24014
|
-
request[ORIGINAL_BODY] =
|
|
23895
|
+
const SentryRequest = function(input, init) {
|
|
23896
|
+
const request = new OriginalRequest(input, init);
|
|
23897
|
+
if (init?.body != null) {
|
|
23898
|
+
request[ORIGINAL_BODY] = init.body;
|
|
24015
23899
|
}
|
|
24016
23900
|
return request;
|
|
24017
23901
|
};
|
|
@@ -27481,1889 +27365,6 @@ var init_dev = __esm(() => {
|
|
|
27481
27365
|
init_webWorker();
|
|
27482
27366
|
});
|
|
27483
27367
|
|
|
27484
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/sdk.js
|
|
27485
|
-
import { version } from "react";
|
|
27486
|
-
function init2(options) {
|
|
27487
|
-
const opts = {
|
|
27488
|
-
...options
|
|
27489
|
-
};
|
|
27490
|
-
applySdkMetadata(opts, "react");
|
|
27491
|
-
setContext("react", { version });
|
|
27492
|
-
return init(opts);
|
|
27493
|
-
}
|
|
27494
|
-
var init_sdk3 = __esm(() => {
|
|
27495
|
-
init_dev();
|
|
27496
|
-
init_esm();
|
|
27497
|
-
});
|
|
27498
|
-
|
|
27499
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/error.js
|
|
27500
|
-
import { version as version2 } from "react";
|
|
27501
|
-
function isAtLeastReact17(reactVersion) {
|
|
27502
|
-
const reactMajor = reactVersion.match(/^([^.]+)/);
|
|
27503
|
-
return reactMajor !== null && parseInt(reactMajor[0]) >= 17;
|
|
27504
|
-
}
|
|
27505
|
-
function setCause(error3, cause) {
|
|
27506
|
-
const seenErrors = new WeakSet;
|
|
27507
|
-
function recurse(error4, cause2) {
|
|
27508
|
-
if (seenErrors.has(error4)) {
|
|
27509
|
-
return;
|
|
27510
|
-
}
|
|
27511
|
-
if (error4.cause) {
|
|
27512
|
-
seenErrors.add(error4);
|
|
27513
|
-
return recurse(error4.cause, cause2);
|
|
27514
|
-
}
|
|
27515
|
-
error4.cause = cause2;
|
|
27516
|
-
}
|
|
27517
|
-
recurse(error3, cause);
|
|
27518
|
-
}
|
|
27519
|
-
function captureReactException(error3, { componentStack }, hint) {
|
|
27520
|
-
if (isAtLeastReact17(version2) && isError(error3) && componentStack) {
|
|
27521
|
-
const errorBoundaryError = new Error(error3.message);
|
|
27522
|
-
errorBoundaryError.name = `React ErrorBoundary ${error3.name}`;
|
|
27523
|
-
errorBoundaryError.stack = componentStack;
|
|
27524
|
-
setCause(error3, errorBoundaryError);
|
|
27525
|
-
}
|
|
27526
|
-
return withScope2((scope) => {
|
|
27527
|
-
scope.setContext("react", { componentStack });
|
|
27528
|
-
return captureException(error3, hint);
|
|
27529
|
-
});
|
|
27530
|
-
}
|
|
27531
|
-
function reactErrorHandler(callback) {
|
|
27532
|
-
return (error3, errorInfo) => {
|
|
27533
|
-
const hasCallback = !!callback;
|
|
27534
|
-
const eventId = captureReactException(error3, errorInfo, {
|
|
27535
|
-
mechanism: { handled: hasCallback, type: "auto.function.react.error_handler" }
|
|
27536
|
-
});
|
|
27537
|
-
if (hasCallback) {
|
|
27538
|
-
callback(error3, errorInfo, eventId);
|
|
27539
|
-
}
|
|
27540
|
-
};
|
|
27541
|
-
}
|
|
27542
|
-
var init_error = __esm(() => {
|
|
27543
|
-
init_dev();
|
|
27544
|
-
init_esm();
|
|
27545
|
-
});
|
|
27546
|
-
|
|
27547
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/constants.js
|
|
27548
|
-
var REACT_RENDER_OP = "ui.react.render", REACT_UPDATE_OP = "ui.react.update", REACT_MOUNT_OP = "ui.react.mount";
|
|
27549
|
-
var init_constants8 = () => {};
|
|
27550
|
-
|
|
27551
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/hoist-non-react-statics.js
|
|
27552
|
-
function isMemo(component) {
|
|
27553
|
-
return typeof component === "object" && component !== null && component.$$typeof === MemoType;
|
|
27554
|
-
}
|
|
27555
|
-
function getStatics(component) {
|
|
27556
|
-
if (isMemo(component)) {
|
|
27557
|
-
return MEMO_STATICS;
|
|
27558
|
-
}
|
|
27559
|
-
const componentType = component.$$typeof;
|
|
27560
|
-
return componentType && TYPE_STATICS[componentType] || REACT_STATICS;
|
|
27561
|
-
}
|
|
27562
|
-
function hoistNonReactStatics(targetComponent, sourceComponent, excludelist) {
|
|
27563
|
-
if (typeof sourceComponent !== "string") {
|
|
27564
|
-
if (objectPrototype) {
|
|
27565
|
-
const inheritedComponent = getPrototypeOf(sourceComponent);
|
|
27566
|
-
if (inheritedComponent && inheritedComponent !== objectPrototype) {
|
|
27567
|
-
hoistNonReactStatics(targetComponent, inheritedComponent);
|
|
27568
|
-
}
|
|
27569
|
-
}
|
|
27570
|
-
let keys2 = getOwnPropertyNames(sourceComponent);
|
|
27571
|
-
if (getOwnPropertySymbols) {
|
|
27572
|
-
keys2 = keys2.concat(getOwnPropertySymbols(sourceComponent));
|
|
27573
|
-
}
|
|
27574
|
-
const targetStatics = getStatics(targetComponent);
|
|
27575
|
-
const sourceStatics = getStatics(sourceComponent);
|
|
27576
|
-
for (const key of keys2) {
|
|
27577
|
-
if (!KNOWN_STATICS[key] && true && !sourceStatics?.[key] && !targetStatics?.[key] && !getOwnPropertyDescriptor(targetComponent, key)) {
|
|
27578
|
-
const descriptor = getOwnPropertyDescriptor(sourceComponent, key);
|
|
27579
|
-
if (descriptor) {
|
|
27580
|
-
try {
|
|
27581
|
-
defineProperty(targetComponent, key, descriptor);
|
|
27582
|
-
} catch (e3) {}
|
|
27583
|
-
}
|
|
27584
|
-
}
|
|
27585
|
-
}
|
|
27586
|
-
}
|
|
27587
|
-
return targetComponent;
|
|
27588
|
-
}
|
|
27589
|
-
var REACT_STATICS, KNOWN_STATICS, FORWARD_REF_STATICS, MEMO_STATICS, ForwardRefType, MemoType, TYPE_STATICS, defineProperty, getOwnPropertyNames, getOwnPropertySymbols, getOwnPropertyDescriptor, getPrototypeOf, objectPrototype;
|
|
27590
|
-
var init_hoist_non_react_statics = __esm(() => {
|
|
27591
|
-
REACT_STATICS = {
|
|
27592
|
-
childContextTypes: true,
|
|
27593
|
-
contextType: true,
|
|
27594
|
-
contextTypes: true,
|
|
27595
|
-
defaultProps: true,
|
|
27596
|
-
displayName: true,
|
|
27597
|
-
getDefaultProps: true,
|
|
27598
|
-
getDerivedStateFromError: true,
|
|
27599
|
-
getDerivedStateFromProps: true,
|
|
27600
|
-
mixins: true,
|
|
27601
|
-
propTypes: true,
|
|
27602
|
-
type: true
|
|
27603
|
-
};
|
|
27604
|
-
KNOWN_STATICS = {
|
|
27605
|
-
name: true,
|
|
27606
|
-
length: true,
|
|
27607
|
-
prototype: true,
|
|
27608
|
-
caller: true,
|
|
27609
|
-
callee: true,
|
|
27610
|
-
arguments: true,
|
|
27611
|
-
arity: true
|
|
27612
|
-
};
|
|
27613
|
-
FORWARD_REF_STATICS = {
|
|
27614
|
-
$$typeof: true,
|
|
27615
|
-
render: true,
|
|
27616
|
-
defaultProps: true,
|
|
27617
|
-
displayName: true,
|
|
27618
|
-
propTypes: true
|
|
27619
|
-
};
|
|
27620
|
-
MEMO_STATICS = {
|
|
27621
|
-
$$typeof: true,
|
|
27622
|
-
compare: true,
|
|
27623
|
-
defaultProps: true,
|
|
27624
|
-
displayName: true,
|
|
27625
|
-
propTypes: true,
|
|
27626
|
-
type: true
|
|
27627
|
-
};
|
|
27628
|
-
ForwardRefType = Symbol.for("react.forward_ref");
|
|
27629
|
-
MemoType = Symbol.for("react.memo");
|
|
27630
|
-
TYPE_STATICS = {};
|
|
27631
|
-
TYPE_STATICS[ForwardRefType] = FORWARD_REF_STATICS;
|
|
27632
|
-
TYPE_STATICS[MemoType] = MEMO_STATICS;
|
|
27633
|
-
defineProperty = Object.defineProperty.bind(Object);
|
|
27634
|
-
getOwnPropertyNames = Object.getOwnPropertyNames.bind(Object);
|
|
27635
|
-
getOwnPropertySymbols = Object.getOwnPropertySymbols?.bind(Object);
|
|
27636
|
-
getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor.bind(Object);
|
|
27637
|
-
getPrototypeOf = Object.getPrototypeOf.bind(Object);
|
|
27638
|
-
objectPrototype = Object.prototype;
|
|
27639
|
-
});
|
|
27640
|
-
|
|
27641
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/profiler.js
|
|
27642
|
-
import * as React from "react";
|
|
27643
|
-
function withProfiler(WrappedComponent, options) {
|
|
27644
|
-
const componentDisplayName = options?.name || WrappedComponent.displayName || WrappedComponent.name || UNKNOWN_COMPONENT;
|
|
27645
|
-
const Wrapped = (props) => React.createElement(Profiler, { ...options, name: componentDisplayName, updateProps: props }, React.createElement(WrappedComponent, { ...props }));
|
|
27646
|
-
Wrapped.displayName = `profiler(${componentDisplayName})`;
|
|
27647
|
-
hoistNonReactStatics(Wrapped, WrappedComponent);
|
|
27648
|
-
return Wrapped;
|
|
27649
|
-
}
|
|
27650
|
-
function useProfiler(name, options = {
|
|
27651
|
-
disabled: false,
|
|
27652
|
-
hasRenderSpan: true
|
|
27653
|
-
}) {
|
|
27654
|
-
const [mountSpan] = React.useState(() => {
|
|
27655
|
-
if (options?.disabled) {
|
|
27656
|
-
return;
|
|
27657
|
-
}
|
|
27658
|
-
return startInactiveSpan({
|
|
27659
|
-
name: `<${name}>`,
|
|
27660
|
-
onlyIfParent: true,
|
|
27661
|
-
op: REACT_MOUNT_OP,
|
|
27662
|
-
attributes: {
|
|
27663
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.ui.react.profiler",
|
|
27664
|
-
"ui.component_name": name
|
|
27665
|
-
}
|
|
27666
|
-
});
|
|
27667
|
-
});
|
|
27668
|
-
React.useEffect(() => {
|
|
27669
|
-
if (mountSpan) {
|
|
27670
|
-
mountSpan.end();
|
|
27671
|
-
}
|
|
27672
|
-
return () => {
|
|
27673
|
-
if (mountSpan && options.hasRenderSpan) {
|
|
27674
|
-
const startTime = spanToJSON(mountSpan).timestamp;
|
|
27675
|
-
const endTimestamp = timestampInSeconds();
|
|
27676
|
-
const renderSpan = startInactiveSpan({
|
|
27677
|
-
name: `<${name}>`,
|
|
27678
|
-
onlyIfParent: true,
|
|
27679
|
-
op: REACT_RENDER_OP,
|
|
27680
|
-
startTime,
|
|
27681
|
-
attributes: {
|
|
27682
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.ui.react.profiler",
|
|
27683
|
-
"ui.component_name": name
|
|
27684
|
-
}
|
|
27685
|
-
});
|
|
27686
|
-
if (renderSpan) {
|
|
27687
|
-
renderSpan.end(endTimestamp);
|
|
27688
|
-
}
|
|
27689
|
-
}
|
|
27690
|
-
};
|
|
27691
|
-
}, []);
|
|
27692
|
-
}
|
|
27693
|
-
var UNKNOWN_COMPONENT = "unknown", Profiler;
|
|
27694
|
-
var init_profiler = __esm(() => {
|
|
27695
|
-
init_dev();
|
|
27696
|
-
init_esm();
|
|
27697
|
-
init_constants8();
|
|
27698
|
-
init_hoist_non_react_statics();
|
|
27699
|
-
Profiler = class Profiler extends React.Component {
|
|
27700
|
-
constructor(props) {
|
|
27701
|
-
super(props);
|
|
27702
|
-
const { name, disabled = false } = this.props;
|
|
27703
|
-
if (disabled) {
|
|
27704
|
-
return;
|
|
27705
|
-
}
|
|
27706
|
-
this._mountSpan = startInactiveSpan({
|
|
27707
|
-
name: `<${name}>`,
|
|
27708
|
-
onlyIfParent: true,
|
|
27709
|
-
op: REACT_MOUNT_OP,
|
|
27710
|
-
attributes: {
|
|
27711
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.ui.react.profiler",
|
|
27712
|
-
"ui.component_name": name
|
|
27713
|
-
}
|
|
27714
|
-
});
|
|
27715
|
-
}
|
|
27716
|
-
componentDidMount() {
|
|
27717
|
-
if (this._mountSpan) {
|
|
27718
|
-
this._mountSpan.end();
|
|
27719
|
-
}
|
|
27720
|
-
}
|
|
27721
|
-
shouldComponentUpdate({ updateProps, includeUpdates = true }) {
|
|
27722
|
-
if (includeUpdates && this._mountSpan && updateProps !== this.props.updateProps) {
|
|
27723
|
-
const changedProps = Object.keys(updateProps).filter((k2) => updateProps[k2] !== this.props.updateProps[k2]);
|
|
27724
|
-
if (changedProps.length > 0) {
|
|
27725
|
-
const now = timestampInSeconds();
|
|
27726
|
-
this._updateSpan = withActiveSpan(this._mountSpan, () => {
|
|
27727
|
-
return startInactiveSpan({
|
|
27728
|
-
name: `<${this.props.name}>`,
|
|
27729
|
-
onlyIfParent: true,
|
|
27730
|
-
op: REACT_UPDATE_OP,
|
|
27731
|
-
startTime: now,
|
|
27732
|
-
attributes: {
|
|
27733
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.ui.react.profiler",
|
|
27734
|
-
"ui.component_name": this.props.name,
|
|
27735
|
-
"ui.react.changed_props": changedProps
|
|
27736
|
-
}
|
|
27737
|
-
});
|
|
27738
|
-
});
|
|
27739
|
-
}
|
|
27740
|
-
}
|
|
27741
|
-
return true;
|
|
27742
|
-
}
|
|
27743
|
-
componentDidUpdate() {
|
|
27744
|
-
if (this._updateSpan) {
|
|
27745
|
-
this._updateSpan.end();
|
|
27746
|
-
this._updateSpan = undefined;
|
|
27747
|
-
}
|
|
27748
|
-
}
|
|
27749
|
-
componentWillUnmount() {
|
|
27750
|
-
const endTimestamp = timestampInSeconds();
|
|
27751
|
-
const { name, includeRender = true } = this.props;
|
|
27752
|
-
if (this._mountSpan && includeRender) {
|
|
27753
|
-
const startTime = spanToJSON(this._mountSpan).timestamp;
|
|
27754
|
-
withActiveSpan(this._mountSpan, () => {
|
|
27755
|
-
const renderSpan = startInactiveSpan({
|
|
27756
|
-
onlyIfParent: true,
|
|
27757
|
-
name: `<${name}>`,
|
|
27758
|
-
op: REACT_RENDER_OP,
|
|
27759
|
-
startTime,
|
|
27760
|
-
attributes: {
|
|
27761
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.ui.react.profiler",
|
|
27762
|
-
"ui.component_name": name
|
|
27763
|
-
}
|
|
27764
|
-
});
|
|
27765
|
-
if (renderSpan) {
|
|
27766
|
-
renderSpan.end(endTimestamp);
|
|
27767
|
-
}
|
|
27768
|
-
});
|
|
27769
|
-
}
|
|
27770
|
-
}
|
|
27771
|
-
render() {
|
|
27772
|
-
return this.props.children;
|
|
27773
|
-
}
|
|
27774
|
-
};
|
|
27775
|
-
Object.assign(Profiler, {
|
|
27776
|
-
defaultProps: {
|
|
27777
|
-
disabled: false,
|
|
27778
|
-
includeRender: true,
|
|
27779
|
-
includeUpdates: true
|
|
27780
|
-
}
|
|
27781
|
-
});
|
|
27782
|
-
});
|
|
27783
|
-
|
|
27784
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/debug-build.js
|
|
27785
|
-
var DEBUG_BUILD6;
|
|
27786
|
-
var init_debug_build4 = __esm(() => {
|
|
27787
|
-
DEBUG_BUILD6 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
|
|
27788
|
-
});
|
|
27789
|
-
|
|
27790
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/errorboundary.js
|
|
27791
|
-
import * as React2 from "react";
|
|
27792
|
-
function withErrorBoundary(WrappedComponent, errorBoundaryOptions) {
|
|
27793
|
-
const componentDisplayName = WrappedComponent.displayName || WrappedComponent.name || UNKNOWN_COMPONENT2;
|
|
27794
|
-
const Wrapped = React2.memo((props) => React2.createElement(ErrorBoundary, { ...errorBoundaryOptions }, React2.createElement(WrappedComponent, { ...props })));
|
|
27795
|
-
Wrapped.displayName = `errorBoundary(${componentDisplayName})`;
|
|
27796
|
-
hoistNonReactStatics(Wrapped, WrappedComponent);
|
|
27797
|
-
return Wrapped;
|
|
27798
|
-
}
|
|
27799
|
-
var UNKNOWN_COMPONENT2 = "unknown", INITIAL_STATE, ErrorBoundary;
|
|
27800
|
-
var init_errorboundary = __esm(() => {
|
|
27801
|
-
init_dev();
|
|
27802
|
-
init_esm();
|
|
27803
|
-
init_debug_build4();
|
|
27804
|
-
init_error();
|
|
27805
|
-
init_hoist_non_react_statics();
|
|
27806
|
-
INITIAL_STATE = {
|
|
27807
|
-
componentStack: null,
|
|
27808
|
-
error: null,
|
|
27809
|
-
eventId: null
|
|
27810
|
-
};
|
|
27811
|
-
ErrorBoundary = class ErrorBoundary extends React2.Component {
|
|
27812
|
-
constructor(props) {
|
|
27813
|
-
super(props);
|
|
27814
|
-
this.state = INITIAL_STATE;
|
|
27815
|
-
this._openFallbackReportDialog = true;
|
|
27816
|
-
const client = getClient();
|
|
27817
|
-
if (client && props.showDialog) {
|
|
27818
|
-
this._openFallbackReportDialog = false;
|
|
27819
|
-
this._cleanupHook = client.on("afterSendEvent", (event) => {
|
|
27820
|
-
if (!event.type && this._lastEventId && event.event_id === this._lastEventId) {
|
|
27821
|
-
showReportDialog({ ...props.dialogOptions, eventId: this._lastEventId });
|
|
27822
|
-
}
|
|
27823
|
-
});
|
|
27824
|
-
}
|
|
27825
|
-
}
|
|
27826
|
-
componentDidCatch(error3, errorInfo) {
|
|
27827
|
-
const { componentStack } = errorInfo;
|
|
27828
|
-
const { beforeCapture, onError, showDialog, dialogOptions } = this.props;
|
|
27829
|
-
withScope2((scope) => {
|
|
27830
|
-
if (beforeCapture) {
|
|
27831
|
-
beforeCapture(scope, error3, componentStack);
|
|
27832
|
-
}
|
|
27833
|
-
const handled = this.props.handled != null ? this.props.handled : !!this.props.fallback;
|
|
27834
|
-
const eventId = captureReactException(error3, errorInfo, {
|
|
27835
|
-
mechanism: { handled, type: "auto.function.react.error_boundary" }
|
|
27836
|
-
});
|
|
27837
|
-
if (onError) {
|
|
27838
|
-
onError(error3, componentStack, eventId);
|
|
27839
|
-
}
|
|
27840
|
-
if (showDialog) {
|
|
27841
|
-
this._lastEventId = eventId;
|
|
27842
|
-
if (this._openFallbackReportDialog) {
|
|
27843
|
-
showReportDialog({ ...dialogOptions, eventId });
|
|
27844
|
-
}
|
|
27845
|
-
}
|
|
27846
|
-
this.setState({ error: error3, componentStack, eventId });
|
|
27847
|
-
});
|
|
27848
|
-
}
|
|
27849
|
-
componentDidMount() {
|
|
27850
|
-
const { onMount } = this.props;
|
|
27851
|
-
if (onMount) {
|
|
27852
|
-
onMount();
|
|
27853
|
-
}
|
|
27854
|
-
}
|
|
27855
|
-
componentWillUnmount() {
|
|
27856
|
-
const { error: error3, componentStack, eventId } = this.state;
|
|
27857
|
-
const { onUnmount } = this.props;
|
|
27858
|
-
if (onUnmount) {
|
|
27859
|
-
if (this.state === INITIAL_STATE) {
|
|
27860
|
-
onUnmount(null, null, null);
|
|
27861
|
-
} else {
|
|
27862
|
-
onUnmount(error3, componentStack, eventId);
|
|
27863
|
-
}
|
|
27864
|
-
}
|
|
27865
|
-
if (this._cleanupHook) {
|
|
27866
|
-
this._cleanupHook();
|
|
27867
|
-
this._cleanupHook = undefined;
|
|
27868
|
-
}
|
|
27869
|
-
}
|
|
27870
|
-
resetErrorBoundary() {
|
|
27871
|
-
const { onReset } = this.props;
|
|
27872
|
-
const { error: error3, componentStack, eventId } = this.state;
|
|
27873
|
-
if (onReset) {
|
|
27874
|
-
onReset(error3, componentStack, eventId);
|
|
27875
|
-
}
|
|
27876
|
-
this.setState(INITIAL_STATE);
|
|
27877
|
-
}
|
|
27878
|
-
render() {
|
|
27879
|
-
const { fallback, children } = this.props;
|
|
27880
|
-
const state = this.state;
|
|
27881
|
-
if (state.componentStack === null) {
|
|
27882
|
-
return typeof children === "function" ? children() : children;
|
|
27883
|
-
}
|
|
27884
|
-
const element = typeof fallback === "function" ? React2.createElement(fallback, {
|
|
27885
|
-
error: state.error,
|
|
27886
|
-
componentStack: state.componentStack,
|
|
27887
|
-
resetError: () => this.resetErrorBoundary(),
|
|
27888
|
-
eventId: state.eventId
|
|
27889
|
-
}) : fallback;
|
|
27890
|
-
if (React2.isValidElement(element)) {
|
|
27891
|
-
return element;
|
|
27892
|
-
}
|
|
27893
|
-
if (fallback) {
|
|
27894
|
-
DEBUG_BUILD6 && debug.warn("fallback did not produce a valid ReactElement");
|
|
27895
|
-
}
|
|
27896
|
-
return null;
|
|
27897
|
-
}
|
|
27898
|
-
};
|
|
27899
|
-
});
|
|
27900
|
-
|
|
27901
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/redux.js
|
|
27902
|
-
function createReduxEnhancer(enhancerOptions) {
|
|
27903
|
-
const options = {
|
|
27904
|
-
...defaultOptions,
|
|
27905
|
-
...enhancerOptions
|
|
27906
|
-
};
|
|
27907
|
-
return (next) => (reducer, initialState) => {
|
|
27908
|
-
options.attachReduxState && getGlobalScope().addEventProcessor((event, hint) => {
|
|
27909
|
-
try {
|
|
27910
|
-
if (event.type === undefined && event.contexts.state.state.type === "redux") {
|
|
27911
|
-
hint.attachments = [
|
|
27912
|
-
...hint.attachments || [],
|
|
27913
|
-
{ filename: "redux_state.json", data: JSON.stringify(event.contexts.state.state.value) }
|
|
27914
|
-
];
|
|
27915
|
-
}
|
|
27916
|
-
} catch {}
|
|
27917
|
-
return event;
|
|
27918
|
-
});
|
|
27919
|
-
function sentryWrapReducer(reducer2) {
|
|
27920
|
-
return (state, action) => {
|
|
27921
|
-
const newState = reducer2(state, action);
|
|
27922
|
-
const scope = getCurrentScope();
|
|
27923
|
-
const transformedAction = options.actionTransformer(action);
|
|
27924
|
-
if (typeof transformedAction !== "undefined" && transformedAction !== null) {
|
|
27925
|
-
addBreadcrumb({
|
|
27926
|
-
category: ACTION_BREADCRUMB_CATEGORY,
|
|
27927
|
-
data: transformedAction,
|
|
27928
|
-
type: ACTION_BREADCRUMB_TYPE
|
|
27929
|
-
});
|
|
27930
|
-
}
|
|
27931
|
-
const transformedState = options.stateTransformer(newState);
|
|
27932
|
-
if (typeof transformedState !== "undefined" && transformedState !== null) {
|
|
27933
|
-
const client = getClient();
|
|
27934
|
-
const options2 = client?.getOptions();
|
|
27935
|
-
const normalizationDepth = options2?.normalizeDepth || 3;
|
|
27936
|
-
const newStateContext = { state: { type: "redux", value: transformedState } };
|
|
27937
|
-
addNonEnumerableProperty(newStateContext, "__sentry_override_normalization_depth__", 3 + normalizationDepth);
|
|
27938
|
-
scope.setContext("state", newStateContext);
|
|
27939
|
-
} else {
|
|
27940
|
-
scope.setContext("state", null);
|
|
27941
|
-
}
|
|
27942
|
-
const { configureScopeWithState } = options;
|
|
27943
|
-
if (typeof configureScopeWithState === "function") {
|
|
27944
|
-
configureScopeWithState(scope, newState);
|
|
27945
|
-
}
|
|
27946
|
-
return newState;
|
|
27947
|
-
};
|
|
27948
|
-
}
|
|
27949
|
-
const store = next(sentryWrapReducer(reducer), initialState);
|
|
27950
|
-
store.replaceReducer = new Proxy(store.replaceReducer, {
|
|
27951
|
-
apply: function(target, thisArg, args) {
|
|
27952
|
-
target.apply(thisArg, [sentryWrapReducer(args[0])]);
|
|
27953
|
-
}
|
|
27954
|
-
});
|
|
27955
|
-
return store;
|
|
27956
|
-
};
|
|
27957
|
-
}
|
|
27958
|
-
var ACTION_BREADCRUMB_CATEGORY = "redux.action", ACTION_BREADCRUMB_TYPE = "info", defaultOptions;
|
|
27959
|
-
var init_redux = __esm(() => {
|
|
27960
|
-
init_esm();
|
|
27961
|
-
defaultOptions = {
|
|
27962
|
-
attachReduxState: true,
|
|
27963
|
-
actionTransformer: (action) => action,
|
|
27964
|
-
stateTransformer: (state) => state || null
|
|
27965
|
-
};
|
|
27966
|
-
});
|
|
27967
|
-
|
|
27968
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouterv3.js
|
|
27969
|
-
function reactRouterV3BrowserTracingIntegration(options) {
|
|
27970
|
-
const integration = browserTracingIntegration({
|
|
27971
|
-
...options,
|
|
27972
|
-
instrumentPageLoad: false,
|
|
27973
|
-
instrumentNavigation: false
|
|
27974
|
-
});
|
|
27975
|
-
const { history, routes, match, instrumentPageLoad = true, instrumentNavigation = true } = options;
|
|
27976
|
-
return {
|
|
27977
|
-
...integration,
|
|
27978
|
-
afterAllSetup(client) {
|
|
27979
|
-
integration.afterAllSetup(client);
|
|
27980
|
-
if (instrumentPageLoad && WINDOW4.location) {
|
|
27981
|
-
normalizeTransactionName(routes, WINDOW4.location, match, (localName, source = "url") => {
|
|
27982
|
-
startBrowserTracingPageLoadSpan(client, {
|
|
27983
|
-
name: localName,
|
|
27984
|
-
attributes: {
|
|
27985
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "pageload",
|
|
27986
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.pageload.react.reactrouter_v3",
|
|
27987
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source
|
|
27988
|
-
}
|
|
27989
|
-
});
|
|
27990
|
-
});
|
|
27991
|
-
}
|
|
27992
|
-
if (instrumentNavigation && history.listen) {
|
|
27993
|
-
history.listen((location) => {
|
|
27994
|
-
if (location.action === "PUSH" || location.action === "POP") {
|
|
27995
|
-
normalizeTransactionName(routes, location, match, (localName, source = "url") => {
|
|
27996
|
-
startBrowserTracingNavigationSpan(client, {
|
|
27997
|
-
name: localName,
|
|
27998
|
-
attributes: {
|
|
27999
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "navigation",
|
|
28000
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.navigation.react.reactrouter_v3",
|
|
28001
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source
|
|
28002
|
-
}
|
|
28003
|
-
});
|
|
28004
|
-
});
|
|
28005
|
-
}
|
|
28006
|
-
});
|
|
28007
|
-
}
|
|
28008
|
-
}
|
|
28009
|
-
};
|
|
28010
|
-
}
|
|
28011
|
-
function normalizeTransactionName(appRoutes, location, match, callback) {
|
|
28012
|
-
let name = location.pathname;
|
|
28013
|
-
match({
|
|
28014
|
-
location,
|
|
28015
|
-
routes: appRoutes
|
|
28016
|
-
}, (error3, _redirectLocation, renderProps) => {
|
|
28017
|
-
if (error3 || !renderProps) {
|
|
28018
|
-
return callback(name);
|
|
28019
|
-
}
|
|
28020
|
-
const routePath = getRouteStringFromRoutes(renderProps.routes || []);
|
|
28021
|
-
if (routePath.length === 0 || routePath === "/*") {
|
|
28022
|
-
return callback(name);
|
|
28023
|
-
}
|
|
28024
|
-
name = routePath;
|
|
28025
|
-
return callback(name, "route");
|
|
28026
|
-
});
|
|
28027
|
-
}
|
|
28028
|
-
function getRouteStringFromRoutes(routes) {
|
|
28029
|
-
if (!Array.isArray(routes) || routes.length === 0) {
|
|
28030
|
-
return "";
|
|
28031
|
-
}
|
|
28032
|
-
const routesWithPaths = routes.filter((route) => !!route.path);
|
|
28033
|
-
let index = -1;
|
|
28034
|
-
for (let x2 = routesWithPaths.length - 1;x2 >= 0; x2--) {
|
|
28035
|
-
const route = routesWithPaths[x2];
|
|
28036
|
-
if (route.path?.startsWith("/")) {
|
|
28037
|
-
index = x2;
|
|
28038
|
-
break;
|
|
28039
|
-
}
|
|
28040
|
-
}
|
|
28041
|
-
return routesWithPaths.slice(index).reduce((acc, { path }) => {
|
|
28042
|
-
const pathSegment = acc === "/" || acc === "" ? path : `/${path}`;
|
|
28043
|
-
return `${acc}${pathSegment}`;
|
|
28044
|
-
}, "");
|
|
28045
|
-
}
|
|
28046
|
-
var init_reactrouterv3 = __esm(() => {
|
|
28047
|
-
init_dev();
|
|
28048
|
-
init_esm();
|
|
28049
|
-
});
|
|
28050
|
-
|
|
28051
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/tanstackrouter.js
|
|
28052
|
-
function tanstackRouterBrowserTracingIntegration(router, options = {}) {
|
|
28053
|
-
const castRouterInstance = router;
|
|
28054
|
-
const browserTracingIntegrationInstance = browserTracingIntegration({
|
|
28055
|
-
...options,
|
|
28056
|
-
instrumentNavigation: false,
|
|
28057
|
-
instrumentPageLoad: false
|
|
28058
|
-
});
|
|
28059
|
-
const { instrumentPageLoad = true, instrumentNavigation = true } = options;
|
|
28060
|
-
return {
|
|
28061
|
-
...browserTracingIntegrationInstance,
|
|
28062
|
-
afterAllSetup(client) {
|
|
28063
|
-
browserTracingIntegrationInstance.afterAllSetup(client);
|
|
28064
|
-
const initialWindowLocation = WINDOW4.location;
|
|
28065
|
-
if (instrumentPageLoad && initialWindowLocation) {
|
|
28066
|
-
const matchedRoutes = castRouterInstance.matchRoutes(initialWindowLocation.pathname, castRouterInstance.options.parseSearch(initialWindowLocation.search), { preload: false, throwOnError: false });
|
|
28067
|
-
const lastMatch = matchedRoutes[matchedRoutes.length - 1];
|
|
28068
|
-
const routeMatch = lastMatch?.routeId !== "__root__" ? lastMatch : undefined;
|
|
28069
|
-
startBrowserTracingPageLoadSpan(client, {
|
|
28070
|
-
name: routeMatch ? routeMatch.routeId : initialWindowLocation.pathname,
|
|
28071
|
-
attributes: {
|
|
28072
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "pageload",
|
|
28073
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.pageload.react.tanstack_router",
|
|
28074
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: routeMatch ? "route" : "url",
|
|
28075
|
-
...routeMatchToParamSpanAttributes(routeMatch)
|
|
28076
|
-
}
|
|
28077
|
-
});
|
|
28078
|
-
}
|
|
28079
|
-
if (instrumentNavigation) {
|
|
28080
|
-
castRouterInstance.subscribe("onBeforeNavigate", (onBeforeNavigateArgs) => {
|
|
28081
|
-
if (!onBeforeNavigateArgs.fromLocation || onBeforeNavigateArgs.toLocation.state === onBeforeNavigateArgs.fromLocation.state) {
|
|
28082
|
-
return;
|
|
28083
|
-
}
|
|
28084
|
-
const matchedRoutesOnBeforeNavigate = castRouterInstance.matchRoutes(onBeforeNavigateArgs.toLocation.pathname, onBeforeNavigateArgs.toLocation.search, { preload: false, throwOnError: false });
|
|
28085
|
-
const onBeforeNavigateLastMatch = matchedRoutesOnBeforeNavigate[matchedRoutesOnBeforeNavigate.length - 1];
|
|
28086
|
-
const onBeforeNavigateRouteMatch = onBeforeNavigateLastMatch?.routeId !== "__root__" ? onBeforeNavigateLastMatch : undefined;
|
|
28087
|
-
const navigationLocation = WINDOW4.location;
|
|
28088
|
-
const navigationSpan = startBrowserTracingNavigationSpan(client, {
|
|
28089
|
-
name: onBeforeNavigateRouteMatch ? onBeforeNavigateRouteMatch.routeId : navigationLocation.pathname,
|
|
28090
|
-
attributes: {
|
|
28091
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "navigation",
|
|
28092
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.navigation.react.tanstack_router",
|
|
28093
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: onBeforeNavigateRouteMatch ? "route" : "url"
|
|
28094
|
-
}
|
|
28095
|
-
});
|
|
28096
|
-
const unsubscribeOnResolved = castRouterInstance.subscribe("onResolved", (onResolvedArgs) => {
|
|
28097
|
-
unsubscribeOnResolved();
|
|
28098
|
-
if (navigationSpan) {
|
|
28099
|
-
const matchedRoutesOnResolved = castRouterInstance.matchRoutes(onResolvedArgs.toLocation.pathname, onResolvedArgs.toLocation.search, { preload: false, throwOnError: false });
|
|
28100
|
-
const onResolvedLastMatch = matchedRoutesOnResolved[matchedRoutesOnResolved.length - 1];
|
|
28101
|
-
const onResolvedRouteMatch = onResolvedLastMatch?.routeId !== "__root__" ? onResolvedLastMatch : undefined;
|
|
28102
|
-
if (onResolvedRouteMatch) {
|
|
28103
|
-
navigationSpan.updateName(onResolvedRouteMatch.routeId);
|
|
28104
|
-
navigationSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, "route");
|
|
28105
|
-
navigationSpan.setAttributes(routeMatchToParamSpanAttributes(onResolvedRouteMatch));
|
|
28106
|
-
}
|
|
28107
|
-
}
|
|
28108
|
-
});
|
|
28109
|
-
});
|
|
28110
|
-
}
|
|
28111
|
-
}
|
|
28112
|
-
};
|
|
28113
|
-
}
|
|
28114
|
-
function routeMatchToParamSpanAttributes(match) {
|
|
28115
|
-
if (!match) {
|
|
28116
|
-
return {};
|
|
28117
|
-
}
|
|
28118
|
-
const paramAttributes = {};
|
|
28119
|
-
Object.entries(match.params).forEach(([key, value]) => {
|
|
28120
|
-
paramAttributes[`url.path.params.${key}`] = value;
|
|
28121
|
-
paramAttributes[`url.path.parameter.${key}`] = value;
|
|
28122
|
-
paramAttributes[`params.${key}`] = value;
|
|
28123
|
-
});
|
|
28124
|
-
return paramAttributes;
|
|
28125
|
-
}
|
|
28126
|
-
var init_tanstackrouter = __esm(() => {
|
|
28127
|
-
init_dev();
|
|
28128
|
-
init_esm();
|
|
28129
|
-
});
|
|
28130
|
-
|
|
28131
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouter.js
|
|
28132
|
-
import * as React3 from "react";
|
|
28133
|
-
function reactRouterV4BrowserTracingIntegration(options) {
|
|
28134
|
-
const integration = browserTracingIntegration({
|
|
28135
|
-
...options,
|
|
28136
|
-
instrumentPageLoad: false,
|
|
28137
|
-
instrumentNavigation: false
|
|
28138
|
-
});
|
|
28139
|
-
const { history, routes, matchPath, instrumentPageLoad = true, instrumentNavigation = true } = options;
|
|
28140
|
-
return {
|
|
28141
|
-
...integration,
|
|
28142
|
-
afterAllSetup(client) {
|
|
28143
|
-
integration.afterAllSetup(client);
|
|
28144
|
-
instrumentReactRouter(client, instrumentPageLoad, instrumentNavigation, history, "reactrouter_v4", routes, matchPath);
|
|
28145
|
-
}
|
|
28146
|
-
};
|
|
28147
|
-
}
|
|
28148
|
-
function reactRouterV5BrowserTracingIntegration(options) {
|
|
28149
|
-
const integration = browserTracingIntegration({
|
|
28150
|
-
...options,
|
|
28151
|
-
instrumentPageLoad: false,
|
|
28152
|
-
instrumentNavigation: false
|
|
28153
|
-
});
|
|
28154
|
-
const { history, routes, matchPath, instrumentPageLoad = true, instrumentNavigation = true } = options;
|
|
28155
|
-
return {
|
|
28156
|
-
...integration,
|
|
28157
|
-
afterAllSetup(client) {
|
|
28158
|
-
integration.afterAllSetup(client);
|
|
28159
|
-
instrumentReactRouter(client, instrumentPageLoad, instrumentNavigation, history, "reactrouter_v5", routes, matchPath);
|
|
28160
|
-
}
|
|
28161
|
-
};
|
|
28162
|
-
}
|
|
28163
|
-
function instrumentReactRouter(client, instrumentPageLoad, instrumentNavigation, history, instrumentationName, allRoutes = [], matchPath) {
|
|
28164
|
-
function getInitPathName() {
|
|
28165
|
-
if (history.location) {
|
|
28166
|
-
return history.location.pathname;
|
|
28167
|
-
}
|
|
28168
|
-
if (WINDOW4.location) {
|
|
28169
|
-
return WINDOW4.location.pathname;
|
|
28170
|
-
}
|
|
28171
|
-
return;
|
|
28172
|
-
}
|
|
28173
|
-
function normalizeTransactionName2(pathname) {
|
|
28174
|
-
if (allRoutes.length === 0 || !matchPath) {
|
|
28175
|
-
return [pathname, "url"];
|
|
28176
|
-
}
|
|
28177
|
-
const branches = matchRoutes(allRoutes, pathname, matchPath);
|
|
28178
|
-
for (const branch of branches) {
|
|
28179
|
-
if (branch.match.isExact) {
|
|
28180
|
-
return [branch.match.path, "route"];
|
|
28181
|
-
}
|
|
28182
|
-
}
|
|
28183
|
-
return [pathname, "url"];
|
|
28184
|
-
}
|
|
28185
|
-
if (instrumentPageLoad) {
|
|
28186
|
-
const initPathName = getInitPathName();
|
|
28187
|
-
if (initPathName) {
|
|
28188
|
-
const [name, source] = normalizeTransactionName2(initPathName);
|
|
28189
|
-
startBrowserTracingPageLoadSpan(client, {
|
|
28190
|
-
name,
|
|
28191
|
-
attributes: {
|
|
28192
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "pageload",
|
|
28193
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.pageload.react.${instrumentationName}`,
|
|
28194
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source
|
|
28195
|
-
}
|
|
28196
|
-
});
|
|
28197
|
-
}
|
|
28198
|
-
}
|
|
28199
|
-
if (instrumentNavigation && history.listen) {
|
|
28200
|
-
history.listen((location, action) => {
|
|
28201
|
-
if (action && (action === "PUSH" || action === "POP")) {
|
|
28202
|
-
const [name, source] = normalizeTransactionName2(location.pathname);
|
|
28203
|
-
startBrowserTracingNavigationSpan(client, {
|
|
28204
|
-
name,
|
|
28205
|
-
attributes: {
|
|
28206
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "navigation",
|
|
28207
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.navigation.react.${instrumentationName}`,
|
|
28208
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source
|
|
28209
|
-
}
|
|
28210
|
-
});
|
|
28211
|
-
}
|
|
28212
|
-
});
|
|
28213
|
-
}
|
|
28214
|
-
}
|
|
28215
|
-
function matchRoutes(routes, pathname, matchPath, branch = []) {
|
|
28216
|
-
routes.some((route) => {
|
|
28217
|
-
const match = route.path ? matchPath(pathname, route) : branch.length ? branch[branch.length - 1].match : computeRootMatch(pathname);
|
|
28218
|
-
if (match) {
|
|
28219
|
-
branch.push({ route, match });
|
|
28220
|
-
if (route.routes) {
|
|
28221
|
-
matchRoutes(route.routes, pathname, matchPath, branch);
|
|
28222
|
-
}
|
|
28223
|
-
}
|
|
28224
|
-
return !!match;
|
|
28225
|
-
});
|
|
28226
|
-
return branch;
|
|
28227
|
-
}
|
|
28228
|
-
function computeRootMatch(pathname) {
|
|
28229
|
-
return { path: "/", url: "/", params: {}, isExact: pathname === "/" };
|
|
28230
|
-
}
|
|
28231
|
-
function withSentryRouting(Route) {
|
|
28232
|
-
const componentDisplayName = Route.displayName || Route.name;
|
|
28233
|
-
const WrappedRoute = (props) => {
|
|
28234
|
-
if (props?.computedMatch?.isExact) {
|
|
28235
|
-
const route = props.computedMatch.path;
|
|
28236
|
-
const activeRootSpan = getActiveRootSpan();
|
|
28237
|
-
getCurrentScope().setTransactionName(route);
|
|
28238
|
-
if (activeRootSpan) {
|
|
28239
|
-
activeRootSpan.updateName(route);
|
|
28240
|
-
activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, "route");
|
|
28241
|
-
}
|
|
28242
|
-
}
|
|
28243
|
-
return React3.createElement(Route, { ...props });
|
|
28244
|
-
};
|
|
28245
|
-
WrappedRoute.displayName = `sentryRoute(${componentDisplayName})`;
|
|
28246
|
-
hoistNonReactStatics(WrappedRoute, Route);
|
|
28247
|
-
return WrappedRoute;
|
|
28248
|
-
}
|
|
28249
|
-
function getActiveRootSpan() {
|
|
28250
|
-
const span = getActiveSpan();
|
|
28251
|
-
const rootSpan = span && getRootSpan(span);
|
|
28252
|
-
if (!rootSpan) {
|
|
28253
|
-
return;
|
|
28254
|
-
}
|
|
28255
|
-
const op = spanToJSON(rootSpan).op;
|
|
28256
|
-
return op === "navigation" || op === "pageload" ? rootSpan : undefined;
|
|
28257
|
-
}
|
|
28258
|
-
var init_reactrouter = __esm(() => {
|
|
28259
|
-
init_dev();
|
|
28260
|
-
init_esm();
|
|
28261
|
-
init_hoist_non_react_statics();
|
|
28262
|
-
});
|
|
28263
|
-
|
|
28264
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouter-compat-utils/route-manifest.js
|
|
28265
|
-
function stripBasenameFromPathname(pathname, basename3) {
|
|
28266
|
-
if (!basename3 || basename3 === "/") {
|
|
28267
|
-
return pathname;
|
|
28268
|
-
}
|
|
28269
|
-
if (!pathname.toLowerCase().startsWith(basename3.toLowerCase())) {
|
|
28270
|
-
return pathname;
|
|
28271
|
-
}
|
|
28272
|
-
const startIndex = basename3.endsWith("/") ? basename3.length - 1 : basename3.length;
|
|
28273
|
-
const nextChar = pathname.charAt(startIndex);
|
|
28274
|
-
if (nextChar && nextChar !== "/") {
|
|
28275
|
-
return pathname;
|
|
28276
|
-
}
|
|
28277
|
-
return pathname.slice(startIndex) || "/";
|
|
28278
|
-
}
|
|
28279
|
-
function matchRouteManifest(pathname, manifest, basename3) {
|
|
28280
|
-
if (!pathname || !manifest || !manifest.length) {
|
|
28281
|
-
return null;
|
|
28282
|
-
}
|
|
28283
|
-
const normalizedPathname = basename3 ? stripBasenameFromPathname(pathname, basename3) : pathname;
|
|
28284
|
-
let sorted = SORTED_MANIFEST_CACHE.get(manifest);
|
|
28285
|
-
if (!sorted) {
|
|
28286
|
-
sorted = sortBySpecificity(manifest);
|
|
28287
|
-
SORTED_MANIFEST_CACHE.set(manifest, sorted);
|
|
28288
|
-
DEBUG_BUILD6 && debug.log("[React Router] Sorted route manifest by specificity:", sorted.length, "patterns");
|
|
28289
|
-
}
|
|
28290
|
-
for (const pattern of sorted) {
|
|
28291
|
-
if (matchesPattern(normalizedPathname, pattern)) {
|
|
28292
|
-
DEBUG_BUILD6 && debug.log("[React Router] Matched pathname", normalizedPathname, "to pattern", pattern);
|
|
28293
|
-
return pattern;
|
|
28294
|
-
}
|
|
28295
|
-
}
|
|
28296
|
-
DEBUG_BUILD6 && debug.log("[React Router] No manifest match found for pathname:", normalizedPathname);
|
|
28297
|
-
return null;
|
|
28298
|
-
}
|
|
28299
|
-
function matchesPattern(pathname, pattern) {
|
|
28300
|
-
if (pattern === "/") {
|
|
28301
|
-
return pathname === "/" || pathname === "";
|
|
28302
|
-
}
|
|
28303
|
-
const pathSegments = splitPath2(pathname);
|
|
28304
|
-
const patternSegments = splitPath2(pattern);
|
|
28305
|
-
const hasWildcard = patternSegments.length > 0 && patternSegments[patternSegments.length - 1] === "*";
|
|
28306
|
-
if (hasWildcard) {
|
|
28307
|
-
const patternSegmentsWithoutWildcard = patternSegments.slice(0, -1);
|
|
28308
|
-
if (pathSegments.length < patternSegmentsWithoutWildcard.length) {
|
|
28309
|
-
return false;
|
|
28310
|
-
}
|
|
28311
|
-
for (const [i2, patternSegment] of patternSegmentsWithoutWildcard.entries()) {
|
|
28312
|
-
if (!segmentMatches(pathSegments[i2], patternSegment)) {
|
|
28313
|
-
return false;
|
|
28314
|
-
}
|
|
28315
|
-
}
|
|
28316
|
-
return true;
|
|
28317
|
-
}
|
|
28318
|
-
if (pathSegments.length !== patternSegments.length) {
|
|
28319
|
-
return false;
|
|
28320
|
-
}
|
|
28321
|
-
for (const [i2, patternSegment] of patternSegments.entries()) {
|
|
28322
|
-
if (!segmentMatches(pathSegments[i2], patternSegment)) {
|
|
28323
|
-
return false;
|
|
28324
|
-
}
|
|
28325
|
-
}
|
|
28326
|
-
return true;
|
|
28327
|
-
}
|
|
28328
|
-
function segmentMatches(pathSegment, patternSegment) {
|
|
28329
|
-
if (pathSegment === undefined || patternSegment === undefined) {
|
|
28330
|
-
return false;
|
|
28331
|
-
}
|
|
28332
|
-
if (PARAM_RE.test(patternSegment)) {
|
|
28333
|
-
return true;
|
|
28334
|
-
}
|
|
28335
|
-
return pathSegment === patternSegment;
|
|
28336
|
-
}
|
|
28337
|
-
function splitPath2(path) {
|
|
28338
|
-
return path.split("/").filter(Boolean);
|
|
28339
|
-
}
|
|
28340
|
-
function computeScore(pattern) {
|
|
28341
|
-
const segments = pattern.split("/");
|
|
28342
|
-
let score = segments.length;
|
|
28343
|
-
if (segments.includes("*")) {
|
|
28344
|
-
score += SPLAT_PENALTY;
|
|
28345
|
-
}
|
|
28346
|
-
for (const segment of segments) {
|
|
28347
|
-
if (segment === "*") {
|
|
28348
|
-
continue;
|
|
28349
|
-
} else if (PARAM_RE.test(segment)) {
|
|
28350
|
-
score += DYNAMIC_SEGMENT_SCORE;
|
|
28351
|
-
} else if (segment === "") {
|
|
28352
|
-
score += EMPTY_SEGMENT_SCORE;
|
|
28353
|
-
} else {
|
|
28354
|
-
score += STATIC_SEGMENT_SCORE;
|
|
28355
|
-
}
|
|
28356
|
-
}
|
|
28357
|
-
return score;
|
|
28358
|
-
}
|
|
28359
|
-
function sortBySpecificity(manifest) {
|
|
28360
|
-
return [...manifest].sort((a2, b2) => {
|
|
28361
|
-
const aScore = computeScore(a2);
|
|
28362
|
-
const bScore = computeScore(b2);
|
|
28363
|
-
return bScore - aScore;
|
|
28364
|
-
});
|
|
28365
|
-
}
|
|
28366
|
-
var SORTED_MANIFEST_CACHE, PARAM_RE, STATIC_SEGMENT_SCORE = 10, DYNAMIC_SEGMENT_SCORE = 3, EMPTY_SEGMENT_SCORE = 1, SPLAT_PENALTY = -2;
|
|
28367
|
-
var init_route_manifest = __esm(() => {
|
|
28368
|
-
init_esm();
|
|
28369
|
-
init_debug_build4();
|
|
28370
|
-
SORTED_MANIFEST_CACHE = new WeakMap;
|
|
28371
|
-
PARAM_RE = /^:[\w-]+$/;
|
|
28372
|
-
});
|
|
28373
|
-
|
|
28374
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouter-compat-utils/utils.js
|
|
28375
|
-
function setNavigationContext(targetPath, span) {
|
|
28376
|
-
const token = {};
|
|
28377
|
-
if (_navigationContextStack.length >= MAX_CONTEXT_STACK_SIZE) {
|
|
28378
|
-
DEBUG_BUILD6 && debug.warn("[React Router] Navigation context stack overflow - removing oldest context");
|
|
28379
|
-
_navigationContextStack.shift();
|
|
28380
|
-
}
|
|
28381
|
-
_navigationContextStack.push({ token, targetPath, span });
|
|
28382
|
-
return token;
|
|
28383
|
-
}
|
|
28384
|
-
function clearNavigationContext(token) {
|
|
28385
|
-
const top = _navigationContextStack[_navigationContextStack.length - 1];
|
|
28386
|
-
if (top?.token === token) {
|
|
28387
|
-
_navigationContextStack.pop();
|
|
28388
|
-
}
|
|
28389
|
-
}
|
|
28390
|
-
function getNavigationContext() {
|
|
28391
|
-
const length = _navigationContextStack.length;
|
|
28392
|
-
return length > 0 ? _navigationContextStack[length - 1] ?? null : null;
|
|
28393
|
-
}
|
|
28394
|
-
function initializeRouterUtils(matchRoutes2, stripBasename = false) {
|
|
28395
|
-
_matchRoutes = matchRoutes2;
|
|
28396
|
-
_stripBasename = stripBasename;
|
|
28397
|
-
}
|
|
28398
|
-
function pickPath(match) {
|
|
28399
|
-
return trimWildcard(match.route.path || "");
|
|
28400
|
-
}
|
|
28401
|
-
function pickSplat(match) {
|
|
28402
|
-
return match.params["*"] || "";
|
|
28403
|
-
}
|
|
28404
|
-
function trimWildcard(path) {
|
|
28405
|
-
return path[path.length - 1] === "*" ? path.slice(0, -1) : path;
|
|
28406
|
-
}
|
|
28407
|
-
function trimSlash(path) {
|
|
28408
|
-
return path[path.length - 1] === "/" ? path.slice(0, -1) : path;
|
|
28409
|
-
}
|
|
28410
|
-
function pathEndsWithWildcard(path) {
|
|
28411
|
-
return path.endsWith("*");
|
|
28412
|
-
}
|
|
28413
|
-
function transactionNameHasWildcard(name) {
|
|
28414
|
-
return name.includes("/*") || name.endsWith("*");
|
|
28415
|
-
}
|
|
28416
|
-
function pathIsWildcardAndHasChildren(path, branch) {
|
|
28417
|
-
return pathEndsWithWildcard(path) && !!branch.route.children?.length || false;
|
|
28418
|
-
}
|
|
28419
|
-
function routeIsDescendant(route) {
|
|
28420
|
-
return !!(!route.children && route.element && route.path?.endsWith("/*"));
|
|
28421
|
-
}
|
|
28422
|
-
function sendIndexPath(pathBuilder, pathname, basename3) {
|
|
28423
|
-
const reconstructedPath = pathBuilder && pathBuilder.length > 0 ? pathBuilder : _stripBasename ? stripBasenameFromPathname(pathname, basename3) : pathname;
|
|
28424
|
-
let formattedPath = reconstructedPath.slice(-2) === "/*" ? reconstructedPath.slice(0, -2) : reconstructedPath;
|
|
28425
|
-
if (formattedPath.length > 1 && formattedPath[formattedPath.length - 1] === "/") {
|
|
28426
|
-
formattedPath = formattedPath.slice(0, -1);
|
|
28427
|
-
}
|
|
28428
|
-
return [formattedPath, "route"];
|
|
28429
|
-
}
|
|
28430
|
-
function getNumberOfUrlSegments(url) {
|
|
28431
|
-
return url.split(/\\?\//).filter((s2) => s2.length > 0 && s2 !== ",").length;
|
|
28432
|
-
}
|
|
28433
|
-
function prefixWithSlash(path) {
|
|
28434
|
-
return path[0] === "/" ? path : `/${path}`;
|
|
28435
|
-
}
|
|
28436
|
-
function rebuildRoutePathFromAllRoutes(allRoutes, location) {
|
|
28437
|
-
const matchedRoutes = _matchRoutes(allRoutes, location);
|
|
28438
|
-
if (!matchedRoutes || matchedRoutes.length === 0) {
|
|
28439
|
-
return "";
|
|
28440
|
-
}
|
|
28441
|
-
for (const match of matchedRoutes) {
|
|
28442
|
-
if (match.route.path && match.route.path !== "*") {
|
|
28443
|
-
const path = pickPath(match);
|
|
28444
|
-
const strippedPath = stripBasenameFromPathname(location.pathname, prefixWithSlash(match.pathnameBase));
|
|
28445
|
-
if (location.pathname === strippedPath) {
|
|
28446
|
-
return trimSlash(strippedPath);
|
|
28447
|
-
}
|
|
28448
|
-
return trimSlash(trimSlash(path || "") + prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes.filter((route) => route !== match.route), {
|
|
28449
|
-
pathname: strippedPath
|
|
28450
|
-
})));
|
|
28451
|
-
}
|
|
28452
|
-
}
|
|
28453
|
-
return "";
|
|
28454
|
-
}
|
|
28455
|
-
function locationIsInsideDescendantRoute(location, routes) {
|
|
28456
|
-
const matchedRoutes = _matchRoutes(routes, location);
|
|
28457
|
-
if (matchedRoutes) {
|
|
28458
|
-
for (const match of matchedRoutes) {
|
|
28459
|
-
if (routeIsDescendant(match.route) && pickSplat(match)) {
|
|
28460
|
-
return true;
|
|
28461
|
-
}
|
|
28462
|
-
}
|
|
28463
|
-
}
|
|
28464
|
-
return false;
|
|
28465
|
-
}
|
|
28466
|
-
function getFallbackTransactionName(location, basename3) {
|
|
28467
|
-
return _stripBasename ? stripBasenameFromPathname(location.pathname, basename3) : location.pathname || "";
|
|
28468
|
-
}
|
|
28469
|
-
function getNormalizedName(routes, location, branches, basename3 = "") {
|
|
28470
|
-
if (!routes || routes.length === 0) {
|
|
28471
|
-
return [_stripBasename ? stripBasenameFromPathname(location.pathname, basename3) : location.pathname, "url"];
|
|
28472
|
-
}
|
|
28473
|
-
if (!branches) {
|
|
28474
|
-
return [getFallbackTransactionName(location, basename3), "url"];
|
|
28475
|
-
}
|
|
28476
|
-
let pathBuilder = "";
|
|
28477
|
-
for (const branch of branches) {
|
|
28478
|
-
const route = branch.route;
|
|
28479
|
-
if (!route) {
|
|
28480
|
-
continue;
|
|
28481
|
-
}
|
|
28482
|
-
if (route.index) {
|
|
28483
|
-
return sendIndexPath(pathBuilder, branch.pathname, basename3);
|
|
28484
|
-
}
|
|
28485
|
-
const path = route.path;
|
|
28486
|
-
if (!path || pathIsWildcardAndHasChildren(path, branch)) {
|
|
28487
|
-
continue;
|
|
28488
|
-
}
|
|
28489
|
-
const newPath = path[0] === "/" || pathBuilder[pathBuilder.length - 1] === "/" ? path : `/${path}`;
|
|
28490
|
-
pathBuilder = trimSlash(pathBuilder) + prefixWithSlash(newPath);
|
|
28491
|
-
if (trimSlash(location.pathname) !== trimSlash(basename3 + branch.pathname)) {
|
|
28492
|
-
continue;
|
|
28493
|
-
}
|
|
28494
|
-
if (getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname) && !pathEndsWithWildcard(pathBuilder)) {
|
|
28495
|
-
return [(_stripBasename ? "" : basename3) + newPath, "route"];
|
|
28496
|
-
}
|
|
28497
|
-
if (pathIsWildcardAndHasChildren(pathBuilder, branch)) {
|
|
28498
|
-
pathBuilder = pathBuilder.slice(0, -1);
|
|
28499
|
-
}
|
|
28500
|
-
return [(_stripBasename ? "" : basename3) + pathBuilder, "route"];
|
|
28501
|
-
}
|
|
28502
|
-
return [getFallbackTransactionName(location, basename3), "url"];
|
|
28503
|
-
}
|
|
28504
|
-
function resolveRouteNameAndSource(location, routes, allRoutes, branches, basename3 = "", lazyRouteManifest, enableAsyncRouteHandlers) {
|
|
28505
|
-
if (enableAsyncRouteHandlers && lazyRouteManifest && lazyRouteManifest.length > 0) {
|
|
28506
|
-
const manifestMatch = matchRouteManifest(location.pathname, lazyRouteManifest, basename3);
|
|
28507
|
-
if (manifestMatch) {
|
|
28508
|
-
return [(_stripBasename ? "" : basename3) + manifestMatch, "route"];
|
|
28509
|
-
}
|
|
28510
|
-
}
|
|
28511
|
-
let name;
|
|
28512
|
-
let source = "url";
|
|
28513
|
-
const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes);
|
|
28514
|
-
if (isInDescendantRoute) {
|
|
28515
|
-
name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes, location));
|
|
28516
|
-
source = "route";
|
|
28517
|
-
}
|
|
28518
|
-
if (!isInDescendantRoute || !name) {
|
|
28519
|
-
[name, source] = getNormalizedName(routes, location, branches, basename3);
|
|
28520
|
-
}
|
|
28521
|
-
return [name || location.pathname, source];
|
|
28522
|
-
}
|
|
28523
|
-
function getActiveRootSpan2() {
|
|
28524
|
-
const span = getActiveSpan();
|
|
28525
|
-
const rootSpan = span ? getRootSpan(span) : undefined;
|
|
28526
|
-
if (!rootSpan) {
|
|
28527
|
-
return;
|
|
28528
|
-
}
|
|
28529
|
-
const op = spanToJSON(rootSpan).op;
|
|
28530
|
-
return op === "navigation" || op === "pageload" ? rootSpan : undefined;
|
|
28531
|
-
}
|
|
28532
|
-
var _matchRoutes, _stripBasename = false, _navigationContextStack, MAX_CONTEXT_STACK_SIZE = 10;
|
|
28533
|
-
var init_utils12 = __esm(() => {
|
|
28534
|
-
init_esm();
|
|
28535
|
-
init_debug_build4();
|
|
28536
|
-
init_route_manifest();
|
|
28537
|
-
_navigationContextStack = [];
|
|
28538
|
-
});
|
|
28539
|
-
|
|
28540
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouter-compat-utils/lazy-routes.js
|
|
28541
|
-
function captureCurrentLocation() {
|
|
28542
|
-
const navContext = getNavigationContext();
|
|
28543
|
-
if (navContext) {
|
|
28544
|
-
if (navContext.targetPath) {
|
|
28545
|
-
return {
|
|
28546
|
-
pathname: navContext.targetPath,
|
|
28547
|
-
search: "",
|
|
28548
|
-
hash: "",
|
|
28549
|
-
state: null,
|
|
28550
|
-
key: "default"
|
|
28551
|
-
};
|
|
28552
|
-
}
|
|
28553
|
-
return null;
|
|
28554
|
-
}
|
|
28555
|
-
if (typeof WINDOW4 !== "undefined") {
|
|
28556
|
-
try {
|
|
28557
|
-
const windowLocation = WINDOW4.location;
|
|
28558
|
-
if (windowLocation) {
|
|
28559
|
-
return {
|
|
28560
|
-
pathname: windowLocation.pathname,
|
|
28561
|
-
search: windowLocation.search || "",
|
|
28562
|
-
hash: windowLocation.hash || "",
|
|
28563
|
-
state: null,
|
|
28564
|
-
key: "default"
|
|
28565
|
-
};
|
|
28566
|
-
}
|
|
28567
|
-
} catch {
|
|
28568
|
-
DEBUG_BUILD6 && debug.warn("[React Router] Could not access window.location");
|
|
28569
|
-
}
|
|
28570
|
-
}
|
|
28571
|
-
return null;
|
|
28572
|
-
}
|
|
28573
|
-
function captureActiveSpan() {
|
|
28574
|
-
const navContext = getNavigationContext();
|
|
28575
|
-
if (navContext) {
|
|
28576
|
-
return navContext.span;
|
|
28577
|
-
}
|
|
28578
|
-
return getActiveRootSpan2();
|
|
28579
|
-
}
|
|
28580
|
-
function createAsyncHandlerProxy(originalFunction, route, handlerKey, processResolvedRoutes) {
|
|
28581
|
-
const proxy = new Proxy(originalFunction, {
|
|
28582
|
-
apply(target, thisArg, argArray) {
|
|
28583
|
-
const locationAtInvocation = captureCurrentLocation();
|
|
28584
|
-
const spanAtInvocation = captureActiveSpan();
|
|
28585
|
-
const result = target.apply(thisArg, argArray);
|
|
28586
|
-
handleAsyncHandlerResult(result, route, handlerKey, processResolvedRoutes, locationAtInvocation, spanAtInvocation);
|
|
28587
|
-
return result;
|
|
28588
|
-
}
|
|
28589
|
-
});
|
|
28590
|
-
addNonEnumerableProperty(proxy, "__sentry_proxied__", true);
|
|
28591
|
-
return proxy;
|
|
28592
|
-
}
|
|
28593
|
-
function handleAsyncHandlerResult(result, route, handlerKey, processResolvedRoutes, currentLocation, capturedSpan) {
|
|
28594
|
-
if (isThenable(result)) {
|
|
28595
|
-
result.then((resolvedRoutes) => {
|
|
28596
|
-
if (Array.isArray(resolvedRoutes)) {
|
|
28597
|
-
processResolvedRoutes(resolvedRoutes, route, currentLocation ?? undefined, capturedSpan);
|
|
28598
|
-
}
|
|
28599
|
-
}).catch((e3) => {
|
|
28600
|
-
DEBUG_BUILD6 && debug.warn(`Error resolving async handler '${handlerKey}' for route`, route, e3);
|
|
28601
|
-
});
|
|
28602
|
-
} else if (Array.isArray(result)) {
|
|
28603
|
-
processResolvedRoutes(result, route, currentLocation ?? undefined, capturedSpan);
|
|
28604
|
-
}
|
|
28605
|
-
}
|
|
28606
|
-
function checkRouteForAsyncHandler(route, processResolvedRoutes) {
|
|
28607
|
-
if (route.handle && typeof route.handle === "object") {
|
|
28608
|
-
for (const key of Object.keys(route.handle)) {
|
|
28609
|
-
const maybeFn = route.handle[key];
|
|
28610
|
-
if (typeof maybeFn === "function" && !maybeFn.__sentry_proxied__) {
|
|
28611
|
-
route.handle[key] = createAsyncHandlerProxy(maybeFn, route, key, processResolvedRoutes);
|
|
28612
|
-
}
|
|
28613
|
-
}
|
|
28614
|
-
}
|
|
28615
|
-
if (Array.isArray(route.children)) {
|
|
28616
|
-
for (const child of route.children) {
|
|
28617
|
-
checkRouteForAsyncHandler(child, processResolvedRoutes);
|
|
28618
|
-
}
|
|
28619
|
-
}
|
|
28620
|
-
}
|
|
28621
|
-
var init_lazy_routes = __esm(() => {
|
|
28622
|
-
init_dev();
|
|
28623
|
-
init_esm();
|
|
28624
|
-
init_debug_build4();
|
|
28625
|
-
init_utils12();
|
|
28626
|
-
});
|
|
28627
|
-
|
|
28628
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouter-compat-utils/instrumentation.js
|
|
28629
|
-
import * as React4 from "react";
|
|
28630
|
-
function scheduleCallback(callback) {
|
|
28631
|
-
if (WINDOW4?.requestAnimationFrame) {
|
|
28632
|
-
return WINDOW4.requestAnimationFrame(callback);
|
|
28633
|
-
}
|
|
28634
|
-
return setTimeout(callback, 0);
|
|
28635
|
-
}
|
|
28636
|
-
function cancelScheduledCallback(id) {
|
|
28637
|
-
if (WINDOW4?.cancelAnimationFrame) {
|
|
28638
|
-
WINDOW4.cancelAnimationFrame(id);
|
|
28639
|
-
} else {
|
|
28640
|
-
clearTimeout(id);
|
|
28641
|
-
}
|
|
28642
|
-
}
|
|
28643
|
-
function computeLocationKey(location) {
|
|
28644
|
-
return `${location.pathname}${location.search || ""}${location.hash || ""}`;
|
|
28645
|
-
}
|
|
28646
|
-
function isParameterizedRoute(routeName) {
|
|
28647
|
-
return routeName.includes(":") || routeName.includes("*");
|
|
28648
|
-
}
|
|
28649
|
-
function shouldSkipNavigation(trackedNav, locationKey, proposedName, spanHasEnded) {
|
|
28650
|
-
if (!trackedNav) {
|
|
28651
|
-
return { skip: false, shouldUpdate: false };
|
|
28652
|
-
}
|
|
28653
|
-
const isDuplicate = trackedNav.locationKey === locationKey && (trackedNav.isPlaceholder || !spanHasEnded);
|
|
28654
|
-
if (isDuplicate) {
|
|
28655
|
-
const currentHasWildcard = !!trackedNav.routeName && transactionNameHasWildcard(trackedNav.routeName);
|
|
28656
|
-
const proposedHasWildcard = transactionNameHasWildcard(proposedName);
|
|
28657
|
-
const currentIsParameterized = !!trackedNav.routeName && isParameterizedRoute(trackedNav.routeName);
|
|
28658
|
-
const proposedIsParameterized = isParameterizedRoute(proposedName);
|
|
28659
|
-
const isWildcardUpgrade = currentHasWildcard && !proposedHasWildcard;
|
|
28660
|
-
const isRawToParameterized = !currentIsParameterized && proposedIsParameterized;
|
|
28661
|
-
const isMoreSpecific = proposedName !== trackedNav.routeName && proposedName.length > (trackedNav.routeName?.length || 0) && !proposedHasWildcard;
|
|
28662
|
-
const shouldUpdate = !!(trackedNav.routeName && (isWildcardUpgrade || isRawToParameterized || isMoreSpecific));
|
|
28663
|
-
return { skip: true, shouldUpdate };
|
|
28664
|
-
}
|
|
28665
|
-
return { skip: false, shouldUpdate: false };
|
|
28666
|
-
}
|
|
28667
|
-
function addResolvedRoutesToParent(resolvedRoutes, parentRoute) {
|
|
28668
|
-
const existingChildren = parentRoute.children || [];
|
|
28669
|
-
const newRoutes = resolvedRoutes.filter((newRoute) => !existingChildren.some((existing) => existing === newRoute || newRoute.path && existing.path === newRoute.path || newRoute.id && existing.id === newRoute.id));
|
|
28670
|
-
if (newRoutes.length > 0) {
|
|
28671
|
-
parentRoute.children = [...existingChildren, ...newRoutes];
|
|
28672
|
-
}
|
|
28673
|
-
}
|
|
28674
|
-
function trackLazyRouteLoad(span, promise) {
|
|
28675
|
-
let promises = pendingLazyRouteLoads.get(span);
|
|
28676
|
-
if (!promises) {
|
|
28677
|
-
promises = new Set;
|
|
28678
|
-
pendingLazyRouteLoads.set(span, promises);
|
|
28679
|
-
}
|
|
28680
|
-
promises.add(promise);
|
|
28681
|
-
promise.finally(() => {
|
|
28682
|
-
const currentPromises = pendingLazyRouteLoads.get(span);
|
|
28683
|
-
if (currentPromises) {
|
|
28684
|
-
currentPromises.delete(promise);
|
|
28685
|
-
}
|
|
28686
|
-
});
|
|
28687
|
-
}
|
|
28688
|
-
function createDeferredLazyRoutePromise(span) {
|
|
28689
|
-
const deferredPromise = new Promise((resolve3) => {
|
|
28690
|
-
deferredLazyRouteResolvers.set(span, resolve3);
|
|
28691
|
-
});
|
|
28692
|
-
trackLazyRouteLoad(span, deferredPromise);
|
|
28693
|
-
}
|
|
28694
|
-
function resolveDeferredLazyRoutePromise(span) {
|
|
28695
|
-
const resolver = deferredLazyRouteResolvers.get(span);
|
|
28696
|
-
if (resolver) {
|
|
28697
|
-
resolver();
|
|
28698
|
-
deferredLazyRouteResolvers.delete(span);
|
|
28699
|
-
if (span.__sentry_may_have_lazy_routes__) {
|
|
28700
|
-
span.__sentry_may_have_lazy_routes__ = false;
|
|
28701
|
-
}
|
|
28702
|
-
}
|
|
28703
|
-
}
|
|
28704
|
-
function processResolvedRoutes(resolvedRoutes, parentRoute, currentLocation = null, capturedSpan) {
|
|
28705
|
-
resolvedRoutes.forEach((child) => {
|
|
28706
|
-
allRoutes.add(child);
|
|
28707
|
-
if (_enableAsyncRouteHandlers) {
|
|
28708
|
-
checkRouteForAsyncHandler(child, processResolvedRoutes);
|
|
28709
|
-
}
|
|
28710
|
-
});
|
|
28711
|
-
if (parentRoute) {
|
|
28712
|
-
addResolvedRoutesToParent(resolvedRoutes, parentRoute);
|
|
28713
|
-
}
|
|
28714
|
-
const targetSpan = capturedSpan ?? getActiveRootSpan2();
|
|
28715
|
-
if (targetSpan) {
|
|
28716
|
-
const spanJson = spanToJSON(targetSpan);
|
|
28717
|
-
if (spanJson.timestamp) {
|
|
28718
|
-
DEBUG_BUILD6 && debug.warn("[React Router] Lazy handler resolved after span ended - skipping update");
|
|
28719
|
-
return;
|
|
28720
|
-
}
|
|
28721
|
-
const spanOp = spanJson.op;
|
|
28722
|
-
let location = currentLocation;
|
|
28723
|
-
if (!location && !capturedSpan) {
|
|
28724
|
-
if (typeof WINDOW4 !== "undefined") {
|
|
28725
|
-
const globalLocation = WINDOW4.location;
|
|
28726
|
-
if (globalLocation?.pathname) {
|
|
28727
|
-
location = { pathname: globalLocation.pathname };
|
|
28728
|
-
}
|
|
28729
|
-
}
|
|
28730
|
-
}
|
|
28731
|
-
if (location) {
|
|
28732
|
-
if (spanOp === "pageload") {
|
|
28733
|
-
updatePageloadTransaction({
|
|
28734
|
-
activeRootSpan: targetSpan,
|
|
28735
|
-
location: { pathname: location.pathname },
|
|
28736
|
-
routes: Array.from(allRoutes),
|
|
28737
|
-
allRoutes: Array.from(allRoutes)
|
|
28738
|
-
});
|
|
28739
|
-
} else if (spanOp === "navigation") {
|
|
28740
|
-
updateNavigationSpan(targetSpan, location, Array.from(allRoutes), false, _matchRoutes2);
|
|
28741
|
-
}
|
|
28742
|
-
}
|
|
28743
|
-
}
|
|
28744
|
-
}
|
|
28745
|
-
function updateNavigationSpan(activeRootSpan, location, allRoutes2, forceUpdate = false, matchRoutes2) {
|
|
28746
|
-
const spanJson = spanToJSON(activeRootSpan);
|
|
28747
|
-
const currentName = spanJson.description;
|
|
28748
|
-
const hasBeenNamed = activeRootSpan?.__sentry_navigation_name_set__;
|
|
28749
|
-
const currentNameHasWildcard = currentName && transactionNameHasWildcard(currentName);
|
|
28750
|
-
const shouldUpdate = !hasBeenNamed || forceUpdate || currentNameHasWildcard;
|
|
28751
|
-
if (shouldUpdate && !spanJson.timestamp) {
|
|
28752
|
-
const currentBranches = matchRoutes2(allRoutes2, location);
|
|
28753
|
-
const [name, source] = resolveRouteNameAndSource(location, allRoutes2, allRoutes2, currentBranches || [], _basename, _lazyRouteManifest, _enableAsyncRouteHandlers);
|
|
28754
|
-
const currentSource = spanJson.data?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];
|
|
28755
|
-
const isImprovement = name && (!currentName || !hasBeenNamed && (currentSource !== "route" || source === "route") || currentSource !== "route" && source === "route" || currentSource === "route" && source === "route" && currentNameHasWildcard);
|
|
28756
|
-
if (isImprovement) {
|
|
28757
|
-
activeRootSpan.updateName(name);
|
|
28758
|
-
activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);
|
|
28759
|
-
if (!transactionNameHasWildcard(name) && source === "route") {
|
|
28760
|
-
addNonEnumerableProperty(activeRootSpan, "__sentry_navigation_name_set__", true);
|
|
28761
|
-
}
|
|
28762
|
-
}
|
|
28763
|
-
}
|
|
28764
|
-
}
|
|
28765
|
-
function setupRouterSubscription(router, routes, version3, basename3, activeRootSpan) {
|
|
28766
|
-
let isInitialPageloadComplete = false;
|
|
28767
|
-
let hasSeenPageloadSpan = !!activeRootSpan && spanToJSON(activeRootSpan).op === "pageload";
|
|
28768
|
-
let hasSeenPopAfterPageload = false;
|
|
28769
|
-
let scheduledNavigationHandler = null;
|
|
28770
|
-
let lastHandledPathname = null;
|
|
28771
|
-
router.subscribe((state) => {
|
|
28772
|
-
if (!isInitialPageloadComplete) {
|
|
28773
|
-
const currentRootSpan = getActiveRootSpan2();
|
|
28774
|
-
const isCurrentlyInPageload = currentRootSpan && spanToJSON(currentRootSpan).op === "pageload";
|
|
28775
|
-
if (isCurrentlyInPageload) {
|
|
28776
|
-
hasSeenPageloadSpan = true;
|
|
28777
|
-
} else if (hasSeenPageloadSpan) {
|
|
28778
|
-
if (state.historyAction === "POP" && !hasSeenPopAfterPageload) {
|
|
28779
|
-
hasSeenPopAfterPageload = true;
|
|
28780
|
-
} else {
|
|
28781
|
-
isInitialPageloadComplete = true;
|
|
28782
|
-
}
|
|
28783
|
-
}
|
|
28784
|
-
}
|
|
28785
|
-
const shouldHandleNavigation = state.historyAction === "PUSH" || state.historyAction === "POP" && isInitialPageloadComplete;
|
|
28786
|
-
if (shouldHandleNavigation) {
|
|
28787
|
-
const currentLocationKey = computeLocationKey(state.location);
|
|
28788
|
-
const navigationHandler = () => {
|
|
28789
|
-
if (lastHandledPathname === currentLocationKey) {
|
|
28790
|
-
return;
|
|
28791
|
-
}
|
|
28792
|
-
lastHandledPathname = currentLocationKey;
|
|
28793
|
-
scheduledNavigationHandler = null;
|
|
28794
|
-
handleNavigation({
|
|
28795
|
-
location: state.location,
|
|
28796
|
-
routes,
|
|
28797
|
-
navigationType: state.historyAction,
|
|
28798
|
-
version: version3,
|
|
28799
|
-
basename: basename3,
|
|
28800
|
-
allRoutes: Array.from(allRoutes)
|
|
28801
|
-
});
|
|
28802
|
-
};
|
|
28803
|
-
if (state.navigation.state !== "idle") {
|
|
28804
|
-
if (lastHandledPathname !== currentLocationKey) {
|
|
28805
|
-
lastHandledPathname = null;
|
|
28806
|
-
}
|
|
28807
|
-
if (scheduledNavigationHandler !== null) {
|
|
28808
|
-
cancelScheduledCallback(scheduledNavigationHandler);
|
|
28809
|
-
}
|
|
28810
|
-
scheduledNavigationHandler = scheduleCallback(navigationHandler);
|
|
28811
|
-
} else {
|
|
28812
|
-
if (scheduledNavigationHandler !== null) {
|
|
28813
|
-
cancelScheduledCallback(scheduledNavigationHandler);
|
|
28814
|
-
scheduledNavigationHandler = null;
|
|
28815
|
-
}
|
|
28816
|
-
navigationHandler();
|
|
28817
|
-
}
|
|
28818
|
-
}
|
|
28819
|
-
});
|
|
28820
|
-
}
|
|
28821
|
-
function createV6CompatibleWrapCreateBrowserRouter(createRouterFunction, version3) {
|
|
28822
|
-
if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes2) {
|
|
28823
|
-
DEBUG_BUILD6 && debug.warn(`reactRouterV${version3}Instrumentation was unable to wrap the \`createRouter\` function because of one or more missing parameters.`);
|
|
28824
|
-
return createRouterFunction;
|
|
28825
|
-
}
|
|
28826
|
-
return function(routes, opts) {
|
|
28827
|
-
addRoutesToAllRoutes(routes);
|
|
28828
|
-
if (_enableAsyncRouteHandlers) {
|
|
28829
|
-
for (const route of routes) {
|
|
28830
|
-
checkRouteForAsyncHandler(route, processResolvedRoutes);
|
|
28831
|
-
}
|
|
28832
|
-
}
|
|
28833
|
-
const activeRootSpan = getActiveRootSpan2();
|
|
28834
|
-
const hasPatchRoutesOnNavigation = opts && "patchRoutesOnNavigation" in opts && typeof opts.patchRoutesOnNavigation === "function";
|
|
28835
|
-
if (hasPatchRoutesOnNavigation && activeRootSpan) {
|
|
28836
|
-
addNonEnumerableProperty(activeRootSpan, "__sentry_may_have_lazy_routes__", true);
|
|
28837
|
-
createDeferredLazyRoutePromise(activeRootSpan);
|
|
28838
|
-
}
|
|
28839
|
-
const wrappedOpts = wrapPatchRoutesOnNavigation(opts, false, activeRootSpan);
|
|
28840
|
-
const router = createRouterFunction(routes, wrappedOpts);
|
|
28841
|
-
const basename3 = opts?.basename;
|
|
28842
|
-
if (router.state.historyAction === "POP" && activeRootSpan) {
|
|
28843
|
-
updatePageloadTransaction({
|
|
28844
|
-
activeRootSpan,
|
|
28845
|
-
location: router.state.location,
|
|
28846
|
-
routes,
|
|
28847
|
-
basename: basename3,
|
|
28848
|
-
allRoutes: Array.from(allRoutes)
|
|
28849
|
-
});
|
|
28850
|
-
}
|
|
28851
|
-
_basename = basename3 || "";
|
|
28852
|
-
setupRouterSubscription(router, routes, version3, basename3, activeRootSpan);
|
|
28853
|
-
return router;
|
|
28854
|
-
};
|
|
28855
|
-
}
|
|
28856
|
-
function createV6CompatibleWrapCreateMemoryRouter(createRouterFunction, version3) {
|
|
28857
|
-
if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes2) {
|
|
28858
|
-
DEBUG_BUILD6 && debug.warn(`reactRouterV${version3}Instrumentation was unable to wrap the \`createMemoryRouter\` function because of one or more missing parameters.`);
|
|
28859
|
-
return createRouterFunction;
|
|
28860
|
-
}
|
|
28861
|
-
return function(routes, opts) {
|
|
28862
|
-
addRoutesToAllRoutes(routes);
|
|
28863
|
-
if (_enableAsyncRouteHandlers) {
|
|
28864
|
-
for (const route of routes) {
|
|
28865
|
-
checkRouteForAsyncHandler(route, processResolvedRoutes);
|
|
28866
|
-
}
|
|
28867
|
-
}
|
|
28868
|
-
const memoryActiveRootSpanEarly = getActiveRootSpan2();
|
|
28869
|
-
const hasPatchRoutesOnNavigation = opts && "patchRoutesOnNavigation" in opts && typeof opts.patchRoutesOnNavigation === "function";
|
|
28870
|
-
if (hasPatchRoutesOnNavigation && memoryActiveRootSpanEarly) {
|
|
28871
|
-
addNonEnumerableProperty(memoryActiveRootSpanEarly, "__sentry_may_have_lazy_routes__", true);
|
|
28872
|
-
createDeferredLazyRoutePromise(memoryActiveRootSpanEarly);
|
|
28873
|
-
}
|
|
28874
|
-
const wrappedOpts = wrapPatchRoutesOnNavigation(opts, true, memoryActiveRootSpanEarly);
|
|
28875
|
-
const router = createRouterFunction(routes, wrappedOpts);
|
|
28876
|
-
const basename3 = opts?.basename;
|
|
28877
|
-
let initialEntry = undefined;
|
|
28878
|
-
const initialEntries = opts?.initialEntries;
|
|
28879
|
-
const initialIndex = opts?.initialIndex;
|
|
28880
|
-
const hasOnlyOneInitialEntry = initialEntries && initialEntries.length === 1;
|
|
28881
|
-
const hasIndexedEntry = initialIndex !== undefined && initialEntries && initialEntries[initialIndex];
|
|
28882
|
-
initialEntry = hasOnlyOneInitialEntry ? initialEntries[0] : hasIndexedEntry ? initialEntries[initialIndex] : undefined;
|
|
28883
|
-
const location = initialEntry ? typeof initialEntry === "string" ? { pathname: initialEntry } : initialEntry : router.state.location;
|
|
28884
|
-
const memoryActiveRootSpan = getActiveRootSpan2();
|
|
28885
|
-
if (router.state.historyAction === "POP" && memoryActiveRootSpan) {
|
|
28886
|
-
updatePageloadTransaction({
|
|
28887
|
-
activeRootSpan: memoryActiveRootSpan,
|
|
28888
|
-
location,
|
|
28889
|
-
routes,
|
|
28890
|
-
basename: basename3,
|
|
28891
|
-
allRoutes: Array.from(allRoutes)
|
|
28892
|
-
});
|
|
28893
|
-
}
|
|
28894
|
-
_basename = basename3 || "";
|
|
28895
|
-
setupRouterSubscription(router, routes, version3, basename3, memoryActiveRootSpan);
|
|
28896
|
-
return router;
|
|
28897
|
-
};
|
|
28898
|
-
}
|
|
28899
|
-
function createReactRouterV6CompatibleTracingIntegration(options, version3) {
|
|
28900
|
-
const integration = browserTracingIntegration({ ...options, instrumentPageLoad: false, instrumentNavigation: false });
|
|
28901
|
-
const {
|
|
28902
|
-
useEffect: useEffect2,
|
|
28903
|
-
useLocation,
|
|
28904
|
-
useNavigationType,
|
|
28905
|
-
createRoutesFromChildren,
|
|
28906
|
-
matchRoutes: matchRoutes2,
|
|
28907
|
-
stripBasename,
|
|
28908
|
-
enableAsyncRouteHandlers = false,
|
|
28909
|
-
instrumentPageLoad = true,
|
|
28910
|
-
instrumentNavigation = true,
|
|
28911
|
-
lazyRouteTimeout,
|
|
28912
|
-
lazyRouteManifest
|
|
28913
|
-
} = options;
|
|
28914
|
-
return {
|
|
28915
|
-
...integration,
|
|
28916
|
-
setup(client) {
|
|
28917
|
-
integration.setup(client);
|
|
28918
|
-
const finalTimeout = options.finalTimeout ?? 30000;
|
|
28919
|
-
const defaultMaxWait = (options.idleTimeout ?? 1000) * 3;
|
|
28920
|
-
const configuredMaxWait = lazyRouteTimeout ?? defaultMaxWait;
|
|
28921
|
-
if (configuredMaxWait === Infinity) {
|
|
28922
|
-
_lazyRouteTimeout = finalTimeout;
|
|
28923
|
-
DEBUG_BUILD6 && debug.log("[React Router] lazyRouteTimeout set to Infinity, capping at finalTimeout:", finalTimeout, "ms to prevent indefinite hangs");
|
|
28924
|
-
} else if (Number.isNaN(configuredMaxWait)) {
|
|
28925
|
-
DEBUG_BUILD6 && debug.warn("[React Router] lazyRouteTimeout must be a number, falling back to default:", defaultMaxWait);
|
|
28926
|
-
_lazyRouteTimeout = defaultMaxWait;
|
|
28927
|
-
} else if (configuredMaxWait < 0) {
|
|
28928
|
-
DEBUG_BUILD6 && debug.warn("[React Router] lazyRouteTimeout must be non-negative or Infinity, got:", configuredMaxWait, "falling back to:", defaultMaxWait);
|
|
28929
|
-
_lazyRouteTimeout = defaultMaxWait;
|
|
28930
|
-
} else {
|
|
28931
|
-
_lazyRouteTimeout = configuredMaxWait;
|
|
28932
|
-
}
|
|
28933
|
-
_useEffect = useEffect2;
|
|
28934
|
-
_useLocation = useLocation;
|
|
28935
|
-
_useNavigationType = useNavigationType;
|
|
28936
|
-
_matchRoutes2 = matchRoutes2;
|
|
28937
|
-
_createRoutesFromChildren = createRoutesFromChildren;
|
|
28938
|
-
_enableAsyncRouteHandlers = enableAsyncRouteHandlers;
|
|
28939
|
-
_lazyRouteManifest = lazyRouteManifest;
|
|
28940
|
-
initializeRouterUtils(matchRoutes2, stripBasename || false);
|
|
28941
|
-
},
|
|
28942
|
-
afterAllSetup(client) {
|
|
28943
|
-
integration.afterAllSetup(client);
|
|
28944
|
-
const initPathName = WINDOW4.location?.pathname;
|
|
28945
|
-
if (instrumentPageLoad && initPathName) {
|
|
28946
|
-
startBrowserTracingPageLoadSpan(client, {
|
|
28947
|
-
name: initPathName,
|
|
28948
|
-
attributes: {
|
|
28949
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: "url",
|
|
28950
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "pageload",
|
|
28951
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.pageload.react.reactrouter_v${version3}`
|
|
28952
|
-
}
|
|
28953
|
-
});
|
|
28954
|
-
}
|
|
28955
|
-
if (instrumentNavigation) {
|
|
28956
|
-
CLIENTS_WITH_INSTRUMENT_NAVIGATION.add(client);
|
|
28957
|
-
}
|
|
28958
|
-
}
|
|
28959
|
-
};
|
|
28960
|
-
}
|
|
28961
|
-
function createV6CompatibleWrapUseRoutes(origUseRoutes, version3) {
|
|
28962
|
-
if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes2) {
|
|
28963
|
-
DEBUG_BUILD6 && debug.warn("reactRouterV6Instrumentation was unable to wrap `useRoutes` because of one or more missing parameters.");
|
|
28964
|
-
return origUseRoutes;
|
|
28965
|
-
}
|
|
28966
|
-
const SentryRoutes = (props) => {
|
|
28967
|
-
const isMountRenderPass = React4.useRef(true);
|
|
28968
|
-
const { routes, locationArg } = props;
|
|
28969
|
-
const Routes = origUseRoutes(routes, locationArg);
|
|
28970
|
-
const location = _useLocation();
|
|
28971
|
-
const navigationType = _useNavigationType();
|
|
28972
|
-
const stableLocationParam = typeof locationArg === "string" || locationArg?.pathname ? locationArg : location;
|
|
28973
|
-
_useEffect(() => {
|
|
28974
|
-
const normalizedLocation = typeof stableLocationParam === "string" ? { pathname: stableLocationParam } : stableLocationParam;
|
|
28975
|
-
if (isMountRenderPass.current) {
|
|
28976
|
-
addRoutesToAllRoutes(routes);
|
|
28977
|
-
updatePageloadTransaction({
|
|
28978
|
-
activeRootSpan: getActiveRootSpan2(),
|
|
28979
|
-
location: normalizedLocation,
|
|
28980
|
-
routes,
|
|
28981
|
-
allRoutes: Array.from(allRoutes)
|
|
28982
|
-
});
|
|
28983
|
-
isMountRenderPass.current = false;
|
|
28984
|
-
} else {
|
|
28985
|
-
handleNavigation({
|
|
28986
|
-
location: normalizedLocation,
|
|
28987
|
-
routes,
|
|
28988
|
-
navigationType,
|
|
28989
|
-
version: version3,
|
|
28990
|
-
allRoutes: Array.from(allRoutes)
|
|
28991
|
-
});
|
|
28992
|
-
}
|
|
28993
|
-
}, [navigationType, stableLocationParam]);
|
|
28994
|
-
return Routes;
|
|
28995
|
-
};
|
|
28996
|
-
return (routes, locationArg) => {
|
|
28997
|
-
return React4.createElement(SentryRoutes, { routes, locationArg });
|
|
28998
|
-
};
|
|
28999
|
-
}
|
|
29000
|
-
function wrapPatchRoutesOnNavigation(opts, isMemoryRouter = false, capturedSpan) {
|
|
29001
|
-
if (!opts || !("patchRoutesOnNavigation" in opts) || typeof opts.patchRoutesOnNavigation !== "function") {
|
|
29002
|
-
return opts || {};
|
|
29003
|
-
}
|
|
29004
|
-
const originalPatchRoutes = opts.patchRoutesOnNavigation;
|
|
29005
|
-
return {
|
|
29006
|
-
...opts,
|
|
29007
|
-
patchRoutesOnNavigation: async (args) => {
|
|
29008
|
-
const targetPath = args?.path;
|
|
29009
|
-
const activeRootSpan = getActiveRootSpan2() ?? capturedSpan;
|
|
29010
|
-
if (!isMemoryRouter) {
|
|
29011
|
-
const originalPatch = args?.patch;
|
|
29012
|
-
const matches = args?.matches;
|
|
29013
|
-
if (originalPatch) {
|
|
29014
|
-
args.patch = (routeId, children) => {
|
|
29015
|
-
addRoutesToAllRoutes(children);
|
|
29016
|
-
if (matches && matches.length > 0) {
|
|
29017
|
-
const leafMatch = matches[matches.length - 1];
|
|
29018
|
-
const leafRoute = leafMatch?.route;
|
|
29019
|
-
if (leafRoute) {
|
|
29020
|
-
const matchingRoute = Array.from(allRoutes).find((route) => {
|
|
29021
|
-
const idMatches = route.id !== undefined && route.id === routeId;
|
|
29022
|
-
const referenceMatches = route === leafRoute;
|
|
29023
|
-
const pathMatches = route.path !== undefined && leafRoute.path !== undefined && route.path === leafRoute.path;
|
|
29024
|
-
return idMatches || referenceMatches || pathMatches;
|
|
29025
|
-
});
|
|
29026
|
-
if (matchingRoute) {
|
|
29027
|
-
addResolvedRoutesToParent(children, matchingRoute);
|
|
29028
|
-
}
|
|
29029
|
-
}
|
|
29030
|
-
}
|
|
29031
|
-
const spanJson = activeRootSpan ? spanToJSON(activeRootSpan) : undefined;
|
|
29032
|
-
if (targetPath && activeRootSpan && spanJson && !spanJson.timestamp && spanJson.op === "navigation") {
|
|
29033
|
-
updateNavigationSpan(activeRootSpan, { pathname: targetPath, search: "", hash: "", state: null, key: "default" }, Array.from(allRoutes), true, _matchRoutes2);
|
|
29034
|
-
}
|
|
29035
|
-
return originalPatch(routeId, children);
|
|
29036
|
-
};
|
|
29037
|
-
}
|
|
29038
|
-
}
|
|
29039
|
-
const lazyLoadPromise = (async () => {
|
|
29040
|
-
const contextToken = setNavigationContext(targetPath, activeRootSpan);
|
|
29041
|
-
let result;
|
|
29042
|
-
try {
|
|
29043
|
-
result = await originalPatchRoutes(args);
|
|
29044
|
-
} finally {
|
|
29045
|
-
clearNavigationContext(contextToken);
|
|
29046
|
-
if (activeRootSpan) {
|
|
29047
|
-
resolveDeferredLazyRoutePromise(activeRootSpan);
|
|
29048
|
-
}
|
|
29049
|
-
}
|
|
29050
|
-
const spanJson = activeRootSpan ? spanToJSON(activeRootSpan) : undefined;
|
|
29051
|
-
if (activeRootSpan && spanJson && !spanJson.timestamp && spanJson.op === "navigation") {
|
|
29052
|
-
const pathname = targetPath;
|
|
29053
|
-
if (pathname) {
|
|
29054
|
-
updateNavigationSpan(activeRootSpan, { pathname, search: "", hash: "", state: null, key: "default" }, Array.from(allRoutes), false, _matchRoutes2);
|
|
29055
|
-
}
|
|
29056
|
-
}
|
|
29057
|
-
return result;
|
|
29058
|
-
})();
|
|
29059
|
-
if (activeRootSpan) {
|
|
29060
|
-
trackLazyRouteLoad(activeRootSpan, lazyLoadPromise);
|
|
29061
|
-
}
|
|
29062
|
-
return lazyLoadPromise;
|
|
29063
|
-
}
|
|
29064
|
-
};
|
|
29065
|
-
}
|
|
29066
|
-
function handleNavigation(opts) {
|
|
29067
|
-
const { location, routes, navigationType, version: version3, matches, basename: basename3, allRoutes: allRoutes2 } = opts;
|
|
29068
|
-
const branches = Array.isArray(matches) ? matches : _matchRoutes2(allRoutes2 || routes, location, basename3);
|
|
29069
|
-
const client = getClient();
|
|
29070
|
-
if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.has(client)) {
|
|
29071
|
-
return;
|
|
29072
|
-
}
|
|
29073
|
-
const activeRootSpan = getActiveRootSpan2();
|
|
29074
|
-
if (activeRootSpan && spanToJSON(activeRootSpan).op === "pageload" && navigationType === "POP") {
|
|
29075
|
-
return;
|
|
29076
|
-
}
|
|
29077
|
-
if ((navigationType === "PUSH" || navigationType === "POP") && branches) {
|
|
29078
|
-
const [name, source] = resolveRouteNameAndSource(location, allRoutes2 || routes, allRoutes2 || routes, branches, basename3, _lazyRouteManifest, _enableAsyncRouteHandlers);
|
|
29079
|
-
const locationKey = computeLocationKey(location);
|
|
29080
|
-
const trackedNav = activeNavigationSpans.get(client);
|
|
29081
|
-
const trackedSpanHasEnded = trackedNav && !trackedNav.isPlaceholder ? !!spanToJSON(trackedNav.span).timestamp : false;
|
|
29082
|
-
const { skip, shouldUpdate } = shouldSkipNavigation(trackedNav, locationKey, name, trackedSpanHasEnded);
|
|
29083
|
-
if (skip) {
|
|
29084
|
-
if (shouldUpdate && trackedNav) {
|
|
29085
|
-
const oldName = trackedNav.routeName;
|
|
29086
|
-
if (trackedNav.isPlaceholder) {
|
|
29087
|
-
trackedNav.routeName = name;
|
|
29088
|
-
DEBUG_BUILD6 && debug.log(`[Tracing] Updated placeholder navigation name from "${oldName}" to "${name}" (will apply to real span)`);
|
|
29089
|
-
} else {
|
|
29090
|
-
trackedNav.span.updateName(name);
|
|
29091
|
-
trackedNav.span.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);
|
|
29092
|
-
addNonEnumerableProperty(trackedNav.span, "__sentry_navigation_name_set__", true);
|
|
29093
|
-
trackedNav.routeName = name;
|
|
29094
|
-
DEBUG_BUILD6 && debug.log(`[Tracing] Updated navigation span name from "${oldName}" to "${name}"`);
|
|
29095
|
-
}
|
|
29096
|
-
} else {
|
|
29097
|
-
DEBUG_BUILD6 && debug.log(`[Tracing] Skipping duplicate navigation for location: ${locationKey}`);
|
|
29098
|
-
}
|
|
29099
|
-
return;
|
|
29100
|
-
}
|
|
29101
|
-
const placeholderSpan = { end: () => {} };
|
|
29102
|
-
const placeholderEntry = {
|
|
29103
|
-
span: placeholderSpan,
|
|
29104
|
-
routeName: name,
|
|
29105
|
-
pathname: location.pathname,
|
|
29106
|
-
locationKey,
|
|
29107
|
-
isPlaceholder: true
|
|
29108
|
-
};
|
|
29109
|
-
activeNavigationSpans.set(client, placeholderEntry);
|
|
29110
|
-
let navigationSpan;
|
|
29111
|
-
try {
|
|
29112
|
-
navigationSpan = startBrowserTracingNavigationSpan(client, {
|
|
29113
|
-
name: placeholderEntry.routeName,
|
|
29114
|
-
attributes: {
|
|
29115
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source,
|
|
29116
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "navigation",
|
|
29117
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.navigation.react.reactrouter_v${version3}`
|
|
29118
|
-
}
|
|
29119
|
-
});
|
|
29120
|
-
} catch (e3) {
|
|
29121
|
-
activeNavigationSpans.delete(client);
|
|
29122
|
-
throw e3;
|
|
29123
|
-
}
|
|
29124
|
-
if (navigationSpan) {
|
|
29125
|
-
activeNavigationSpans.set(client, {
|
|
29126
|
-
span: navigationSpan,
|
|
29127
|
-
routeName: placeholderEntry.routeName,
|
|
29128
|
-
pathname: location.pathname,
|
|
29129
|
-
locationKey
|
|
29130
|
-
});
|
|
29131
|
-
patchSpanEnd(navigationSpan, location, routes, basename3, "navigation");
|
|
29132
|
-
} else {
|
|
29133
|
-
activeNavigationSpans.delete(client);
|
|
29134
|
-
}
|
|
29135
|
-
}
|
|
29136
|
-
}
|
|
29137
|
-
function addRoutesToAllRoutes(routes) {
|
|
29138
|
-
routes.forEach((route) => {
|
|
29139
|
-
const extractedChildRoutes = getChildRoutesRecursively(route);
|
|
29140
|
-
extractedChildRoutes.forEach((r3) => {
|
|
29141
|
-
allRoutes.add(r3);
|
|
29142
|
-
});
|
|
29143
|
-
});
|
|
29144
|
-
}
|
|
29145
|
-
function getChildRoutesRecursively(route, allRoutes2 = new Set) {
|
|
29146
|
-
if (!allRoutes2.has(route)) {
|
|
29147
|
-
allRoutes2.add(route);
|
|
29148
|
-
if (route.children && !route.index) {
|
|
29149
|
-
route.children.forEach((child) => {
|
|
29150
|
-
const childRoutes = getChildRoutesRecursively(child, allRoutes2);
|
|
29151
|
-
childRoutes.forEach((r3) => {
|
|
29152
|
-
allRoutes2.add(r3);
|
|
29153
|
-
});
|
|
29154
|
-
});
|
|
29155
|
-
}
|
|
29156
|
-
}
|
|
29157
|
-
return allRoutes2;
|
|
29158
|
-
}
|
|
29159
|
-
function updatePageloadTransaction({
|
|
29160
|
-
activeRootSpan,
|
|
29161
|
-
location,
|
|
29162
|
-
routes,
|
|
29163
|
-
matches,
|
|
29164
|
-
basename: basename3,
|
|
29165
|
-
allRoutes: allRoutes2
|
|
29166
|
-
}) {
|
|
29167
|
-
const branches = Array.isArray(matches) ? matches : _matchRoutes2(allRoutes2 || routes, location, basename3);
|
|
29168
|
-
if (branches) {
|
|
29169
|
-
const [name, source] = resolveRouteNameAndSource(location, allRoutes2 || routes, allRoutes2 || routes, branches, basename3, _lazyRouteManifest, _enableAsyncRouteHandlers);
|
|
29170
|
-
getCurrentScope().setTransactionName(name || "/");
|
|
29171
|
-
if (activeRootSpan) {
|
|
29172
|
-
activeRootSpan.updateName(name);
|
|
29173
|
-
activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);
|
|
29174
|
-
patchSpanEnd(activeRootSpan, location, routes, basename3, "pageload");
|
|
29175
|
-
}
|
|
29176
|
-
} else if (activeRootSpan) {
|
|
29177
|
-
patchSpanEnd(activeRootSpan, location, routes, basename3, "pageload");
|
|
29178
|
-
}
|
|
29179
|
-
}
|
|
29180
|
-
function shouldUpdateWildcardSpanName(currentName, currentSource, newName, newSource, allowNoCurrentName = false) {
|
|
29181
|
-
if (!newName) {
|
|
29182
|
-
return false;
|
|
29183
|
-
}
|
|
29184
|
-
if (!currentName && allowNoCurrentName) {
|
|
29185
|
-
return true;
|
|
29186
|
-
}
|
|
29187
|
-
const hasWildcard = currentName && transactionNameHasWildcard(currentName);
|
|
29188
|
-
if (hasWildcard && newSource === "route" && !transactionNameHasWildcard(newName)) {
|
|
29189
|
-
return true;
|
|
29190
|
-
}
|
|
29191
|
-
if (currentSource !== "route" && newSource === "route") {
|
|
29192
|
-
return true;
|
|
29193
|
-
}
|
|
29194
|
-
return false;
|
|
29195
|
-
}
|
|
29196
|
-
function tryUpdateSpanNameBeforeEnd(span, spanJson, currentName, location, routes, basename3, spanType, allRoutes2) {
|
|
29197
|
-
try {
|
|
29198
|
-
const currentSource = spanJson.data?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];
|
|
29199
|
-
if (currentSource === "route" && currentName && !transactionNameHasWildcard(currentName)) {
|
|
29200
|
-
return;
|
|
29201
|
-
}
|
|
29202
|
-
const currentAllRoutes = Array.from(allRoutes2);
|
|
29203
|
-
const routesToUse = currentAllRoutes.length > 0 ? currentAllRoutes : routes;
|
|
29204
|
-
const branches = _matchRoutes2(routesToUse, location, basename3);
|
|
29205
|
-
if (!branches) {
|
|
29206
|
-
return;
|
|
29207
|
-
}
|
|
29208
|
-
const [name, source] = resolveRouteNameAndSource(location, routesToUse, routesToUse, branches, basename3, _lazyRouteManifest, _enableAsyncRouteHandlers);
|
|
29209
|
-
const isImprovement = shouldUpdateWildcardSpanName(currentName, currentSource, name, source, true);
|
|
29210
|
-
const spanNotEnded = spanType === "pageload" || !spanJson.timestamp;
|
|
29211
|
-
if (isImprovement && spanNotEnded) {
|
|
29212
|
-
span.updateName(name);
|
|
29213
|
-
span.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);
|
|
29214
|
-
}
|
|
29215
|
-
} catch (error3) {
|
|
29216
|
-
DEBUG_BUILD6 && debug.warn(`Error updating span details before ending: ${error3}`);
|
|
29217
|
-
}
|
|
29218
|
-
}
|
|
29219
|
-
function patchSpanEnd(span, location, routes, basename3, spanType) {
|
|
29220
|
-
const patchedPropertyName = `__sentry_${spanType}_end_patched__`;
|
|
29221
|
-
const hasEndBeenPatched = span?.[patchedPropertyName];
|
|
29222
|
-
if (hasEndBeenPatched || !span.end) {
|
|
29223
|
-
return;
|
|
29224
|
-
}
|
|
29225
|
-
const originalEnd = span.end.bind(span);
|
|
29226
|
-
let endCalled = false;
|
|
29227
|
-
span.end = function patchedEnd(...args) {
|
|
29228
|
-
if (endCalled) {
|
|
29229
|
-
return;
|
|
29230
|
-
}
|
|
29231
|
-
endCalled = true;
|
|
29232
|
-
const endTimestamp = args.length > 0 ? args[0] : Date.now() / 1000;
|
|
29233
|
-
const spanJson = spanToJSON(span);
|
|
29234
|
-
const currentName = spanJson.description;
|
|
29235
|
-
const currentSource = spanJson.data?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];
|
|
29236
|
-
const cleanupNavigationSpan = () => {
|
|
29237
|
-
const client = getClient();
|
|
29238
|
-
if (client && spanType === "navigation") {
|
|
29239
|
-
const trackedNav = activeNavigationSpans.get(client);
|
|
29240
|
-
if (trackedNav && trackedNav.span === span) {
|
|
29241
|
-
activeNavigationSpans.delete(client);
|
|
29242
|
-
}
|
|
29243
|
-
}
|
|
29244
|
-
};
|
|
29245
|
-
const pendingPromises = pendingLazyRouteLoads.get(span);
|
|
29246
|
-
const mayHaveLazyRoutes = span.__sentry_may_have_lazy_routes__;
|
|
29247
|
-
const hasPendingOrMayHaveLazyRoutes = pendingPromises && pendingPromises.size > 0 || mayHaveLazyRoutes;
|
|
29248
|
-
const shouldWaitForLazyRoutes = hasPendingOrMayHaveLazyRoutes && currentName && (transactionNameHasWildcard(currentName) || currentSource !== "route");
|
|
29249
|
-
if (shouldWaitForLazyRoutes) {
|
|
29250
|
-
if (_lazyRouteTimeout === 0) {
|
|
29251
|
-
tryUpdateSpanNameBeforeEnd(span, spanJson, currentName, location, routes, basename3, spanType, allRoutes);
|
|
29252
|
-
cleanupNavigationSpan();
|
|
29253
|
-
originalEnd(endTimestamp);
|
|
29254
|
-
return;
|
|
29255
|
-
}
|
|
29256
|
-
const timeoutPromise = new Promise((r3) => setTimeout(r3, _lazyRouteTimeout));
|
|
29257
|
-
let waitPromise;
|
|
29258
|
-
if (pendingPromises && pendingPromises.size > 0) {
|
|
29259
|
-
const allSettled = Promise.allSettled(pendingPromises).then(() => {});
|
|
29260
|
-
waitPromise = _lazyRouteTimeout === Infinity ? allSettled : Promise.race([allSettled, timeoutPromise]);
|
|
29261
|
-
} else {
|
|
29262
|
-
waitPromise = timeoutPromise;
|
|
29263
|
-
}
|
|
29264
|
-
waitPromise.then(() => {
|
|
29265
|
-
const updatedSpanJson = spanToJSON(span);
|
|
29266
|
-
tryUpdateSpanNameBeforeEnd(span, updatedSpanJson, updatedSpanJson.description, location, routes, basename3, spanType, allRoutes);
|
|
29267
|
-
cleanupNavigationSpan();
|
|
29268
|
-
originalEnd(endTimestamp);
|
|
29269
|
-
}).catch(() => {
|
|
29270
|
-
cleanupNavigationSpan();
|
|
29271
|
-
originalEnd(endTimestamp);
|
|
29272
|
-
});
|
|
29273
|
-
return;
|
|
29274
|
-
}
|
|
29275
|
-
tryUpdateSpanNameBeforeEnd(span, spanJson, currentName, location, routes, basename3, spanType, allRoutes);
|
|
29276
|
-
cleanupNavigationSpan();
|
|
29277
|
-
originalEnd(endTimestamp);
|
|
29278
|
-
};
|
|
29279
|
-
addNonEnumerableProperty(span, patchedPropertyName, true);
|
|
29280
|
-
}
|
|
29281
|
-
function createV6CompatibleWithSentryReactRouterRouting(Routes, version3) {
|
|
29282
|
-
if (!_useEffect || !_useLocation || !_useNavigationType || !_createRoutesFromChildren || !_matchRoutes2) {
|
|
29283
|
-
DEBUG_BUILD6 && debug.warn(`reactRouterV6Instrumentation was unable to wrap Routes because of one or more missing parameters.
|
|
29284
|
-
useEffect: ${_useEffect}. useLocation: ${_useLocation}. useNavigationType: ${_useNavigationType}.
|
|
29285
|
-
createRoutesFromChildren: ${_createRoutesFromChildren}. matchRoutes: ${_matchRoutes2}.`);
|
|
29286
|
-
return Routes;
|
|
29287
|
-
}
|
|
29288
|
-
const SentryRoutes = (props) => {
|
|
29289
|
-
const isMountRenderPass = React4.useRef(true);
|
|
29290
|
-
const location = _useLocation();
|
|
29291
|
-
const navigationType = _useNavigationType();
|
|
29292
|
-
_useEffect(() => {
|
|
29293
|
-
const routes = _createRoutesFromChildren(props.children);
|
|
29294
|
-
if (isMountRenderPass.current) {
|
|
29295
|
-
addRoutesToAllRoutes(routes);
|
|
29296
|
-
updatePageloadTransaction({
|
|
29297
|
-
activeRootSpan: getActiveRootSpan2(),
|
|
29298
|
-
location,
|
|
29299
|
-
routes,
|
|
29300
|
-
allRoutes: Array.from(allRoutes)
|
|
29301
|
-
});
|
|
29302
|
-
isMountRenderPass.current = false;
|
|
29303
|
-
} else {
|
|
29304
|
-
handleNavigation({ location, routes, navigationType, version: version3, allRoutes: Array.from(allRoutes) });
|
|
29305
|
-
}
|
|
29306
|
-
}, [location, navigationType]);
|
|
29307
|
-
return React4.createElement(Routes, { ...props });
|
|
29308
|
-
};
|
|
29309
|
-
hoistNonReactStatics(SentryRoutes, Routes);
|
|
29310
|
-
return SentryRoutes;
|
|
29311
|
-
}
|
|
29312
|
-
var _useEffect, _useLocation, _useNavigationType, _createRoutesFromChildren, _matchRoutes2, _enableAsyncRouteHandlers = false, _lazyRouteTimeout = 3000, _lazyRouteManifest, _basename = "", CLIENTS_WITH_INSTRUMENT_NAVIGATION, activeNavigationSpans, allRoutes, pendingLazyRouteLoads, deferredLazyRouteResolvers;
|
|
29313
|
-
var init_instrumentation = __esm(() => {
|
|
29314
|
-
init_dev();
|
|
29315
|
-
init_esm();
|
|
29316
|
-
init_debug_build4();
|
|
29317
|
-
init_hoist_non_react_statics();
|
|
29318
|
-
init_lazy_routes();
|
|
29319
|
-
init_utils12();
|
|
29320
|
-
CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet;
|
|
29321
|
-
activeNavigationSpans = new WeakMap;
|
|
29322
|
-
allRoutes = new Set;
|
|
29323
|
-
pendingLazyRouteLoads = new WeakMap;
|
|
29324
|
-
deferredLazyRouteResolvers = new WeakMap;
|
|
29325
|
-
});
|
|
29326
|
-
|
|
29327
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouterv6.js
|
|
29328
|
-
function reactRouterV6BrowserTracingIntegration(options) {
|
|
29329
|
-
return createReactRouterV6CompatibleTracingIntegration(options, "6");
|
|
29330
|
-
}
|
|
29331
|
-
function wrapUseRoutesV6(origUseRoutes) {
|
|
29332
|
-
return createV6CompatibleWrapUseRoutes(origUseRoutes, "6");
|
|
29333
|
-
}
|
|
29334
|
-
function wrapCreateBrowserRouterV6(createRouterFunction) {
|
|
29335
|
-
return createV6CompatibleWrapCreateBrowserRouter(createRouterFunction, "6");
|
|
29336
|
-
}
|
|
29337
|
-
function wrapCreateMemoryRouterV6(createMemoryRouterFunction) {
|
|
29338
|
-
return createV6CompatibleWrapCreateMemoryRouter(createMemoryRouterFunction, "6");
|
|
29339
|
-
}
|
|
29340
|
-
function withSentryReactRouterV6Routing(routes) {
|
|
29341
|
-
return createV6CompatibleWithSentryReactRouterRouting(routes, "6");
|
|
29342
|
-
}
|
|
29343
|
-
var init_reactrouterv6 = __esm(() => {
|
|
29344
|
-
init_instrumentation();
|
|
29345
|
-
});
|
|
29346
|
-
|
|
29347
|
-
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/reactrouterv7.js
|
|
29348
|
-
function reactRouterV7BrowserTracingIntegration(options) {
|
|
29349
|
-
return createReactRouterV6CompatibleTracingIntegration(options, "7");
|
|
29350
|
-
}
|
|
29351
|
-
function withSentryReactRouterV7Routing(routes) {
|
|
29352
|
-
return createV6CompatibleWithSentryReactRouterRouting(routes, "7");
|
|
29353
|
-
}
|
|
29354
|
-
function wrapCreateBrowserRouterV7(createRouterFunction) {
|
|
29355
|
-
return createV6CompatibleWrapCreateBrowserRouter(createRouterFunction, "7");
|
|
29356
|
-
}
|
|
29357
|
-
function wrapCreateMemoryRouterV7(createMemoryRouterFunction) {
|
|
29358
|
-
return createV6CompatibleWrapCreateMemoryRouter(createMemoryRouterFunction, "7");
|
|
29359
|
-
}
|
|
29360
|
-
function wrapUseRoutesV7(origUseRoutes) {
|
|
29361
|
-
return createV6CompatibleWrapUseRoutes(origUseRoutes, "7");
|
|
29362
|
-
}
|
|
29363
|
-
var init_reactrouterv7 = __esm(() => {
|
|
29364
|
-
init_instrumentation();
|
|
29365
|
-
});
|
|
29366
|
-
|
|
29367
27368
|
// ../../node_modules/.pnpm/@sentry+react@10.40.0_react@19.2.4/node_modules/@sentry/react/build/esm/index.js
|
|
29368
27369
|
var exports_esm = {};
|
|
29369
27370
|
__export(exports_esm, {
|
|
@@ -29531,16 +27532,6 @@ __export(exports_esm, {
|
|
|
29531
27532
|
BrowserClient: () => BrowserClient
|
|
29532
27533
|
});
|
|
29533
27534
|
var init_esm6 = __esm(() => {
|
|
29534
|
-
init_sdk3();
|
|
29535
|
-
init_error();
|
|
29536
|
-
init_profiler();
|
|
29537
|
-
init_errorboundary();
|
|
29538
|
-
init_redux();
|
|
29539
|
-
init_reactrouterv3();
|
|
29540
|
-
init_tanstackrouter();
|
|
29541
|
-
init_reactrouter();
|
|
29542
|
-
init_reactrouterv6();
|
|
29543
|
-
init_reactrouterv7();
|
|
29544
27535
|
init_dev();
|
|
29545
27536
|
});
|
|
29546
27537
|
|
|
@@ -29576,7 +27567,7 @@ import {
|
|
|
29576
27567
|
ToastContainer as BaseToastContainer,
|
|
29577
27568
|
toast as baseToast
|
|
29578
27569
|
} from "@powerhousedao/design-system/connect";
|
|
29579
|
-
import { createElement
|
|
27570
|
+
import { createElement } from "react";
|
|
29580
27571
|
function toast(content, options) {
|
|
29581
27572
|
const {
|
|
29582
27573
|
type = "default",
|
|
@@ -29585,7 +27576,7 @@ function toast(content, options) {
|
|
|
29585
27576
|
} = options || {};
|
|
29586
27577
|
return baseToast(content, { type, containerId, ...restOptions });
|
|
29587
27578
|
}
|
|
29588
|
-
var CONNECT_TOAST_CONTAINER_ID = "connect", ToastContainer = () =>
|
|
27579
|
+
var CONNECT_TOAST_CONTAINER_ID = "connect", ToastContainer = () => createElement(BaseToastContainer, {
|
|
29589
27580
|
containerId: CONNECT_TOAST_CONTAINER_ID
|
|
29590
27581
|
});
|
|
29591
27582
|
var init_toast = () => {};
|