This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,11 +1,15 @@
/* Metro module 4880; source: modules/analytics_sessions/ClientHeartbeatPiggyback.tsx; dependencies: [4266, 2] */
import RunningGameStoreNative from '../game_detection/RunningGameStore.native.tsx'; /* Metro dependency 4266 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun42783(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5058:6, offset: 0x0114207d, size: 100 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importDefault(4266) /* metro dependency 4266: RunningGameStoreNative */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/ClientHeartbeatPiggyback.tsx');
RunningGameStoreNative;
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/ClientHeartbeatPiggyback.tsx');
exports.getClientHeartbeatPiggybackProperties = function() {
return {};
};
}
global.__d(_fun42783, 4880, [4266, 2]) /* metro module 4880, dependencies: [4266, 2] */;
@@ -1,70 +1,81 @@
/* Metro module 7113; source: modules/analytics_sessions/SessionAdGenerator.tsx; dependencies: [672, 491, 4882, 694, 1216, 2] */
import Durations from '../../utils/Durations.tsx'; /* Metro dependency 672 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as SessionUtilsModule from './SessionUtils.tsx'; /* Metro dependency 4882 */
function _fun56853(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#56853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7291:6, offset: 0x013d3b9b, size: 180 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = isAdSessionExpired;
const isAdSessionExpired2 = isAdSessionExpired;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const Millis = (Durations).Millis;
const HOUR = Millis.HOUR;
const env0_3 = 12 * HOUR;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SessionAdGenerator.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SessionAdGenerator.tsx');
exports.getOrRefreshAdSession = getOrRefreshAdSession;
exports.clearAdSession = function() {
env0_4 = null;
};
exports.getCurrentAdSession = getCurrentAdSession;
exports.isAdSessionExpired = closure;
}
function isAdSessionExpired(a0) { // fn#56854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7291:128, offset: 0x013d3c4f, size: 193 bytes, params: 2, frame: 18
const Date = global.Date;
let value = Date.now();
if (value < a0.createdAtTimestamp) {
(importDefault(1216) /* metro dependency 1216: SentryUtilsNative */).addBreadcrumb({category: 'ad',
message: 'future facing timestamp Date.now(): ' + value + ', initialized timestamp: ' + a0.createdAtTimestamp});
return true;
}
const value2 = value - a0.lastUsedTimestamp;
const SESSION_IDLE_TIMEOUT_MILLIS = (require(4882) /* metro dependency 4882: SessionUtils */).SESSION_IDLE_TIMEOUT_MILLIS;
const value4 = value2 > SESSION_IDLE_TIMEOUT_MILLIS;
value -= a0.createdAtTimestamp;
value = value > env0_3;
return value4 || value;
}
function getOrRefreshAdSession() { // fn#56855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7291:560, offset: 0x013d3d10, size: 194 bytes, params: 1, frame: 17
var object2;
const CLIENT_SESSION_STORAGE_VERSION = (require(4882) /* metro dependency 4882: SessionUtils */).CLIENT_SESSION_STORAGE_VERSION;
let value = a0;
let r0 = value !== undefined ? value : false;
const Date = global.Date;
value = Date.now();
if (env0_4 == null) {
object2 = {};
object2.uuid = (require(491) /* metro dependency 491 */).v4();
object2.createdAtTimestamp = value;
object2.lastUsedTimestamp = value;
object2.version = CLIENT_SESSION_STORAGE_VERSION;
env0_4 = object2;
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.dispatch({type: 'AD_SESSION_RESET'});
r0 = env0_4;
} else if (isAdSessionExpired(env0_4)) {
object2 = {};
object2.uuid = (require(491) /* metro dependency 491 */).v4();
object2.createdAtTimestamp = value;
object2.lastUsedTimestamp = value;
object2.version = CLIENT_SESSION_STORAGE_VERSION;
env0_4 = object2;
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.dispatch({type: 'AD_SESSION_RESET'});
r0 = env0_4;
} else {
if (r0) {
env0_4.lastUsedTimestamp = value;
exports.isAdSessionExpired = isAdSessionExpired2;
function isAdSessionExpired(a0) { // fn#56854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7291:128, offset: 0x013d3c4f, size: 193 bytes, params: 2, frame: 18
const Date = global.Date;
let value = Date.now();
if (value < a0.createdAtTimestamp) {
(importDefault(1216) /* metro dependency 1216: SentryUtilsNative */).addBreadcrumb({category: 'ad',
message: 'future facing timestamp Date.now(): ' + value + ', initialized timestamp: ' + a0.createdAtTimestamp});
return true;
}
r0 = env0_4;
const value2 = value - a0.lastUsedTimestamp;
const SESSION_IDLE_TIMEOUT_MILLIS = (SessionUtilsModule).SESSION_IDLE_TIMEOUT_MILLIS;
const value4 = value2 > SESSION_IDLE_TIMEOUT_MILLIS;
value -= a0.createdAtTimestamp;
value = value > env0_3;
return value4 || value;
}
return r0;
function getOrRefreshAdSession() { // fn#56855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7291:560, offset: 0x013d3d10, size: 194 bytes, params: 1, frame: 17
var object3;
var object;
const CLIENT_SESSION_STORAGE_VERSION = (SessionUtilsModule).CLIENT_SESSION_STORAGE_VERSION;
let value = a0;
let r0 = value !== undefined ? value : false;
const Date = global.Date;
value = Date.now();
if (object3 == null) {
object = {};
object.uuid = (require(491) /* metro dependency 491 */).v4();
object.createdAtTimestamp = value;
object.lastUsedTimestamp = value;
object.version = CLIENT_SESSION_STORAGE_VERSION;
object3 = object;
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.dispatch({type: 'AD_SESSION_RESET'});
r0 = object3;
} else if (isAdSessionExpired(object3)) {
object = {};
object.uuid = (require(491) /* metro dependency 491 */).v4();
object.createdAtTimestamp = value;
object.lastUsedTimestamp = value;
object.version = CLIENT_SESSION_STORAGE_VERSION;
object3 = object;
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.dispatch({type: 'AD_SESSION_RESET'});
r0 = object3;
} else {
if (r0) {
object3.lastUsedTimestamp = value;
}
r0 = object3;
}
return r0;
}
function getCurrentAdSession() { // fn#56857, offset: 0x00d16d26, size: 9 bytes, params: 1, frame: 1
return env0_4;
}
}
global.__d(_fun56853, 7113, [672, 491, 4882, 694, 1216,
2]) /* metro module 7113, dependencies: [672, 491, 4882, 694, 1216, 2] */;
@@ -1,323 +1,331 @@
/* Metro module 13090; source: modules/analytics_sessions/SessionAdManager.tsx; dependencies: [6, 7, 15, 17, 18, 1226, 661, 4876, 4041, 672, 1216, 7113, 683, 694, 4561, 2] */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as TimersModule from '../../external/discord_common/js/packages/timers/Timers.tsx'; /* Metro dependency 4041 */
import * as SessionForegroundUtilsNativeModule from './SessionForegroundUtils.native.tsx'; /* Metro dependency 4876 */
import * as SessionAdGeneratorModule from './SessionAdGenerator.tsx'; /* Metro dependency 7113 */
function _fun100027(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#100027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:6, offset: 0x021dc14a, size: 338 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
let value = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_9 = constantsModule.AnalyticEvents;
const env0_10 = constantsModule.AppStates;
let value = AuthenticationStore;
const env0_11 = value.getToken();
object = {DEFAULT: 'DEFAULT', USER_LOGOUT: 'USER_LOGOUT', WINDOW_FOCUS: 'WINDOW_FOCUS',
APP_STATE_UPDATE: 'APP_STATE_UPDATE'};
value = importDefault(4561) /* metro dependency 4561: LifecycleManager */;
value = _fun100031(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SessionAdManager.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SessionAdManager.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_100028() { // fn#100028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:201, offset: 0x021dc29c, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_100028_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun100031(a0) { // fn#100031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:573, offset: 0x021dc2fe, size: 97 bytes, params: 2, frame: 16
const closure = SessionAdManager;
env0_7(closure, a0);
return env0_4(closure, [{key: '_initialize', value: value_100044}, {key: '_terminate', value: value_100045}]);
}
function SessionAdManager(a0) { // fn#100032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:585, offset: 0x021dc35f, size: 371 bytes, params: 2, frame: 22
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, SessionAdManager);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_6(SessionAdManager);
binding = env1_5;
if (_isNativeReflectConstruct_100028()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
value.focusedOrForegrounded = (require(4876) /* metro dependency 4876: SessionForegroundUtilsNative */).isForegrounded();
const Interval = (require(4041) /* metro dependency 4041: Timers */).Interval;
const value4 = Object.create(Interval.prototype, {constructor: {value: Interval}});
const interval = new Interval();
value.heartbeatInterval = interval instanceof Object ? interval : value4;
value.schedulerStarted = false;
value.lastHeartbeatTimestamp = 0;
value.maybeStartHeartbeat = maybeStartHeartbeat;
value.startAnalyticHeartbeat = startAnalyticHeartbeat;
value.trackHeartbeat = trackHeartbeat_100035;
value.stopAnalyticHeartbeat = stopAnalyticHeartbeat;
value.scheduleHeartbeatTracking = scheduleHeartbeatTracking_100037;
value.handleLogin = handleLogin_100038;
value.handleLogout = handleLogout_100039;
value.handleEnrollmentSuccess = handleEnrollmentSuccess;
value.handleWindowFocus = handleWindowFocus_100041;
value.handleAppStateUpdate = handleAppStateUpdate_100042;
value.handleAuthenticationChange = handleAuthenticationChange_100043;
return value;
}
function value_100044() { // fn#100044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2901, offset: 0x021dc93e, size: 239 bytes, params: 1, frame: 18
let value = environment.__proto__;
const sessionForegroundUtilsNativeModule = require(4876) /* metro dependency 4876: SessionForegroundUtilsNative */;
this.focusedOrForegrounded = sessionForegroundUtilsNativeModule.isForegrounded();
AuthenticationStore.addChangeListener(this.handleAuthenticationChange);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('WINDOW_FOCUS', this.handleWindowFocus);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('APP_STATE_UPDATE', this.handleAppStateUpdate);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('QUESTS_ENROLL_SUCCESS', this.handleEnrollmentSuccess);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('LOGIN_SUCCESS', this.handleLogin);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('LOGOUT', this.handleLogout);
this.scheduleHeartbeatTracking();
}
function value_100045() { // fn#100045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:3372, offset: 0x021dca2d, size: 207 bytes, params: 1, frame: 18
this.stopAnalyticHeartbeat();
let value = environment.__proto__;
AuthenticationStore.removeChangeListener(this.handleAuthenticationChange);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('WINDOW_FOCUS', this.handleWindowFocus);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('APP_STATE_UPDATE', this.handleAppStateUpdate);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('QUESTS_ENROLL_SUCCESS', this.handleEnrollmentSuccess);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('LOGIN_SUCCESS', this.handleLogin);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('LOGOUT', this.handleLogout);
}
function maybeStartHeartbeat() { // fn#100033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:981, owner: SessionAdManager.maybeStartHeartbeat, offset: 0x021dc4d2, size: 111 bytes, params: 1, frame: 15
var binding;
var start;
var value;
let heartbeatInterval = env0_0.heartbeatInterval;
if (!heartbeatInterval.isStarted()) {
binding = env0_0;
binding.trackHeartbeat();
heartbeatInterval = binding.heartbeatInterval;
start = heartbeatInterval.start;
value = environment.__proto__.__proto__;
value = 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE;
Reflect.apply(start, heartbeatInterval, [value, binding.trackHeartbeat]);
}
}
function startAnalyticHeartbeat() { // fn#100034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1134, owner: SessionAdManager.startAnalyticHeartbeat, offset: 0x021dc541, size: 92 bytes, params: 1, frame: 12
var binding;
var value;
if (!env0_0.schedulerStarted) {
binding = env0_0;
binding.schedulerStarted = true;
value = environment.__proto__.__proto__;
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.addBreadcrumb({'category': 'ad', 'message': 'Starting ad session heartbeat'});
binding.maybeStartHeartbeat();
}
}
function SessionAdManagerTrackHeartbeat() { // fn#100035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1302, owner: SessionAdManager.trackHeartbeat, offset: 0x021dc59d, size: 309 bytes, params: 1, frame: 18
var value3;
var value4;
var value5;
var orRefreshAdSession;
var defaultImport2;
const value = a0;
const r6 = value !== undefined ? value : false;
if (env0_0.schedulerStarted) {
value3 = global.performance.now();
value4 = value3 - env0_0.lastHeartbeatTimestamp;
value5 = environment.__proto__.__proto__;
if (r6) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
} else if (env0_0.lastHeartbeatTimestamp > 0) {
if (!(value4 < 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE)) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
} else {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
function _isNativeReflectConstruct_100028() { // fn#100028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:201, offset: 0x021dc29c, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
} else {
if (r6) {
value3 = global.performance.now();
value4 = value3 - env0_0.lastHeartbeatTimestamp;
value5 = environment.__proto__.__proto__;
if (r6) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
} else if (env0_0.lastHeartbeatTimestamp > 0) {
if (!(value4 < 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE)) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT,
{client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
return (_isNativeReflectConstruct_100028_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun100031(a0) { // fn#100031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:573, offset: 0x021dc2fe, size: 97 bytes, params: 2, frame: 16
const SessionAdManager2 = SessionAdManager;
Inherits(SessionAdManager2, a0);
return CreateClass(SessionAdManager2, [{key: '_initialize', value: value_100044}, {key: '_terminate',
value: value_100045}]);
function SessionAdManager(a0) { // fn#100032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:585, offset: 0x021dc35f, size: 371 bytes, params: 2, frame: 22
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, SessionAdManager);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_6(SessionAdManager);
binding = env1_5;
if (_isNativeReflectConstruct_100028()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_6(this).constructor);
r0 = value;
} else {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
value = value.apply(this, items2);
r0 = value;
}
return undefined;
}
(importDefault(1216) /* metro dependency 1216: SentryUtilsNative */).addBreadcrumb({'category': 'ad',
'message': 'Ad heartbeat called but scheduler not started'});
env0_0.heartbeatInterval.stop();
}
}
function stopAnalyticHeartbeat() { // fn#100036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1842, owner: SessionAdManager.stopAnalyticHeartbeat, offset: 0x021dc6d2, size: 150 bytes, params: 1, frame: 16
var binding;
let value = a0;
if (env0_0.schedulerStarted) {
binding = env0_0;
binding.schedulerStarted = false;
binding.lastHeartbeatTimestamp = 0;
value = environment.__proto__.__proto__;
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.addBreadcrumb({category: 'ad',
message: 'Stopping ad session heartbeat: ' + (value !== undefined ? value : env2_12.DEFAULT)});
binding.heartbeatInterval.stop();
}
}
function SessionAdManagerScheduleHeartbeatTracking() { // fn#100037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2068, owner: SessionAdManager.scheduleHeartbeatTracking, offset: 0x021dc768, size: 119 bytes, params: 1, frame: 14
var value2;
var binding;
var error;
let value = a0;
const r5 = value !== undefined ? value : env2_12.DEFAULT;
value = environment;
if (env0_0.focusedOrForegrounded) {
value2 = environment.__proto__.__proto__;
if (env2_11 != null) {
try {
binding = env0_0;
binding.startAnalyticHeartbeat();
} catch (error) {
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.captureException(error);
value = binding(this, r0);
value.focusedOrForegrounded = (require(4876) /* metro dependency 4876: SessionForegroundUtilsNative */).isForegrounded();
const Interval = (TimersModule).Interval;
const value4 = Object.create(Interval.prototype, {constructor: {value: Interval}});
const interval = new Interval();
value.heartbeatInterval = interval instanceof Object ? interval : value4;
value.schedulerStarted = false;
value.lastHeartbeatTimestamp = 0;
value.maybeStartHeartbeat = maybeStartHeartbeat;
value.startAnalyticHeartbeat = startAnalyticHeartbeat;
value.trackHeartbeat = trackHeartbeat_100035;
value.stopAnalyticHeartbeat = stopAnalyticHeartbeat;
value.scheduleHeartbeatTracking = scheduleHeartbeatTracking_100037;
value.handleLogin = handleLogin_100038;
value.handleLogout = handleLogout_100039;
value.handleEnrollmentSuccess = handleEnrollmentSuccess;
value.handleWindowFocus = handleWindowFocus_100041;
value.handleAppStateUpdate = handleAppStateUpdate_100042;
value.handleAuthenticationChange = handleAuthenticationChange_100043;
return value;
function maybeStartHeartbeat() { // fn#100033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:981, owner: SessionAdManager.maybeStartHeartbeat, offset: 0x021dc4d2, size: 111 bytes, params: 1, frame: 15
var binding;
var start;
var value;
let heartbeatInterval = env0_0.heartbeatInterval;
if (!heartbeatInterval.isStarted()) {
binding = env0_0;
binding.trackHeartbeat();
heartbeatInterval = binding.heartbeatInterval;
start = heartbeatInterval.start;
value = environment.__proto__.__proto__;
value = 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE;
Reflect.apply(start, heartbeatInterval, [value, binding.trackHeartbeat]);
}
}
} else {
env0_0.stopAnalyticHeartbeat(r5);
function startAnalyticHeartbeat() { // fn#100034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1134, owner: SessionAdManager.startAnalyticHeartbeat, offset: 0x021dc541, size: 92 bytes, params: 1, frame: 12
var binding;
var value;
if (!env0_0.schedulerStarted) {
binding = env0_0;
binding.schedulerStarted = true;
value = environment.__proto__.__proto__;
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.addBreadcrumb({'category': 'ad', 'message': 'Starting ad session heartbeat'});
binding.maybeStartHeartbeat();
}
}
function SessionAdManagerTrackHeartbeat() { // fn#100035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1302, owner: SessionAdManager.trackHeartbeat, offset: 0x021dc59d, size: 309 bytes, params: 1, frame: 18
var value3;
var value4;
var value5;
var orRefreshAdSession;
var defaultImport2;
const value = a0;
const r6 = value !== undefined ? value : false;
if (env0_0.schedulerStarted) {
value3 = global.performance.now();
value4 = value3 - env0_0.lastHeartbeatTimestamp;
value5 = environment.__proto__.__proto__;
if (r6) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
} else if (env0_0.lastHeartbeatTimestamp > 0) {
if (!(value4 < 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE)) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
} else {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
} else {
if (r6) {
value3 = global.performance.now();
value4 = value3 - env0_0.lastHeartbeatTimestamp;
value5 = environment.__proto__.__proto__;
if (r6) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
} else if (env0_0.lastHeartbeatTimestamp > 0) {
if (!(value4 < 5 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE)) {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT,
{client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
} else {
orRefreshAdSession = (require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession();
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport2.track(AnalyticEvents.CLIENT_AD_HEARTBEAT, {client_ad_session_id: orRefreshAdSession.uuid,
client_heartbeat_initialization_timestamp: orRefreshAdSession.createdAtTimestamp,
client_heartbeat_version: 3});
env0_0.lastHeartbeatTimestamp = value3;
}
return undefined;
}
(importDefault(1216) /* metro dependency 1216: SentryUtilsNative */).addBreadcrumb({'category': 'ad',
'message': 'Ad heartbeat called but scheduler not started'});
env0_0.heartbeatInterval.stop();
}
}
function stopAnalyticHeartbeat() { // fn#100036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:1842, owner: SessionAdManager.stopAnalyticHeartbeat, offset: 0x021dc6d2, size: 150 bytes, params: 1, frame: 16
var binding;
let value = a0;
if (env0_0.schedulerStarted) {
binding = env0_0;
binding.schedulerStarted = false;
binding.lastHeartbeatTimestamp = 0;
value = environment.__proto__.__proto__;
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.addBreadcrumb({category: 'ad',
message: 'Stopping ad session heartbeat: ' + (value !== undefined ? value : env2_12.DEFAULT)});
binding.heartbeatInterval.stop();
}
}
function SessionAdManagerScheduleHeartbeatTracking() { // fn#100037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2068, owner: SessionAdManager.scheduleHeartbeatTracking, offset: 0x021dc768, size: 119 bytes, params: 1, frame: 14
var value2;
var binding;
var error;
let value = a0;
const r5 = value !== undefined ? value : env2_12.DEFAULT;
value = environment;
if (env0_0.focusedOrForegrounded) {
value2 = environment.__proto__.__proto__;
if (env2_11 != null) {
try {
binding = env0_0;
binding.startAnalyticHeartbeat();
} catch (error) {
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
value.captureException(error);
}
} else {
env0_0.stopAnalyticHeartbeat(r5);
}
} else {
env0_0.stopAnalyticHeartbeat(r5);
}
}
function SessionAdManagerHandleLogin() { // fn#100038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2236, owner: SessionAdManager.handleLogin, offset: 0x021dc7df, size: 34 bytes, params: 1, frame: 11
const binding = env0_0;
binding.scheduleHeartbeatTracking();
binding.trackHeartbeat(true);
}
function SessionAdManagerHandleLogout() { // fn#100039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2308, owner: SessionAdManager.handleLogout, offset: 0x021dc801, size: 65 bytes, params: 1, frame: 12
const binding = env0_0;
const stopAnalyticHeartbeat = binding.stopAnalyticHeartbeat;
const value = environment.__proto__.__proto__;
const USER_LOGOUT = env2_12.USER_LOGOUT;
Reflect.apply(stopAnalyticHeartbeat, binding, [USER_LOGOUT]);
(SessionAdGeneratorModule).clearAdSession();
}
function handleEnrollmentSuccess() { // fn#100040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2405, owner: SessionAdManager.handleEnrollmentSuccess, offset: 0x021dc842, size: 40 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
(SessionAdGeneratorModule).getOrRefreshAdSession(true);
}
function SessionAdManagerHandleWindowFocus({focused}) { // fn#100041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2466, owner: SessionAdManager.handleWindowFocus, offset: 0x021dc86a, size: 50 bytes, params: 2, frame: 11
const binding = env0_0;
binding.focusedOrForegrounded = focused;
const scheduleHeartbeatTracking = binding.scheduleHeartbeatTracking;
const WINDOW_FOCUS = env2_12.WINDOW_FOCUS;
Reflect.apply(scheduleHeartbeatTracking, binding, [WINDOW_FOCUS]);
}
function SessionAdManagerHandleAppStateUpdate({state}) { // fn#100042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2576, owner: SessionAdManager.handleAppStateUpdate, offset: 0x021dc89c, size: 63 bytes, params: 2, frame: 12
const binding = env0_0;
const ACTIVE = AppStates.ACTIVE;
binding.focusedOrForegrounded = state === ACTIVE;
const scheduleHeartbeatTracking = binding.scheduleHeartbeatTracking;
const APP_STATE_UPDATE = env2_12.APP_STATE_UPDATE;
Reflect.apply(scheduleHeartbeatTracking, binding, [APP_STATE_UPDATE]);
}
function SessionAdManagerHandleAuthenticationChange() { // fn#100043, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2705, owner: SessionAdManager.handleAuthenticationChange, offset: 0x021dc8db, size: 99 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
if (env2_11 !== authenticationStore.getToken()) {
(require(7113) /* metro dependency 7113: SessionAdGenerator */).clearAdSession();
env0_0.stopAnalyticHeartbeat();
}
env0_0.scheduleHeartbeatTracking();
}
}
} else {
env0_0.stopAnalyticHeartbeat(r5);
function value_100044() { // fn#100044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2901, offset: 0x021dc93e, size: 239 bytes, params: 1, frame: 18
let value = environment.__proto__;
this.focusedOrForegrounded = SessionForegroundUtilsNativeModule.isForegrounded();
const authenticationStoreBinding = authenticationStore;
authenticationStoreBinding.addChangeListener(this.handleAuthenticationChange);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('WINDOW_FOCUS', this.handleWindowFocus);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('APP_STATE_UPDATE', this.handleAppStateUpdate);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('QUESTS_ENROLL_SUCCESS', this.handleEnrollmentSuccess);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('LOGIN_SUCCESS', this.handleLogin);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.subscribe('LOGOUT', this.handleLogout);
this.scheduleHeartbeatTracking();
}
function value_100045() { // fn#100045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:3372, offset: 0x021dca2d, size: 207 bytes, params: 1, frame: 18
this.stopAnalyticHeartbeat();
let value = environment.__proto__;
const authenticationStoreBinding = authenticationStore;
authenticationStoreBinding.removeChangeListener(this.handleAuthenticationChange);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('WINDOW_FOCUS', this.handleWindowFocus);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('APP_STATE_UPDATE', this.handleAppStateUpdate);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('QUESTS_ENROLL_SUCCESS', this.handleEnrollmentSuccess);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('LOGIN_SUCCESS', this.handleLogin);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
value.unsubscribe('LOGOUT', this.handleLogout);
}
}
}
function SessionAdManagerHandleLogin() { // fn#100038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2236, owner: SessionAdManager.handleLogin, offset: 0x021dc7df, size: 34 bytes, params: 1, frame: 11
const binding = env0_0;
binding.scheduleHeartbeatTracking();
binding.trackHeartbeat(true);
}
function SessionAdManagerHandleLogout() { // fn#100039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2308, owner: SessionAdManager.handleLogout, offset: 0x021dc801, size: 65 bytes, params: 1, frame: 12
const binding = env0_0;
const stopAnalyticHeartbeat = binding.stopAnalyticHeartbeat;
const value = environment.__proto__.__proto__;
const USER_LOGOUT = env2_12.USER_LOGOUT;
Reflect.apply(stopAnalyticHeartbeat, binding, [USER_LOGOUT]);
(require(7113) /* metro dependency 7113: SessionAdGenerator */).clearAdSession();
}
function handleEnrollmentSuccess() { // fn#100040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2405, owner: SessionAdManager.handleEnrollmentSuccess, offset: 0x021dc842, size: 40 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
(require(7113) /* metro dependency 7113: SessionAdGenerator */).getOrRefreshAdSession(true);
}
function SessionAdManagerHandleWindowFocus({focused}) { // fn#100041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2466, owner: SessionAdManager.handleWindowFocus, offset: 0x021dc86a, size: 50 bytes, params: 2, frame: 11
const binding = env0_0;
binding.focusedOrForegrounded = focused;
const scheduleHeartbeatTracking = binding.scheduleHeartbeatTracking;
const WINDOW_FOCUS = env2_12.WINDOW_FOCUS;
Reflect.apply(scheduleHeartbeatTracking, binding, [WINDOW_FOCUS]);
}
function SessionAdManagerHandleAppStateUpdate({state}) { // fn#100042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2576, owner: SessionAdManager.handleAppStateUpdate, offset: 0x021dc89c, size: 63 bytes, params: 2, frame: 12
const binding = env0_0;
const ACTIVE = AppStates.ACTIVE;
binding.focusedOrForegrounded = state === ACTIVE;
const scheduleHeartbeatTracking = binding.scheduleHeartbeatTracking;
const APP_STATE_UPDATE = env2_12.APP_STATE_UPDATE;
Reflect.apply(scheduleHeartbeatTracking, binding, [APP_STATE_UPDATE]);
}
function SessionAdManagerHandleAuthenticationChange() { // fn#100043, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13280:2705, owner: SessionAdManager.handleAuthenticationChange, offset: 0x021dc8db, size: 99 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
if (env2_11 !== AuthenticationStore.getToken()) {
(require(7113) /* metro dependency 7113: SessionAdGenerator */).clearAdSession();
env0_0.stopAnalyticHeartbeat();
}
env0_0.scheduleHeartbeatTracking();
}
global.__d(_fun100027, 13090, [6, 7, 15, 17, 18, 1226, 661, 4876, 4041, 672, 1216, 7113, 683, 694, 4561,
2]) /* metro module 13090, dependencies: [6, 7, 15, 17, 18, 1226, 661, 4876, 4041, 672, 1216, 7113, 683, 694, 4561, 2] */;
@@ -1,11 +1,14 @@
/* Metro module 4876; source: modules/analytics_sessions/SessionForegroundUtils.native.tsx; dependencies: [27, 2] */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
function _fun42751(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42751, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5054:6, offset: 0x01141867, size: 107 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(27) /* metro dependency 27 */).AppState;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SessionForegroundUtils.native.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SessionForegroundUtils.native.tsx');
exports.isForegrounded = function() {
return AppState.currentState === 'active';
};
}
global.__d(_fun42751, 4876, [27, 2]) /* metro module 4876, dependencies: [27, 2] */;
File diff suppressed because it is too large. Load diff
@@ -1,8 +1,10 @@
/* Metro module 4877; source: modules/analytics_sessions/SessionRouteUtils.native.tsx; dependencies: [2] */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun42753(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42753, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5055:6, offset: 0x011418e9, size: 96 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SessionRouteUtils.native.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SessionRouteUtils.native.tsx');
exports.isActiveUserRoute = function() {
return true;
};
@@ -10,3 +12,4 @@ function _fun42753(global, require, importDefault, importAll, module, exports, d
};
}
global.__d(_fun42753, 4877, [2]) /* metro module 4877, dependencies: [2] */;
@@ -1,23 +1,27 @@
/* Metro module 4882; source: modules/analytics_sessions/SessionUtils.tsx; dependencies: [672, 2] */
import Durations from '../../utils/Durations.tsx'; /* Metro dependency 672 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun42787(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5060:6, offset: 0x011421a3, size: 148 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const Millis = (Durations).Millis;
const MINUTE = Millis.MINUTE;
const value = 30 * MINUTE;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SessionUtils.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SessionUtils.tsx');
exports.SESSION_IDLE_TIMEOUT_MILLIS = value;
exports.CLIENT_SESSION_STORAGE_VERSION = 1;
exports.isSessionExpired = isSessionExpired_42788;
exports.timestampOrZero = function(a0) {
return a0 != null ? (0, global.Number)(a0) : 0;
};
function isSessionExpired_42788({lastUsedTimestamp}) { // fn#42788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5060:286, offset: 0x01142237, size: 49 bytes, params: 2, frame: 10
let value = env0_0 + lastUsedTimestamp;
const Date = global.Date;
value -= Date.now();
return value <= 0;
}
}
function isSessionExpired_42788({lastUsedTimestamp}) { // fn#42788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5060:286, offset: 0x01142237, size: 49 bytes, params: 2, frame: 10
let value = env0_0 + lastUsedTimestamp;
const Date = global.Date;
value -= Date.now();
return value <= 0;
}
global.__d(_fun42787, 4882, [672, 2]) /* metro module 4882, dependencies: [672, 2] */;
@@ -1,16 +1,20 @@
/* Metro module 4881; source: modules/analytics_sessions/SkippedClientHeartbeatExperiment.tsx; dependencies: [1854, 2] */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ApexModule from '../experiments/apex/index.tsx'; /* Metro dependency 1854 */
function _fun42785(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5059:6, offset: 0x011420e1, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-02-client-heartbeat-skipped',
const env0_0 = (ApexModule).createApexExperiment({'name': '2026-02-client-heartbeat-skipped',
'kind': 'user', defaultConfig: {logHeartbeatSkipped: false}, variations: {[1]: {logHeartbeatSkipped: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/analytics_sessions/SkippedClientHeartbeatExperiment.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/analytics_sessions/SkippedClientHeartbeatExperiment.tsx');
exports.shouldLogClientHeartbeatSkipped = shouldLogClientHeartbeatSkipped;
function shouldLogClientHeartbeatSkipped() { // fn#42786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5059:392, offset: 0x0114217f, size: 36 bytes, params: 1, frame: 12
const binding = env0_0;
const getConfig = binding.getConfig;
return Reflect.apply(getConfig, binding, [{location: 'shouldLogClientHeartbeatSkipped'}]).logHeartbeatSkipped;
}
}
function shouldLogClientHeartbeatSkipped() { // fn#42786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5059:392, offset: 0x0114217f, size: 36 bytes, params: 1, frame: 12
const binding = env0_0;
const getConfig = binding.getConfig;
return Reflect.apply(getConfig, binding, [{location: 'shouldLogClientHeartbeatSkipped'}]).logHeartbeatSkipped;
}
global.__d(_fun42785, 4881, [1854, 2]) /* metro module 4881, dependencies: [1854, 2] */;