/* Metro module 15679; source: modules/gateway/ChannelResyncManager.tsx; dependencies: [5, 6, 7, 15, 17, 18, 1226, 1379, 4646, 1867, 4257, 661, 1386, 3, 672, 4860, 683, 694, 5235, 12526, 1391, 491, 2] */ function _fun120268(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#120268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:6, offset: 0x02526273, size: 774 bytes, params: 8, frame: 22 const env0_0 = require; const scheduleGuildResyncs = function() { return _scheduleGuildResyncs.apply(this, arguments); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = importDefault(6) /* metro dependency 6 */; const env0_5 = importDefault(7) /* metro dependency 7 */; const env0_6 = importDefault(15) /* metro dependency 15 */; const env0_7 = importDefault(17) /* metro dependency 17 */; const env0_8 = importDefault(18) /* metro dependency 18 */; const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildAvailabilityStore = importDefault(4646) /* metro dependency 4646: GuildAvailabilityStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const gatewayConnectionStore = importDefault(4257) /* metro dependency 4257: GatewayConnectionStore */; const env0_14 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents; const env0_15 = (require(1386) /* metro dependency 1386: ChannelConstants */).ChannelFlags; let value = importDefault(3) /* metro dependency 3: Logger */; value = new value('ChannelResyncManager'); let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; let SECOND = Millis.SECOND; const env0_17 = 2 * SECOND; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; SECOND = Millis.SECOND; const env0_18 = 30 * SECOND; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; SECOND = Millis.SECOND; const env0_19 = 300 * SECOND; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; SECOND = Millis.SECOND; const env0_20 = 30 * SECOND; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; SECOND = Millis.SECOND; const env0_21 = 60 * SECOND; value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */; value = _fun120307(value); const env0_22 = {}; const Set = global.Set; const set = new Set(); const env0_24 = {}; const env0_25 = {}; const env0_26 = {}; const env0_27 = {}; const env0_28 = {}; value = new value(); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/gateway/ChannelResyncManager.tsx'); exports.default = value; } function _isNativeReflectConstruct_120269() { // fn#120269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:259, offset: 0x02526579, 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_120269_isNativeReflectConstruct = function() { return !!result; })(); } function setLatestRequest(a0, a1, a2) { // fn#120272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1549, offset: 0x025265db, size: 58 bytes, params: 4, frame: 12 const binding = env0_22; const object2 = {guildId: a0, requestId: a1, source: a2}; object2.requestedUserId = AuthenticationStore.getId(); binding[a0] = object2; } function getLatestRequestId(a0) { // fn#120273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1646, offset: 0x02526615, size: 47 bytes, params: 2, frame: 4 return env0_22[a0]?.requestId ?? 'unknown'; } function cleanupResyncState(a0) { // fn#120274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1748, offset: 0x02526644, size: 98 bytes, params: 2, frame: 14 if (env0_25[a0] != null) { global.clearTimeout(env0_25[a0]); delete env0_25[a0]; } if (env0_24[a0] != null) { global.clearTimeout(env0_24[a0]); delete env0_24[a0]; } } function cleanupIntegrityCheckState(a0) { // fn#120275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1869, offset: 0x025266a6, size: 98 bytes, params: 2, frame: 14 if (env0_27[a0] != null) { global.clearTimeout(env0_27[a0]); delete env0_27[a0]; } if (env0_26[a0] != null) { global.clearTimeout(env0_26[a0]); delete env0_26[a0]; } } function handleGuildCreate_120276({guild}) { // fn#120276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1998, offset: 0x02526708, size: 126 bytes, params: 2, frame: 16 var binding; var id; if (guild.unavailable !== true) { binding = env0_28; id = guild.id; if (binding[id] != null) { global.clearTimeout(env0_28[guild.id]); } binding = env0_28; id = guild.id; binding[id] = global.setTimeout(_fun120277, 0); } } function handlePostConnectionOpen() { // fn#120278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:2230, offset: 0x025267e2, size: 62 bytes, params: 1, frame: 12 env0_23.clear(); scheduleGuildResyncs(); GuildStore.getGuildIds().forEach(function(a0) { scheduleIntegrityCheck(a0); }); } function handleChannelSync(a0) { // fn#120280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:2357, offset: 0x02526833, size: 159 bytes, params: 2, frame: 18 var getLatestRequestIdBinding; var guild_id; var latestRequestIdBinding; var defaultImport; var track; var GUILD_CHANNEL_RESYNC_COMPLETED; var cleanupResyncStateBinding; var scheduleIntegrityCheckBinding; if (a0.integrity_check) { doIntegrityCheck(a0); } else { getLatestRequestIdBinding = getLatestRequestId; guild_id = a0.guild_id; latestRequestIdBinding = getLatestRequestIdBinding(guild_id); defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport.track; GUILD_CHANNEL_RESYNC_COMPLETED = AnalyticEvents.GUILD_CHANNEL_RESYNC_COMPLETED; guild_id = a0.guild_id; Reflect.apply(track, defaultImport, [GUILD_CHANNEL_RESYNC_COMPLETED, {guild_id: guild_id, request_id: latestRequestIdBinding, num_new_channels: a0.channels.length}]); cleanupResyncStateBinding = cleanupResyncState; guild_id = a0.guild_id; cleanupResyncStateBinding(guild_id); scheduleIntegrityCheckBinding = scheduleIntegrityCheck; guild_id = a0.guild_id; scheduleIntegrityCheckBinding(guild_id); } } function handleLogout_120283({isSwitchingAccount}) { // fn#120283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:3697, offset: 0x02526bc2, size: 329 bytes, params: 2, frame: 21 var propertyName; var clearTimeout; const binding = env0_29; env0_29 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; const env0_0 = isSwitchingAccount !== true ? 'logout' : 'account_switch'; const Set = global.Set; let Object = global.Object; const value4 = Object.keys(env0_24); const items2 = []; const value5 = arraySpread(items2, value4, 0, undefined); Object = global.Object; const value6 = arraySpread(items2, Object.keys(env0_25), value5, undefined); Object = global.Object; const value7 = arraySpread(items2, Object.keys(env0_26), value6, undefined); Object = global.Object; arraySpread(items2, Object.keys(env0_27), value7, undefined); const set = new Set(items2); set.forEach(_fun120284); set.forEach(function(a0) { cleanupResyncState(a0); cleanupIntegrityCheckState(a0); }); for (propertyName in env0_28) { clearTimeout = global.clearTimeout; clearTimeout(env0_28[propertyName]); delete env0_28[propertyName]; } for (propertyName in env0_22) { delete env0_22[propertyName]; } env0_23.clear(); } function _scheduleGuildResyncs() { // fn#120287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:4642, offset: 0x02526e50, size: 50 bytes, params: 1, frame: 14 return env0_3(_fun120289).apply(this, arguments); } function _getResyncGuilds() { // fn#120298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:6355, offset: 0x02527335, size: 50 bytes, params: 1, frame: 14 return env0_3(_fun120300).apply(this, arguments); } function scheduleIntegrityCheck(a0) { // fn#120302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:6615, offset: 0x02527436, size: 283 bytes, params: 2, frame: 20 var r8; var value2; var property; var value3; var defaultImport; var Math; const env0_0 = a0; const privateChannelHidingExperimentModule = require(12526) /* metro dependency 12526: PrivateChannelHidingExperiment */; if (privateChannelHidingExperimentModule.isChannelMetadataIntegrityCheckEnabled('scheduleIntegrityCheck')) { value2 = env0_26[a0] != null; cleanupIntegrityCheckState(a0); property = env0_22[a0]; if (property != null) { r8 = property.requestId; } else { value3 = (require(491) /* metro dependency 491 */).v4(); setLatestRequest(a0, value3, 'integrity_check'); r8 = value3; } if (!value2) { defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; defaultImport.track(AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_REQUESTED, {guild_id: a0, request_id: r8}); } Math = global.Math; env0_26[a0] = global.setTimeout(_fun120303, env0_18 + Math.ceil(global.Math.random() * env0_19)); } } function _fun120307(a0) { // fn#120307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:638, offset: 0x02527767, size: 74 bytes, params: 2, frame: 15 const closure = ChannelResyncManager; env0_8(closure, a0); return env0_5(closure, [{key: '__unsafeGetTestState', value: value_120309}]); } function _fun120277() { // fn#120277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:2124, offset: 0x02526786, size: 92 bytes, params: 1, frame: 13 var scheduleGuildResyncsBinding; var scheduleIntegrityCheckBinding; let binding = env1_28; let id = guild.id; delete binding[id]; binding = env0_1; if (binding === env1_29) { binding = env1_23; guildBinding = guild; id = guildBinding.id; binding.delete(id); scheduleGuildResyncsBinding = scheduleGuildResyncs; id = guildBinding.id; scheduleGuildResyncsBinding(id); scheduleIntegrityCheckBinding = scheduleIntegrityCheck; id = guildBinding.id; scheduleIntegrityCheckBinding(id); } } function doIntegrityCheck({guild_id, channels}) { // fn#120281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:2409, owner: handleChannelSync.doIntegrityCheck, offset: 0x025268d2, size: 351 bytes, params: 2, frame: 23 const latestRequestId = getLatestRequestId(guild_id); const env0_0 = ChannelStore.getMutableGuildChannelsForGuild(guild_id); const Set = global.Set; const set = new Set(); const items = []; channels.forEach(_fun120282); const Array = global.Array; const value6 = Array.from(set).join(', '); const r7 = items.length > 0 ? global.JSON.stringify(items) : null; (set.size > 0 ? env1_16.warn : env1_16.verbose)('Integrity check for guild ' + guild_id + ' completed. Discrepancies found: ' + value6); const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const GUILD_CHANNEL_INTEGRITY_CHECK_COMPLETED = AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_COMPLETED; Reflect.apply(track, defaultImport, [GUILD_CHANNEL_INTEGRITY_CHECK_COMPLETED, {guild_id: guild_id, request_id: latestRequestId, num_channels_received: channels.length, num_discrepancies_found: set.size, discrepancy_channel_ids: value6, discrepancies_details: r7}]); cleanupIntegrityCheckState(guild_id); env1_23.add(guild_id); } function _fun120284(a0) { // fn#120284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:3893, offset: 0x02526d0b, size: 297 bytes, params: 2, frame: 22 var value3; var value4; var defaultImport; var track; var GUILD_CHANNEL_RESYNC_CANCELED; var requestedUserId; var value6; var value7; var defaultImport2; var GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED; const property = env1_22[a0]; const value2 = null; if (value2 != property) { value3 = value2 != env1_24[a0]; value4 = value2 != env1_25[a0]; if (value3) { defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport.track; GUILD_CHANNEL_RESYNC_CANCELED = AnalyticEvents.GUILD_CHANNEL_RESYNC_CANCELED; requestedUserId = property.requestedUserId; Reflect.apply(track, defaultImport, [GUILD_CHANNEL_RESYNC_CANCELED, {guild_id: a0, request_id: property.requestId, requested_user_id: value2 != requestedUserId ? requestedUserId : value2, cancellation_reason: env0_0, had_scheduled_timer: value3, had_pending_timeout: value4}]); } else if (value4) { defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport.track; GUILD_CHANNEL_RESYNC_CANCELED = AnalyticEvents.GUILD_CHANNEL_RESYNC_CANCELED; requestedUserId = property.requestedUserId; Reflect.apply(track, defaultImport, [GUILD_CHANNEL_RESYNC_CANCELED, {guild_id: a0, request_id: property.requestId, requested_user_id: value2 != requestedUserId ? requestedUserId : value2, cancellation_reason: env0_0, had_scheduled_timer: value3, had_pending_timeout: value4}]); } value6 = value2 != env1_26[a0]; value7 = value2 != env1_27[a0]; if (value6) { defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport2.track; GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED = AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED; requestedUserId = property.requestedUserId; Reflect.apply(track, defaultImport2, [GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED, {guild_id: a0, request_id: property.requestId, requested_user_id: value2 != requestedUserId ? requestedUserId : value2, cancellation_reason: env0_0, had_scheduled_timer: value6, had_pending_timeout: value7}]); } else if (value7) { defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport2.track; GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED = AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED; requestedUserId = property.requestedUserId; Reflect.apply(track, defaultImport2, [GUILD_CHANNEL_INTEGRITY_CHECK_CANCELED, {guild_id: a0, request_id: property.requestId, requested_user_id: value2 != requestedUserId ? requestedUserId : value2, cancellation_reason: env0_0, had_scheduled_timer: value6, had_pending_timeout: value7}]); } } } function* _fun120289(a0) { // fn#120289, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:4707, offset: 0x02526e8d, size: 295 bytes, params: 2, frame: 19 var environment; var value6; if (true) { var env0_0 = a0; value = environment.__proto__.__proto__; var binding = env2_29; yield getResyncGuilds(); var value3 = undefined; if (false) { return value3; } if (binding === env2_29) { binding = env2_16; binding.verbose('Resync guilds: ' + global.JSON.stringify(value3)); value3.eligible.forEach(_fun120291); if (value3.ineligible.length > 0) { value6 = value3.ineligible.map(function(a0) { return a0.id; }); binding = env2_16; binding.verbose('Guilds we are no longer part of are marked for resync. Unmarking them. Guilds: ' + global.JSON.stringify(value6)); binding = env2_1; value = binding(env2_2[17]); value.dispatch({type: 'UNMARK_RESYNC_GUILDS', guildIds: value6}); } } } } function* _fun120300() { // fn#120300, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:6410, offset: 0x02527372, size: 102 bytes, params: 1, frame: 14 var environment; if (false) { return undefined; } value = environment.__proto__.__proto__; value = env2_1(env2_2[18]); const getAll = value.getAll; yield Reflect.apply(getAll, value, []); value = undefined; if (false) { return value; } return value.reduce(_fun120301, {eligible: [], ineligible: []}); } function _fun120303() { // fn#120303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:7005, offset: 0x02527551, size: 36 bytes, params: 1, frame: 11 const binding = env1_26; const binding2 = env0_0; delete binding[binding2]; triggerIntegrityCheck(binding2); } function ChannelResyncManager(a0) { // fn#120308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:650, offset: 0x025277b1, size: 170 bytes, params: 2, frame: 20 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_4; binding(this, ChannelResyncManager); const items = []; arraySpread(items, value, 0, items); value = env1_7(ChannelResyncManager); binding = env1_6; if (_isNativeReflectConstruct_120269()) { Reflect = global.Reflect; value = Reflect.construct(value, items, env1_7(this).constructor); r0 = value; } else { value = value.apply(this, items); r0 = value; } value = binding(this, r0); value.actions = {GUILD_CREATE: handleGuildCreate_120276, POST_CONNECTION_OPEN: handlePostConnectionOpen, CHANNEL_SYNC: handleChannelSync, LOGOUT: handleLogout_120283}; return value; } function value_120309() { // fn#120309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:1129, offset: 0x0252785b, size: 209 bytes, params: 1, frame: 14 const object2 = {}; let Object = global.Object; object2.scheduledResyncTimerGuildIds = Object.keys(env1_24); Object = global.Object; object2.pendingResyncTimeoutGuildIds = Object.keys(env1_25); Object = global.Object; object2.scheduledIntegrityCheckTimerGuildIds = Object.keys(env1_26); Object = global.Object; object2.pendingIntegrityCheckTimeoutGuildIds = Object.keys(env1_27); Object = global.Object; object2.pendingGuildCreateDeferredGuildIds = Object.keys(env1_28); Object = global.Object; object2.guildIdsWithLatestRequest = Object.keys(env1_22); const Array = global.Array; object2.guildsCompletedIntegrityCheck = Array.from(env1_23); object2.sessionEpoch = env1_29; return object2; } function _fun120282(a0) { // fn#120282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:2553, offset: 0x02526a31, size: 401 bytes, params: 2, frame: 26 var r7; var warn; var value3; var moduleValue; var hasFlag; var flags; var value4; var OBFUSCATED; var hasFlag2; var moduleValue2; var hasFlag3; var add; var push; var object2; var parent_id; let binding = env0_0; let id = a0.id; const property = binding[id]; const value2 = null; if (value2 != property) { value3 = environment.__proto__.__proto__; moduleValue = require(1391) /* metro dependency 1391: FlagUtils */; hasFlag = moduleValue.hasFlag; flags = a0.flags; value4 = 0; r7 = value2 != flags ? flags : value4; OBFUSCATED = ChannelFlags.OBFUSCATED; hasFlag2 = Reflect.apply(hasFlag, moduleValue, [r7, OBFUSCATED]); moduleValue2 = require(1391) /* metro dependency 1391: FlagUtils */; hasFlag = moduleValue2.hasFlag; flags = property.flags; OBFUSCATED = ChannelFlags.OBFUSCATED; hasFlag3 = Reflect.apply(hasFlag, moduleValue2, [flags, OBFUSCATED]); if (hasFlag2 !== hasFlag3) { binding = env2_16; warn = binding.warn; id = a0.id; Reflect.apply(warn, binding, ['Integrity check failure: ' + id + ' serverObfuscated: ' + hasFlag2 + ' != clientObfuscated: ' + hasFlag3]); binding = env0_1; add = binding.add; id = a0.id; Reflect.apply(add, binding, [id]); binding = env0_2; push = binding.push; object2 = {}; id = a0.id; object2.channel_id = id; object2.server_obfuscated = hasFlag2; object2.client_obfuscated = hasFlag3; flags = a0.flags; object2.server_flags = value2 != flags ? flags : value4; flags = property.flags; object2.client_flags = value2 != flags ? flags : value4; object2.channel_type = a0.type; parent_id = a0.parent_id; object2.parent_id = value2 != parent_id ? parent_id : value2; Reflect.apply(push, binding, [object2]); } } else { value = environment.__proto__.__proto__; binding = env2_16; binding.warn('Integrity check failure: ' + a0.id + ' was missing.'); } } function getResyncGuilds() { // fn#120290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:4736, offset: 0x02526fb4, size: 30 bytes, params: 1, frame: 13 return env3_41.apply(this, arguments); } function _fun120291(a0) { // fn#120291, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:4892, offset: 0x02526fd2, size: 67 bytes, params: 2, frame: 13 if (!(env0_0 != null && a0.id !== env0_0)) { scheduleGuildResync(a0.id, a0.requestId); } } function _fun120301(a0, a1) { // fn#120301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:6462, offset: 0x025273d8, size: 94 bytes, params: 3, frame: 14 let binding = env3_12; const getGuild = binding.getGuild; if (Reflect.apply(getGuild, binding, [a1.id]) != null) { a0.eligible.push(a1); } else { binding = env3_11; if (binding.isUnavailable(a1.id)) { a0.eligible.push(a1); } else { a0.ineligible.push(a1); } } return a0; } function triggerIntegrityCheck(a0) { // fn#120304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:7022, offset: 0x02527575, size: 271 bytes, params: 2, frame: 19 var environment; var binding; var latestRequestId; var defaultImport; var defaultImport2; const value = environment.__proto__.__proto__; const privateChannelHidingExperimentModule = require(12526) /* metro dependency 12526: PrivateChannelHidingExperiment */; if (privateChannelHidingExperimentModule.isChannelMetadataIntegrityCheckEnabled('triggerIntegrityCheck')) { binding = env2_23; if (binding.has(a0)) { return undefined; } latestRequestId = getLatestRequestId(a0); if (GuildStore.getGuild(a0) == null) { defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */; defaultImport2.track(AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_FAILED, {guild_id: a0, request_id: latestRequestId, failure_reason: 'guild_not_found'}); cleanupIntegrityCheckState(a0); return undefined; } defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; defaultImport.track(AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_EXECUTED, {guild_id: a0, request_id: latestRequestId}); GatewayConnectionStore.getSocket().triggerGuildChannelResync(a0, null); scheduleIntegrityCheckTimeout(a0, latestRequestId); } } function scheduleGuildResync(a0, a1) { // fn#120292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:4915, offset: 0x02527015, size: 141 bytes, params: 3, frame: 19 const env0_0 = a0; env4_31(a0, a1, 'resync'); if (env4_24[a0] != null) { global.clearTimeout(env4_24[a0]); } const Math = global.Math; const ceil = Math.ceil; const Math2 = global.Math; env4_24[a0] = global.setTimeout(_fun120293, Reflect.apply(ceil, Math, [Math2.random() * env4_17])); } function scheduleIntegrityCheckTimeout(a0, a1) { // fn#120305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:7497, owner: triggerIntegrityCheck.scheduleIntegrityCheckTimeout, offset: 0x02527684, size: 93 bytes, params: 3, frame: 15 const env0_0 = a0; const env0_1 = a1; if (env3_27[a0] != null) { global.clearTimeout(env3_27[a0]); } env3_27[a0] = global.setTimeout(_fun120306, env3_21); } function _fun120293() { // fn#120293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:5061, offset: 0x025270a2, size: 36 bytes, params: 1, frame: 11 const binding = env5_24; const binding2 = env0_0; delete binding[binding2]; triggerGuildChannelResync(binding2); } function _fun120306() { // fn#120306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:7589, offset: 0x025276e1, size: 134 bytes, params: 1, frame: 19 const binding = env0_0; env4_16.warn('Integrity check timeout for guild ' + binding + ' with request ' + require); const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const GUILD_CHANNEL_INTEGRITY_CHECK_FAILED = AnalyticEvents.GUILD_CHANNEL_INTEGRITY_CHECK_FAILED; Reflect.apply(track, defaultImport, [GUILD_CHANNEL_INTEGRITY_CHECK_FAILED, {guild_id: binding, request_id: require, failure_reason: 'timeout'}]); cleanupIntegrityCheckState(binding); } function triggerGuildChannelResync(a0) { // fn#120294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:5078, offset: 0x025270c6, size: 396 bytes, params: 2, frame: 28 var r3; var r10; var r9; var value3; var items; var mutableGuildChannelsForGuild; var value6; var properties; var properties2; var properties3; var propertyName; var propertyName2; var property; var value7; var hasFlag; var flags; var OBFUSCATED; var value8; var value9; var value11; let binding = env6_0; const value2 = binding(env6_2[19]); if (value2.isChannelMetadataObfuscationEnabled('triggerGuildChannelResync')) { value3 = env6_32(a0); binding = env6_12; if (binding.getGuild(a0) == null) { value11 = env6_1(env6_2[16]); value11.track(env6_14.GUILD_CHANNEL_RESYNC_FAILED, {guild_id: a0, request_id: value3, failure_reason: 'guild_not_found'}); env6_33(a0); return undefined; } items = []; binding = env6_10; mutableGuildChannelsForGuild = binding.getMutableGuildChannelsForGuild(a0); value6 = 0; properties = Object.keys(mutableGuildChannelsForGuild); properties2 = 0; properties3 = properties.length; if (properties === undefined) { r9 = value6; } else { r3 = value6; r10 = properties2; while (true) { propertyName = properties[r10]; propertyName2 = r10 + 1; if (propertyName === undefined) { r9 = r3; break; } property = mutableGuildChannelsForGuild[propertyName]; binding = env6_0; value7 = binding(env6_2[20]); hasFlag = value7.hasFlag; flags = property.flags; OBFUSCATED = env6_15.OBFUSCATED; if (!Reflect.apply(hasFlag, value7, [flags, OBFUSCATED])) { continue; } items.push(propertyName); value8 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; r3 = value8; r10 = propertyName2; } } binding = env6_1; value9 = binding(env6_2[16]); value9.track(env6_14.GUILD_CHANNEL_RESYNC_EXECUTED, {guild_id: a0, request_id: value3, num_obfuscated_channels: items.length, num_total_channels: r9}); binding = env6_13; binding.getSocket().triggerGuildChannelResync(a0, items); scheduleResyncTimeout(a0, value3); env6_42(a0); } } function scheduleResyncTimeout(a0, a1) { // fn#120295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:5701, owner: triggerGuildChannelResync.scheduleResyncTimeout, offset: 0x02527252, size: 93 bytes, params: 3, frame: 15 const env0_0 = a0; const env0_1 = a1; if (env7_25[a0] != null) { global.clearTimeout(env7_25[a0]); } env7_25[a0] = global.setTimeout(_fun120296, env7_20); } function _fun120296() { // fn#120296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15887:5785, offset: 0x025272af, size: 134 bytes, params: 1, frame: 19 const binding = env0_0; env8_16.warn('Resync timeout for guild ' + binding + ' with request ' + require); const value2 = env8_1(env8_2[16]); const track = value2.track; const GUILD_CHANNEL_RESYNC_FAILED = env8_14.GUILD_CHANNEL_RESYNC_FAILED; Reflect.apply(track, value2, [GUILD_CHANNEL_RESYNC_FAILED, {guild_id: binding, request_id: require, failure_reason: 'timeout'}]); env8_33(binding); }