/* Metro module 1168; source: unknown; dependencies: [27, 826, 1130, 1169, 1166] */ import * as ReactNativeModule from './module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as Module00826Module from './module-00826.js'; /* Metro dependency 826 */ import * as SPAN_ORIGIN_Module from './module-01166-SPAN_ORIGIN_.js'; /* Metro dependency 1166 */ function _fun12953(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#12953, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:6, offset: 0x00ddbe5f, size: 264 bytes, params: 8, frame: 21 const env0_0 = require; const getDefaultIdleNavigationSpanOptions2 = getDefaultIdleNavigationSpanOptions; const isSentryInteractionSpan2 = isSentryInteractionSpan; const clearActiveSpanFromScope2 = clearActiveSpanFromScope; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const startIdleSpan_129572 = startIdleSpan_12957; exports.DEFAULT_NAVIGATION_SPAN_NAME = 'Route Change'; exports.defaultIdleOptions = {'idleTimeout': 1000, 'finalTimeout': 600000}; exports.startIdleNavigationSpan = startIdleNavigationSpan; exports.startIdleSpan = startIdleSpan_129572; exports.getDefaultIdleNavigationSpanOptions = getDefaultIdleNavigationSpanOptions2; exports.isSentryInteractionSpan = isSentryInteractionSpan2; exports.SCOPE_SPAN_FIELD = '_sentrySpan'; exports.clearActiveSpanFromScope = clearActiveSpanFromScope2; exports.addDefaultOpForSpanFrom = function(a0) { a0.on('spanStart', _fun12960); }; exports.SPAN_THREAD_NAME = 'thread.name'; exports.SPAN_THREAD_NAME_MAIN = 'main'; exports.SPAN_THREAD_NAME_JAVASCRIPT = 'javascript'; exports.addThreadInfoToSpan = function(a0) { a0.on('spanStart', _fun12962); }; exports.setMainThreadInfo = function(a0) { a0.data = a0.data || ({}); a0.data['thread.name'] = 'main'; return a0; }; function getDefaultIdleNavigationSpanOptions() { // fn#12954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:774, offset: 0x00ddbf67, size: 66 bytes, params: 1, frame: 12 const object = {'name': null, 'op': 'navigation', 'forceTransaction': true}; object.name = env0_3; object.scope = (require(826) /* metro dependency 826 */).getCurrentScope(); return object; } function isSentryInteractionSpan(a0) { // fn#12955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:904, offset: 0x00ddbfa9, size: 109 bytes, params: 2, frame: 14 const SPAN_ORIGIN_AUTO_INTERACTION = (SPAN_ORIGIN_Module).SPAN_ORIGIN_AUTO_INTERACTION; const items2 = [SPAN_ORIGIN_AUTO_INTERACTION]; const SPAN_ORIGIN_MANUAL_INTERACTION = (SPAN_ORIGIN_Module).SPAN_ORIGIN_MANUAL_INTERACTION; items2[1] = SPAN_ORIGIN_MANUAL_INTERACTION; const includes = items2.includes; let origin = Module00826Module.spanToJSON(a0).origin; origin = !origin ? '' : origin; return Reflect.apply(includes, items2, [origin]); } function clearActiveSpanFromScope(a0) { // fn#12956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:1087, offset: 0x00ddc016, size: 18 bytes, params: 2, frame: 2 delete a0[env0_6]; } function startIdleSpan_12957(a0, {finalTimeout, idleTimeout}) { // fn#12957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:171, offset: 0x00ddc028, size: 399 bytes, params: 3, frame: 23 const debug = (require(826) /* metro dependency 826 */).debug; const SentryNonRecordingSpan = (require(826) /* metro dependency 826 */).SentryNonRecordingSpan; var sentryNonRecordingSpan; var setPropagationContext; var object; var value; const client = (require(826) /* metro dependency 826 */).getClient(); if (client) { if (AppState.currentState === 'background') { debug.log('[startIdleSpan] App is already in background, not starting span for ' + a0.name); value = Object.create(SentryNonRecordingSpan.prototype, {constructor: {value: SentryNonRecordingSpan}}); sentryNonRecordingSpan = new SentryNonRecordingSpan(); return sentryNonRecordingSpan instanceof Object ? sentryNonRecordingSpan : value; } value = require(826) /* metro dependency 826 */; value = value.getCurrentScope(); setPropagationContext = value.setPropagationContext; object = {}; object.traceId = (require(826) /* metro dependency 826 */).generateTraceId(); object.sampleRand = global.Math.random(); Reflect.apply(setPropagationContext, value, [object]); value = require(826) /* metro dependency 826 */; value = value.startIdleSpan(a0, {finalTimeout: finalTimeout, idleTimeout: idleTimeout}); (require(1169) /* metro dependency 1169 */).cancelInBackground(client, value); return value; } debug.warn("[startIdleSpan] Can't create idle span, missing client."); value = Object.create(SentryNonRecordingSpan.prototype, {constructor: {value: SentryNonRecordingSpan}}); sentryNonRecordingSpan = new SentryNonRecordingSpan(); return sentryNonRecordingSpan instanceof Object ? sentryNonRecordingSpan : value; } function startIdleNavigationSpan(a0) { // fn#12958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:1262, offset: 0x00ddc1b7, size: 747 bytes, params: 2, frame: 26 var op; const debug = (require(826) /* metro dependency 826 */).debug; var activeSpan; var clearActiveSpanFromScopeBinding; var moduleValue4; var log; var moduleValue5; const SPAN_STATUS_ERROR = (require(826) /* metro dependency 826 */).SPAN_STATUS_ERROR; var moduleValue6; var Object; var assign; var Object2; var value6; var value7; let r0 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; let finalTimeout = r0.finalTimeout; finalTimeout = finalTimeout === undefined ? env0_4.finalTimeout : finalTimeout; let idleTimeout = r0.idleTimeout; idleTimeout = idleTimeout === undefined ? env0_4.idleTimeout : idleTimeout; const isAppRestart = r0.isAppRestart; const r3 = isAppRestart !== undefined && isAppRestart; const client = (require(826) /* metro dependency 826 */).getClient(); const moduleValue2 = require(826) /* metro dependency 826 */; if (client) { activeSpan = moduleValue2.getActiveSpan(); r0 = activeSpan && (require(1130) /* metro dependency 1130 */).isRootSpan(activeSpan); r0 = r0 && isSentryInteractionSpan(activeSpan); clearActiveSpanFromScopeBinding = clearActiveSpanFromScope; moduleValue4 = moduleValue2; clearActiveSpanFromScopeBinding(moduleValue4.getCurrentScope()); if (r0) { if (r3) { log = debug.log; moduleValue6 = require(826) /* metro dependency 826 */; Reflect.apply(log, debug, ['[startIdleNavigationSpan] Not canceling ' + moduleValue6.spanToJSON(activeSpan).op + ' transaction because navigation is from app restart - preserving error context.']); } else if (r0) { log = debug.log; moduleValue5 = require(826) /* metro dependency 826 */; Reflect.apply(log, debug, ['[startIdleNavigationSpan] Canceling ' + moduleValue5.spanToJSON(activeSpan).op + ' transaction because of a new navigation root span.']); activeSpan.setStatus({code: SPAN_STATUS_ERROR, message: 'cancelled'}); activeSpan.end(); } } else if (r0) { log = debug.log; moduleValue5 = require(826) /* metro dependency 826 */; Reflect.apply(log, debug, ['[startIdleNavigationSpan] Canceling ' + moduleValue5.spanToJSON(activeSpan).op + ' transaction because of a new navigation root span.']); activeSpan.setStatus({code: SPAN_STATUS_ERROR, message: 'cancelled'}); activeSpan.end(); } Object = global.Object; assign = Object.assign; Object2 = global.Object; value6 = Reflect.apply(assign, Object, [Object2.assign({}, getDefaultIdleNavigationSpanOptions()), a0]); value7 = startIdleSpan_12957(value6, {finalTimeout: finalTimeout, idleTimeout: idleTimeout}); log = debug.log; op = value6.op; op = !op ? 'unknown op' : op; Reflect.apply(log, debug, ['[startIdleNavigationSpan] Starting ' + op + ' transaction "' + value6.name + '" on scope']); (require(1169) /* metro dependency 1169 */).adjustTransactionDuration(client, value7, finalTimeout); value7.setAttribute((require(826) /* metro dependency 826 */).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, (require(1166) /* metro dependency 1166 */).SPAN_ORIGIN_AUTO_NAVIGATION_CUSTOM); return value7; } moduleValue2.debug.warn("[startIdleNavigationSpan] Can't create route change span, missing client."); } function addDefaultOpForSpanFrom(a0) { // fn#12959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:2756, offset: 0x00ddc4a2, size: 32 bytes, params: 2, frame: 13 a0.on('spanStart', function(a0) { if (!require(dependencyMap[1]).spanToJSON(a0).op) { a0.setAttribute(require(dependencyMap[1]).SEMANTIC_ATTRIBUTE_SENTRY_OP, 'default'); } }); function _fun12960(a0) { // fn#12960, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:2810, offset: 0x00ddc4c2, size: 88 bytes, params: 2, frame: 15 if (!Module00826Module.spanToJSON(a0).op) { a0.setAttribute(Module00826Module.SEMANTIC_ATTRIBUTE_SENTRY_OP, 'default'); } } } function addThreadInfoToSpan(a0) { // fn#12961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:3016, offset: 0x00ddc51a, size: 32 bytes, params: 2, frame: 13 a0.on('spanStart', _fun12962); function _fun12962(a0) { // fn#12962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1295:3066, offset: 0x00ddc53a, size: 89 bytes, params: 2, frame: 14 let value = environment.__proto__; value = undefined; const data = Module00826Module.spanToJSON(a0).data; if (!(data === null || value === data ? value : data['thread.name'])) { a0.setAttribute('thread.name', 'javascript'); } return value; } } } global.__d(_fun12953, 1168, [27, 826, 1130, 1169, 1166]) /* metro module 1168, dependencies: [27, 826, 1130, 1169, 1166] */;