Files
discord-decomp/sources/modules/quests/managers/QuestProgressManager.tsx
T
2026-07-28 01:06:53 +03:00

1147 lines
63 KiB
TypeScript

/* Metro module 16218; source: modules/quests/managers/QuestProgressManager.tsx; dependencies: [57, 5, 6, 7, 15, 17, 18, 1378, 8065, 4266, 4492, 4267, 4300, 7093, 15385, 6528, 672, 7099, 7091, 9511, 9524, 6529, 9484, 6531, 7120, 4484, 4483, 6535, 7116, 4285, 1360, 4482, 7114, 4860, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
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 Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Durations from '../../../utils/Durations.tsx'; /* Metro dependency 672 */
import EmbeddedActivitiesStore from '../../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */
import RunningGameStoreNative from '../../game_detection/RunningGameStore.native.tsx'; /* Metro dependency 4266 */
import DetectableGameStore from '../../../stores/DetectableGameStore.tsx'; /* Metro dependency 4267 */
import SortedVoiceStateStore from '../../../stores/views/SortedVoiceStateStore.tsx'; /* Metro dependency 4300 */
import ApplicationStreamingStore from '../../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */
import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */
import FramesStore from '../../frames/FramesStore.tsx'; /* Metro dependency 8065 */
import UnenrolledActivityQuestStore from '../UnenrolledActivityQuestStore.tsx'; /* Metro dependency 15385 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as GlobalUtilsModule from '../../../utils/GlobalUtils.tsx'; /* Metro dependency 1360 */
import * as GameAnalyticsUtilsModule from '../../game_detection/GameAnalyticsUtils.tsx'; /* Metro dependency 4482 */
import * as QuestConstantsModule from '../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as QuestTypesModule from '../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as FirstPartyQuestTaskTypesModule from '../../../external/discord_common/js/shared/shared-constants/FirstPartyQuestTaskTypes.tsx'; /* Metro dependency 6535 */
import * as QuestDataUtilsModule from '../utils/QuestDataUtils.tsx'; /* Metro dependency 7091 */
import * as QuestTaskUtilsModule from '../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */
import * as ExperimentsModule from '../experiments/index.tsx'; /* Metro dependency 9511 */
import * as QuestMatchingUtilsModule from '../utils/QuestMatchingUtils.tsx'; /* Metro dependency 9524 */
function _fun125360(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#125360, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6, offset: 0x025d60ea, size: 584 bytes, params: 8, frame: 20
const env0_0 = require;
const _arrayLikeToArray_125366 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
Module00057;
let value = QuestConstantsModule;
const env0_17 = value.DISCORD_APPLICATION_ID;
const QuestsExperimentLocations = value.QuestsExperimentLocations;
let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const MINUTE = Millis.MINUTE;
const env0_19 = 1 * MINUTE;
Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const SECOND = Millis.SECOND;
const env0_20 = 1 * SECOND;
value = require(7099) /* metro dependency 7099: getQuestLogger */;
const getQuestLogger = value.getQuestLogger;
const QUESTS_MANAGER = QuestsExperimentLocations.QUESTS_MANAGER;
const env0_21 = Reflect.apply(getQuestLogger, value, [{location: QUESTS_MANAGER}]);
value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun125372(value);
value = new value();
(FileImportTrackerModule).fileFinishedImporting('modules/quests/managers/QuestProgressManager.tsx');
exports.default = value;
function _isNativeReflectConstruct_125361() { // fn#125361, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:322, offset: 0x025d6332, 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_125361_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _createForOfIteratorHelperLoose_125364(a0, a1) { // fn#125364, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:515, offset: 0x025d6394, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun125365;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_125366(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_125366(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_125366(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun125365;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
function _fun125365() { // fn#125365, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:1086, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function isQuestProgressable(a0) { // fn#125367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:1539, offset: 0x025d6508, size: 101 bytes, params: 2, frame: 12
let value = QuestDataUtilsModule;
value = value.isQuestExpired(a0);
return !value && a0.userStatus != null && a0.userStatus.enrolledAt != null && a0.userStatus.completedAt == null;
}
function handleEmbeddedActivityLaunchSuccess(a0) { // fn#125368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:1689, offset: 0x025d656d, size: 359 bytes, params: 2, frame: 20
var r4;
var value4;
var config;
var features;
var includes;
var QuestVariants;
var MOBILE_ACTIVITY_QUEST;
var value5;
var enrollInQuest;
var id;
const QuestContent = (QuestTypesModule).QuestContent;
var RUNNING_ACTIVITY;
let value = environment;
const unenrolledActivityQuestStoreBinding = UnenrolledActivityQuestStore;
const getState = unenrolledActivityQuestStoreBinding.getState;
const autoEnroll = Reflect.apply(getState, unenrolledActivityQuestStoreBinding, []).autoEnroll;
const DesktopActivityQuestHeaderExperiment = (ExperimentsModule).DesktopActivityQuestHeaderExperiment;
const getConfig = DesktopActivityQuestHeaderExperiment.getConfig;
let object = {};
const QUEST_ACTIVITY_HEADER = QuestsExperimentLocations.QUEST_ACTIVITY_HEADER;
object.location = QUEST_ACTIVITY_HEADER;
Reflect.apply(getConfig, DesktopActivityQuestHeaderExperiment, [object]).enabled;
const quests = QuestStore.quests;
const _createForOfIteratorHelperLoose_125364Binding = _createForOfIteratorHelperLoose_125364;
const getEligibleQuestsForApplicationId = QuestMatchingUtilsModule.getEligibleQuestsForApplicationId;
const value2 = _createForOfIteratorHelperLoose_125364Binding(Reflect.apply(getEligibleQuestsForApplicationId,
QuestMatchingUtilsModule, [quests, a0]));
const value3 = value2();
let done = value3.done;
if (!done) {
r4 = value3;
reducibleLoop1: while (true) {
value4 = r4.value;
if (autoEnroll) {
config = value4.config;
features = config.features;
includes = features.includes;
QuestVariants = (require(6529) /* metro dependency 6529: QuestVariants */).QuestVariants;
MOBILE_ACTIVITY_QUEST = QuestVariants.MOBILE_ACTIVITY_QUEST;
reducibleJoin3: while (true) {
if (Reflect.apply(includes, features, [MOBILE_ACTIVITY_QUEST])) {
value = require(9484) /* metro dependency 9484: QuestActionCreators */;
enrollInQuest = value.enrollInQuest;
id = value4.id;
object = {};
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.questContent = RUNNING_ACTIVITY;
object.questContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA.START_QUEST;
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.sourceQuestContent = RUNNING_ACTIVITY;
return Reflect.apply(enrollInQuest, value, [id, object]);
}
break reducibleJoin3;
}
}
value5 = value2();
done = value5.done;
if (done) {
return undefined;
}
r4 = value5;
continue reducibleLoop1;
}
}
}
function isQuestRobloxRelated(a0, a1) { // fn#125369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:2287, offset: 0x025d66d4, size: 79 bytes, params: 3, frame: 14
var r1;
var r0;
let value = a1 != null;
if (value) {
value = a0.some(function(a0) {
var ROBLOX_APPLICATION_ID = require(dependencyMap[25]).ROBLOX_APPLICATION_ID;
return a0 === ROBLOX_APPLICATION_ID;
});
if (value) {
value = require(4483) /* metro dependency 4483: RobloxSubgameUtils */;
value = value.isRobloxSubgame(a1);
r1 = value;
} else {
r1 = value;
}
r0 = r1;
} else {
r0 = value;
}
return r0;
}
function manualHeartbeatInitializationQuest(a0) { // fn#125371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:2419, offset: 0x025d674b, size: 73 bytes, params: 2, frame: 14
return a0 != null && a0.config.features.includes((require(6529) /* metro dependency 6529: QuestVariants */).QuestVariants.MANUAL_HEARTBEAT_INITIALIZATION);
}
function _fun125372(a0) { // fn#125372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:2572, offset: 0x025d6794, size: 180 bytes, params: 2, frame: 16
const QuestProgressManager2 = QuestProgressManager;
Inherits(QuestProgressManager2, a0);
return CreateClass(QuestProgressManager2, [{key: 'syncHeartbeats', value: function(a0, a1, a2) {
}}, {key: 'getActivelyProgressingQuests', value: value_125402}, {key: 'getActivelyProgressingPlayOnDesktopQuests',
value: value_125403}, {key: 'getActivelyProgressingStreamOnDesktopQuests', value: value_125406},
{key: 'getActivelyProgressingActivityQuests', value: value_125407}]);
function QuestProgressManager(a0) { // fn#125373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:2584, offset: 0x025d6848, size: 608 bytes, params: 2, frame: 22
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_4;
binding(this, QuestProgressManager);
let object = [];
arraySpread(object, value, 0, undefined);
value = env1_7(QuestProgressManager);
binding = env1_6;
if (_isNativeReflectConstruct_125361()) {
Reflect = global.Reflect;
value = Reflect.construct(value, object, env1_7(this).constructor);
r0 = value;
} else {
value = value.apply(this, object);
r0 = value;
}
value = binding(this, r0);
object = {};
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ON_DESKTOP = FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP;
let Map = global.Map;
const value4 = Object.create(Map.prototype, {constructor: {value: Map}});
let map = new Map();
object[PLAY_ON_DESKTOP] = map instanceof Object ? map : value4;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
Map = global.Map;
const value6 = Object.create(Map.prototype, {constructor: {value: Map}});
map = new Map();
object[STREAM_ON_DESKTOP] = map instanceof Object ? map : value6;
let PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
Map = global.Map;
const value8 = Object.create(Map.prototype, {constructor: {value: Map}});
map = new Map();
object[PLAY_ACTIVITY] = map instanceof Object ? map : value8;
value.heartbeats = object;
value.calculateHeartbeatDurationMs = calculateHeartbeatDurationMs;
value.initiateHeartbeat = initiateHeartbeat;
value.terminateHeartbeat = terminateHeartbeat;
value.handleSendHeartbeatSuccess = handleSendHeartbeatSuccess;
value.handleSendHeartbeatFailure = handleSendHeartbeatFailure;
object = {QUESTS_FETCH_CURRENT_QUESTS_SUCCESS: QUESTS_FETCH_CURRENT_QUESTS_SUCCESS_125380,
QUESTS_ENROLL_SUCCESS: QUESTS_ENROLL_SUCCESS_125381};
var handleSendHeartbeatSuccess = value.handleSendHeartbeatSuccess;
object.QUESTS_SEND_HEARTBEAT_SUCCESS = handleSendHeartbeatSuccess;
var handleSendHeartbeatFailure = value.handleSendHeartbeatFailure;
object.QUESTS_SEND_HEARTBEAT_FAILURE = handleSendHeartbeatFailure;
object.QUESTS_PREVIEW_UPDATE_SUCCESS = QUESTS_PREVIEW_UPDATE_SUCCESS_125383;
object.RUNNING_GAMES_CHANGE = RUNNING_GAMES_CHANGE_125384;
object.RUNNING_NON_GAMES_CHANGE = RUNNING_NON_GAMES_CHANGE;
object.STREAM_START = STREAM_START_125386;
object.STREAM_CREATE = STREAM_CREATE_125387;
object.STREAM_CLOSE = STREAM_CLOSE_125388;
object.PASSIVE_UPDATE_V2 = PASSIVE_UPDATE_V2_125389;
object.VOICE_STATE_UPDATES = VOICE_STATE_UPDATES_125390;
object.EMBEDDED_ACTIVITY_LAUNCH_SUCCESS = function({applicationId}) {
handleEmbeddedActivityLaunchSuccess(applicationId);
};
const env0_1 = env1_3(_fun125393);
object.FRAME_LAUNCH = FRAME_LAUNCH_125395;
object.FRAME_STOP = FRAME_STOP_125396;
object.EMBEDDED_ACTIVITY_UPDATE_V2 = EMBEDDED_ACTIVITY_UPDATE_V2_125397;
object.QUEST_APPLICATION_START_TIMER = function({questId}) {
var binding = questId;
var PLAY_ACTIVITY = require(dependencyMap[27]).FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
binding.syncHeartbeats([PLAY_ACTIVITY], 'QUEST_APPLICATION_START_TIMER', _fun125400);
};
value.actions = object;
return value;
function calculateHeartbeatDurationMs(a0) { // fn#125374, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:3061, owner: QuestProgressManager.calculateHeartbeatDurationMs, offset: 0x025d6aa8, size: 218 bytes, params: 2, frame: 17
const value = environment.__proto__.__proto__;
const value2 = QuestStore.quests.get(a0);
if (value2 == null) {
return env2_19;
}
if (value2.config == null) {
return env2_19;
}
const userStatus = value2.userStatus;
if (userStatus == null) {
return env2_19;
}
const getQuestTaskDetails = QuestTaskUtilsModule.getQuestTaskDetails;
const FirstPartyQuestTaskTypesSets = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypesSets;
const DESKTOP = FirstPartyQuestTaskTypesSets.DESKTOP;
const {progressSeconds, targetSeconds} = Reflect.apply(getQuestTaskDetails, QuestTaskUtilsModule, [value2, DESKTOP]);
const Math = global.Math;
const max = Math.max;
const value4 = targetSeconds - progressSeconds;
const Millis = (Durations).Millis;
const SECOND = Millis.SECOND;
const value5 = Reflect.apply(max, Math, [0, value4 * SECOND]);
return value5 <= env2_19 ? value5 + env2_20 : env2_19;
}
function initiateHeartbeat(a0, a1, a2) { // fn#125375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:3349, owner: QuestProgressManager.initiateHeartbeat, offset: 0x025d6b82, size: 161 bytes, params: 4, frame: 15
var maybeSendHeartbeat2;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
if (env0_0.heartbeats[a1].has(a0)) {
env2_21.log('~ initiateHeartbeat -> Heartbeat already initiated for questId: ' + a0);
} else {
maybeSendHeartbeat2 = maybeSendHeartbeat;
env2_21.log('~ initiateHeartbeat -> Initiating heartbeat for Quest ' + a0);
maybeSendHeartbeat2();
}
function maybeSendHeartbeat() { // fn#125376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:3499, owner: QuestProgressManager.initiateHeartbeat.maybeSendHeartbeat, offset: 0x025d6c23, size: 724 bytes, params: 1, frame: 24
var r8;
var r6;
var r7;
var log;
var value5;
var value6;
var value7;
var QuestHeartbeatExecutableFingerprintExperiment;
var binding3;
var currentUserActiveStream;
var value9;
var binding4;
var moduleValue3;
var calculateHeartbeatDurationMs;
var binding5;
var window;
var binding6;
let value = environment.__proto__;
let binding = env1_0;
const activelyProgressingQuests = binding.getActivelyProgressingQuests(require);
if (activelyProgressingQuests.has(env0_0)) {
value5 = activelyProgressingQuests.get(env0_0);
value6 = undefined;
r8 = (value5 == null ? value6 : value5.applicationId) ?? (importDefault == null ? value6 : importDefault.applicationId);
value7 = environment.__proto__.__proto__.__proto__;
QuestHeartbeatExecutableFingerprintExperiment = (require(9511) /* metro dependency 9511: experiments */).QuestHeartbeatExecutableFingerprintExperiment;
r6 = QuestHeartbeatExecutableFingerprintExperiment.getConfig({location: QuestsExperimentLocations.QUESTS_MANAGER}).enabled ? value5 == null ? value6 : value5.executableFingerprint : value6;
r7 = (value5 == null ? value6 : value5.executablePath) ?? (importDefault == null ? value6 : importDefault.executablePath);
if (require === (require(6535) /* metro dependency 6535: FirstPartyQuestTaskTypes */).FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP) {
currentUserActiveStream = ApplicationStreamingStore.getCurrentUserActiveStream();
if (currentUserActiveStream == null) {
binding = env3_21;
log = binding.log;
binding6 = env0_0;
Reflect.apply(log, binding,
['~ initiateHeartbeat -> Attempted to beat for stream quest but no active stream, terminating heartbeat for questId: ' + binding6]);
binding = env1_0;
binding.terminateHeartbeat(binding6, require);
return value6;
}
value9 = (require(4285) /* metro dependency 4285: StreamKeyUtils */).encodeStreamKey(currentUserActiveStream);
binding = env3_21;
log = binding.log;
binding4 = env0_0;
Reflect.apply(log, binding, ['~ initiateHeartbeat -> Sending heartbeat for questId: ' + binding4]);
moduleValue3 = require(9484) /* metro dependency 9484: QuestActionCreators */;
moduleValue3.sendHeartbeat({questId: binding4, streamKey: value9, applicationId: r8, executablePath: r7,
executableFingerprint: r6});
binding = env1_0;
calculateHeartbeatDurationMs = binding.calculateHeartbeatDurationMs;
binding5 = env0_0;
value = Reflect.apply(calculateHeartbeatDurationMs, binding, [binding5]);
window = global.window;
value = window.setTimeout(maybeSendHeartbeat, value);
binding = Module00005;
binding.set(binding5, value);
return undefined;
}
binding = env3_21;
log = binding.log;
binding3 = env0_0;
Reflect.apply(log, binding, ['~ initiateHeartbeat -> Sending heartbeat for questId: ' + binding3]);
(require(9484) /* metro dependency 9484: QuestActionCreators */).sendHeartbeat({questId: binding3,
applicationId: r8, executablePath: r7, executableFingerprint: r6});
binding = env1_0;
calculateHeartbeatDurationMs = binding.calculateHeartbeatDurationMs;
binding5 = env0_0;
value = Reflect.apply(calculateHeartbeatDurationMs, binding, [binding5]);
window = global.window;
value = window.setTimeout(maybeSendHeartbeat, value);
binding = Module00005;
binding.set(binding5, value);
} else {
binding = env3_21;
log = binding.log;
var binding2 = env0_0;
Reflect.apply(log, binding,
['~ initiateHeartbeat -> Quest ' + binding2 + ' is no longer actively progressing, terminating heartbeat']);
binding = env1_0;
binding.terminateHeartbeat(binding2, require);
}
}
}
function terminateHeartbeat(a0, a1) { // fn#125377, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:4870, owner: QuestProgressManager.terminateHeartbeat, offset: 0x025d6ef7, size: 240 bytes, params: 3, frame: 19
var value3;
const property = env0_0.heartbeats[a1];
const value = environment.__proto__.__proto__;
const quests = QuestStore.quests;
const value2 = property.get(a0);
if (value2 != null) {
env2_21.log('~ terminateHeartbeat -> Terminating heartbeat for questId: ' + a0);
global.window.clearTimeout(value2);
property.delete(a0);
value3 = quests.get(a0);
if (value3 != null && isQuestProgressable(value3)) {
env2_21.log('~ terminateHeartbeat -> Sending terminal heartbeat for questId: ' + a0);
(require(9484) /* metro dependency 9484: QuestActionCreators */).sendHeartbeat({questId: a0,
terminal: true});
}
}
}
function handleSendHeartbeatSuccess({questId, userStatus}) { // fn#125378, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:5250, owner: QuestProgressManager.handleSendHeartbeatSuccess, offset: 0x025d6fe7, size: 199 bytes, params: 2, frame: 18
var r1;
var Object;
var keys;
var heartbeats;
var value2;
var length;
var value3;
var property;
var terminateHeartbeat;
var value4;
let binding = env2_21;
let log = binding.log;
let HermesInternal = global.HermesInternal;
Reflect.apply(log, binding, ['~ handleSendHeartbeatSuccess -> Heartbeat succeeded for questId: ' + questId + ')']);
reducibleJoin3: while (true) {
if (userStatus.completedAt == null) {
break reducibleJoin3;
}
binding = env2_21;
log = binding.log;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
Reflect.apply(log, binding,
['~ handleSendHeartbeatSuccess -> Quest ' + questId + ' completed, terminating any heartbeats for it']);
Object = global.Object;
keys = Object.keys;
value = environment;
heartbeats = env0_0.heartbeats;
value2 = Reflect.apply(keys, Object, [heartbeats]);
length = value2.length;
value3 = 0;
if (!(value3 < length)) {
break reducibleJoin3;
}
r1 = value3;
reducibleLoop2: while (true) {
property = value2[r1];
binding = env0_0;
terminateHeartbeat = binding.terminateHeartbeat;
Reflect.apply(terminateHeartbeat, binding, [questId, property]);
value4 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
length = value2.length;
if (value4 < length) {
r1 = value4;
continue reducibleLoop2;
}
break reducibleJoin3;
}
}
}
function handleSendHeartbeatFailure({questId}) { // fn#125379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:5605, owner: QuestProgressManager.handleSendHeartbeatFailure, offset: 0x025d70ae, size: 55 bytes, params: 2, frame: 13
env2_21.log('~ handleSendHeartbeatFailure -> Heartbeat failed for questId: ' + questId);
}
function QuestProgressManagerQUESTS_FETCH_CURRENT_QUESTS_SUCCESS() { // fn#125380, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:5745, owner: QuestProgressManager.QUESTS_FETCH_CURRENT_QUESTS_SUCCESS, offset: 0x025d70e5, size: 95 bytes, params: 1, frame: 17
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const {PLAY_ON_DESKTOP,
STREAM_ON_DESKTOP} = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
return Reflect.apply(syncHeartbeats, binding, [[PLAY_ON_DESKTOP, STREAM_ON_DESKTOP],
'QUESTS_FETCH_CURRENT_QUESTS_SUCCESS']);
}
function QuestProgressManagerQUESTS_ENROLL_SUCCESS() { // fn#125381, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:5933, owner: QuestProgressManager.QUESTS_ENROLL_SUCCESS, offset: 0x025d7144, size: 130 bytes, params: 1, frame: 18
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const {PLAY_ON_DESKTOP, STREAM_ON_DESKTOP,
PLAY_ACTIVITY} = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
return Reflect.apply(syncHeartbeats, binding, [[PLAY_ON_DESKTOP, STREAM_ON_DESKTOP, PLAY_ACTIVITY],
'QUESTS_ENROLL_SUCCESS', function(a0) {
return !manualHeartbeatInitializationQuest(a0);
}]);
}
function QuestProgressManagerQUESTS_PREVIEW_UPDATE_SUCCESS() { // fn#125383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6326, owner: QuestProgressManager.QUESTS_PREVIEW_UPDATE_SUCCESS, offset: 0x025d71dc, size: 120 bytes, params: 1, frame: 17
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const {PLAY_ON_DESKTOP, STREAM_ON_DESKTOP,
PLAY_ACTIVITY} = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
return Reflect.apply(syncHeartbeats, binding, [[PLAY_ON_DESKTOP, STREAM_ON_DESKTOP, PLAY_ACTIVITY],
'QUESTS_PREVIEW_UPDATE_SUCCESS']);
}
function QuestProgressManagerRUNNING_GAMES_CHANGE() { // fn#125384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6556, owner: QuestProgressManager.RUNNING_GAMES_CHANGE, offset: 0x025d7254, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ON_DESKTOP = FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[PLAY_ON_DESKTOP], 'RUNNING_GAMES_CHANGE']);
}
function RUNNING_NON_GAMES_CHANGE() { // fn#125385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6679, owner: QuestProgressManager.RUNNING_NON_GAMES_CHANGE, offset: 0x025d729a, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ON_DESKTOP = FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[PLAY_ON_DESKTOP], 'RUNNING_NON_GAMES_CHANGE']);
}
function QuestProgressManagerSTREAM_START() { // fn#125386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6794, owner: QuestProgressManager.STREAM_START, offset: 0x025d72e0, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[STREAM_ON_DESKTOP], 'STREAM_START']);
}
function QuestProgressManagerSTREAM_CREATE() { // fn#125387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:6900, owner: QuestProgressManager.STREAM_CREATE, offset: 0x025d7326, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[STREAM_ON_DESKTOP], 'STREAM_CREATE']);
}
function QuestProgressManagerSTREAM_CLOSE() { // fn#125388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7006, owner: QuestProgressManager.STREAM_CLOSE, offset: 0x025d736c, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[STREAM_ON_DESKTOP], 'STREAM_CLOSE']);
}
function QuestProgressManagerPASSIVE_UPDATE_V2() { // fn#125389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7116, owner: QuestProgressManager.PASSIVE_UPDATE_V2, offset: 0x025d73b2, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[STREAM_ON_DESKTOP], 'PASSIVE_UPDATE_V2']);
}
function QuestProgressManagerVOICE_STATE_UPDATES() { // fn#125390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7233, owner: QuestProgressManager.VOICE_STATE_UPDATES, offset: 0x025d73f8, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
return Reflect.apply(syncHeartbeats, binding, [[STREAM_ON_DESKTOP], 'VOICE_STATE_UPDATES']);
}
async function _fun125393({applicationId}) { // fn#125393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7446, offset: 0x025d746a, size: 137 bytes, params: 2, frame: 19
var environment;
if (true) {
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__.__proto__;
await env3_26(applicationId);
if (false) {
return undefined;
}
var syncHeartbeats = QuestProgressManager.syncHeartbeats;
var FirstPartyQuestTaskTypes = env3_0(env3_2[27]).FirstPartyQuestTaskTypes;
var PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
Reflect.apply(syncHeartbeats, QuestProgressManager, [[PLAY_ACTIVITY], 'FRAME_LAUNCH', _fun125394]);
}
function _fun125394(a0) { // fn#125394, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7604, offset: 0x025d74f3, size: 22 bytes, params: 2, frame: 11
return !env4_28(a0);
}
}
function QuestProgressManagerFRAME_LAUNCH() { // fn#125395, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7651, owner: QuestProgressManager.FRAME_LAUNCH, offset: 0x00c3b2ba, size: 30 bytes, params: 1, frame: 13
return env0_1.apply(this, arguments);
}
function QuestProgressManagerFRAME_STOP() { // fn#125396, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7706, owner: QuestProgressManager.FRAME_STOP, offset: 0x025d7509, size: 70 bytes, params: 1, frame: 14
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
Reflect.apply(syncHeartbeats, binding, [[PLAY_ACTIVITY], 'FRAME_STOP']);
}
function QuestProgressManagerEMBEDDED_ACTIVITY_UPDATE_V2() { // fn#125397, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:7822, owner: QuestProgressManager.EMBEDDED_ACTIVITY_UPDATE_V2, offset: 0x025d754f, size: 80 bytes, params: 1, frame: 16
const binding = env0_0;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
Reflect.apply(syncHeartbeats, binding, [[PLAY_ACTIVITY], 'EMBEDDED_ACTIVITY_UPDATE_V2', function(a0) {
return !manualHeartbeatInitializationQuest(a0);
}]);
}
function QUEST_APPLICATION_START_TIMER({questId}) { // fn#125399, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:8001, owner: QuestProgressManager.QUEST_APPLICATION_START_TIMER, offset: 0x025d759f, size: 95 bytes, params: 2, frame: 16
const binding = questId;
const syncHeartbeats = binding.syncHeartbeats;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
Reflect.apply(syncHeartbeats, binding, [[PLAY_ACTIVITY], 'QUEST_APPLICATION_START_TIMER', _fun125400]);
function _fun125400(a0) { // fn#125400, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:8118, offset: 0x025d75fe, size: 47 bytes, params: 2, frame: 12
let value = a0 != null;
let r0 = value && a0.id === questId;
if (r0) {
value = environment.__proto__.__proto__.__proto__;
value = manualHeartbeatInitializationQuest(a0);
r0 = value;
}
return r0;
}
}
}
function value_125402(a0) { // fn#125402, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:8330, offset: 0x025d762d, size: 191 bytes, params: 2, frame: 15
const value = environment.__proto__;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const PLAY_ON_DESKTOP = FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP;
if (PLAY_ON_DESKTOP === a0) {
return this.getActivelyProgressingPlayOnDesktopQuests();
}
const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
if (STREAM_ON_DESKTOP === a0) {
return this.getActivelyProgressingStreamOnDesktopQuests();
}
const PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY;
if (PLAY_ACTIVITY === a0) {
return this.getActivelyProgressingActivityQuests();
}
(GlobalUtilsModule).assertNever(a0);
}
function value_125403() { // fn#125403, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:8776, offset: 0x025d76ec, size: 480 bytes, params: 1, frame: 30
var r11;
var id;
var r6;
var r4;
var value8;
var isLauncher;
var getOverrideForGame;
var value9;
var distributor;
var detectableGameStoreBinding;
var findGame;
var game;
var value10;
var value13;
var value14;
var value17;
const Map = global.Map;
const map = new Map();
let runningGameStoreNativeBinding = RunningGameStoreNative;
const runningGames = runningGameStoreNativeBinding.getRunningGames();
const runningNonGames = runningGameStoreNativeBinding.getRunningNonGames();
let binding = env1_21;
let log = binding.log;
Reflect.apply(log, binding, ['~ getActivelyProgressingPlayOnDesktopQuestIds -> Running games: ', runningGames,
'Running non-games: ', runningNonGames]);
const object = {};
const _createForOfIteratorHelperLoose_125364Binding = _createForOfIteratorHelperLoose_125364;
const value5 = undefined;
const value6 = _createForOfIteratorHelperLoose_125364Binding(runningGames);
const value7 = value6();
let done = value7.done;
if (!done) {
r11 = value7;
reducibleLoop1: while (true) {
value8 = r11.value;
isLauncher = value8.isLauncher;
reducibleJoin10: while (true) {
if (isLauncher) {
break reducibleJoin10;
}
id = value8.id;
if (id == null) {
runningGameStoreNativeBinding = RunningGameStoreNative;
getOverrideForGame = runningGameStoreNativeBinding.getOverrideForGame;
value9 = Reflect.apply(getOverrideForGame, runningGameStoreNativeBinding, [value8]);
distributor = value8.distributor;
if (distributor == null) {
if (value9 != null) {
break reducibleJoin10;
}
}
detectableGameStoreBinding = DetectableGameStore;
findGame = detectableGameStoreBinding.findGame;
game = Reflect.apply(findGame, detectableGameStoreBinding, [value8]);
reducibleJoin8: while (true) {
if (game == null) {
id = value5;
break reducibleJoin8;
}
id = game.id;
break reducibleJoin8;
}
if (id == null) {
break reducibleJoin10;
}
id = game.id;
object[id] = value8;
break reducibleJoin10;
}
id = value8.id;
object[id] = value8;
break reducibleJoin10;
}
value10 = value6();
done = value10.done;
if (done) {
break reducibleLoop1;
}
r11 = value10;
continue reducibleLoop1;
}
}
const value11 = _createForOfIteratorHelperLoose_125364(runningNonGames);
const value12 = value11();
done = value12.done;
if (!done) {
r6 = value12;
reducibleLoop12: while (true) {
value13 = r6.value;
id = value13.id;
reducibleJoin14: while (true) {
if (id == null) {
break reducibleJoin14;
}
id = value13.id;
object[id] = value13;
break reducibleJoin14;
}
value14 = value11();
done = value14.done;
if (done) {
break reducibleLoop12;
}
r6 = value14;
continue reducibleLoop12;
}
}
const value_125403_loop2 = value_125403_loop;
const Object = global.Object;
const value15 = Object.keys(object);
let length = value15.length;
const value16 = 0;
if (value16 < length) {
r4 = value16;
reducibleLoop16: while (true) {
value_125403_loop2(value15[r4]);
value17 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
length = value15.length;
if (value17 < length) {
r4 = value17;
continue reducibleLoop16;
}
break reducibleLoop16;
}
}
binding = env1_21;
log = binding.log;
const Array = global.Array;
Reflect.apply(log, binding, ['~ getActivelyProgressingPlayOnDesktopQuestIds -> Actively progressing questIds: ',
Array.from(map.keys())]);
return map;
function value_125403_loop(a0) { // fn#125404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:9328, owner: value_125403._loop, offset: 0x025d78cc, size: 349 bytes, params: 2, frame: 30
var r3;
var value6;
var moduleValue2;
var desktopApplicationIds;
var value8;
var binding;
var set;
var id;
var ROBLOX_APPLICATION_ID;
var executableFingerprint;
var value9;
const env0_0 = a0;
const property = env0_2[a0];
const value3 = GameAnalyticsUtilsModule.removeExecutablePathPrefix(property.exePath);
const _createForOfIteratorHelperLoose_125364Binding = _createForOfIteratorHelperLoose_125364;
const questsBinding = quests;
const value4 = _createForOfIteratorHelperLoose_125364Binding(questsBinding.values());
const value5 = value4();
let done = value5.done;
if (!done) {
r3 = value5;
while (true) {
value6 = r3.value;
moduleValue2 = require(7116) /* metro dependency 7116: QuestTaskUtils */;
desktopApplicationIds = moduleValue2.getDesktopApplicationIds(value6);
if (isQuestProgressable(value6)) {
if (desktopApplicationIds == null) {
break;
}
value8 = desktopApplicationIds.find(_fun125405);
if (value8 != null) {
binding = env0_0;
set = binding.set;
id = value6.id;
executableFingerprint = property.executableFingerprint;
Reflect.apply(set, binding, [id, {applicationId: value8, executablePath: value3,
executableFingerprint: executableFingerprint}]);
break;
}
if (isQuestRobloxRelated(desktopApplicationIds, property)) {
binding = env0_0;
set = binding.set;
id = value6.id;
ROBLOX_APPLICATION_ID = (require(4484) /* metro dependency 4484: RobloxSubgameTypes */).ROBLOX_APPLICATION_ID;
executableFingerprint = property.executableFingerprint;
Reflect.apply(set, binding, [id, {applicationId: ROBLOX_APPLICATION_ID, executablePath: value3,
executableFingerprint: executableFingerprint}]);
break;
}
break;
}
value9 = value4();
done = value9.done;
if (done) {
break;
}
r3 = value9;
continue;
}
}
function _fun125405(a0) { // fn#125405, offset: 0x00fcba1c, size: 16 bytes, params: 2, frame: 2
return a0 === env0_0;
}
}
}
function value_125406() { // fn#125406, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:10066, offset: 0x025d7a29, size: 334 bytes, params: 1, frame: 22
var r4;
var r11;
var value9;
var moduleValue;
var streamingApplicationId;
var isQuestProgressable2;
var value11;
var set;
var id2;
var value12;
const Map = global.Map;
const map = new Map();
const currentUserActiveStream = ApplicationStreamingStore.getCurrentUserActiveStream();
if (currentUserActiveStream != null) {
var sortedVoiceStateStoreBinding = SortedVoiceStateStore;
if (sortedVoiceStateStoreBinding.countVoiceStatesForChannel(currentUserActiveStream.channelId) < 2) {
return map;
}
var streamerActiveStreamMetadata = ApplicationStreamingStore.getStreamerActiveStreamMetadata();
if (streamerActiveStreamMetadata == null) {
return map;
}
var binding = env1_21;
var log = binding.log;
Reflect.apply(log, binding, ['~ getActivelyProgressingStreamOnDesktopQuestIds -> Active stream metadata: ',
streamerActiveStreamMetadata]);
var id = streamerActiveStreamMetadata.id;
if (id == null) {
return map;
}
var value7 = _createForOfIteratorHelperLoose_125364(QuestStore.quests.values());
var value8 = value7();
var done = value8.done;
if (!done) {
r4 = value8;
while (true) {
value9 = r4.value;
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
streamingApplicationId = moduleValue.getStreamingApplicationId(value9);
isQuestProgressable2 = isQuestProgressable(value9);
if (isQuestProgressable2) {
value11 = streamingApplicationId != null;
r11 = value11;
} else {
r11 = isQuestProgressable2;
}
if (!r11) {
continue;
}
if (streamingApplicationId !== id) {
continue;
}
set = map.set;
id2 = value9.id;
Reflect.apply(set, map, [id2, {applicationId: id}]);
value12 = value7();
done = value12.done;
if (done) {
break;
}
r4 = value12;
continue;
}
}
binding = env1_21;
log = binding.log;
var Array = global.Array;
Reflect.apply(log, binding,
['~ getActivelyProgressingStreamOnDesktopQuestIds -> Actively progressing questIds: ',
Array.from(map.keys())]);
}
return map;
}
function value_125407() { // fn#125407, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16426:10804, offset: 0x025d7b77, size: 538 bytes, params: 1, frame: 29
var r8;
var r12;
var r3;
var r4;
var value11;
var values;
var value12;
var value13;
var value14;
var moduleValue;
var playActivityApplicationId;
var isQuestProgressable2;
var value16;
var id;
var value17;
var value18;
var value21;
var isQuestProgressable3;
var moduleValue2;
var isPlayAnyActivityQuest2;
var value22;
const Map = global.Map;
const map = new Map();
const selfEmbeddedActivities = EmbeddedActivitiesStore.getSelfEmbeddedActivities();
const connectedFrame = FramesStore.getConnectedFrame();
const Set = global.Set;
let set = new Set(selfEmbeddedActivities.keys());
if (connectedFrame != null) {
set.add(connectedFrame.applicationId);
}
let binding = env1_21;
let log = binding.log;
let Array = global.Array;
Reflect.apply(log, binding, ['~ getActivelyProgressingActivityQuestIds -> Running activity applicationIds: ',
Array.from(set)]);
if (set.size !== 0) {
var quests = QuestStore.quests;
var value9 = _createForOfIteratorHelperLoose_125364(set);
var value10 = value9();
var done = value10.done;
if (!done) {
r8 = value10;
while (true) {
value11 = r8.value;
_createForOfIteratorHelperLoose_125364Binding = _createForOfIteratorHelperLoose_125364;
values = quests.values;
value12 = _createForOfIteratorHelperLoose_125364Binding(Reflect.apply(values, quests, []));
value13 = value12();
done = value13.done;
if (!done) {
r12 = value13;
while (true) {
value14 = r12.value;
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
playActivityApplicationId = moduleValue.getPlayActivityApplicationId(value14);
isQuestProgressable2 = isQuestProgressable(value14);
if (isQuestProgressable2) {
value16 = playActivityApplicationId != null;
r3 = value16;
} else {
r3 = isQuestProgressable2;
}
if (!r3) {
continue;
}
if (playActivityApplicationId !== value11) {
continue;
}
set = map.set;
id = value14.id;
Reflect.apply(set, map, [id, {applicationId: value11}]);
value17 = value12();
done = value17.done;
if (done) {
break;
}
r12 = value17;
continue;
}
}
value18 = value9();
done = value18.done;
if (done) {
break;
}
r8 = value18;
continue;
}
}
var value19 = _createForOfIteratorHelperLoose_125364(quests.values());
var value20 = value19();
done = value20.done;
if (!done) {
r4 = value20;
while (true) {
value21 = r4.value;
isQuestProgressable3 = isQuestProgressable(value21);
if (isQuestProgressable3) {
moduleValue2 = require(7114) /* metro dependency 7114: QuestUtils */;
isPlayAnyActivityQuest2 = moduleValue2.isPlayAnyActivityQuest(value21);
r8 = isPlayAnyActivityQuest2;
} else {
r8 = isQuestProgressable3;
}
if (!r8) {
continue;
}
set = map.set;
id = value21.id;
Reflect.apply(set, map, [id, {applicationId: DISCORD_APPLICATION_ID}]);
value22 = value19();
done = value22.done;
if (done) {
break;
}
r4 = value22;
continue;
}
}
binding = env1_21;
log = binding.log;
Array = global.Array;
Reflect.apply(log, binding, ['~ getActivelyProgressingActivityQuestIds -> Actively progressing questIds: ',
Array.from(map.keys())]);
}
return map;
}
}
}
global.__d(_fun125360, 16218, [57, 5, 6, 7, 15, 17, 18, 1378, 8065, 4266, 4492, 4267, 4300, 7093, 15385, 6528, 672,
7099, 7091, 9511, 9524, 6529, 9484, 6531, 7120, 4484, 4483, 6535, 7116, 4285, 1360, 4482, 7114, 4860,
2]) /* metro module 16218, dependencies: [57, 5, 6, 7, 15, 17, 18, 1378, 8065, 4266, 4492, 4267, 4300, 7093, 15385, 6528, 672, 7099, 7091, 9511, 9524, 6529, 9484, 6531, 7120, 4484, 4483, 6535, 7116, 4285, 1360, 4482, 7114, 4860, 2] */;