// Metro module 9469 (f9470). import { getVisibleGuildIdsMethod } from "../guild_sidebar/SidebarVisibilityMethodStore"; import ExpandedGuildFolderStore from "../../stores/ExpandedGuildFolderStore"; import NetworkStore from "../../stores/NetworkStore"; import SortedGuildStore from "../../stores/SortedGuildStore"; import QuestStore from "./QuestStore"; import VideoQuestUIStore, { FetchStatus } from "./VideoQuestUIStore"; import { ORBS_INTRO_QUEST_ID } from "./QuestConstants"; import { Endpoints, AnalyticEvents } from "../../Constants"; import { HTTP } from "../../_bundle/sendRequest"; import Dispatcher from "../../Dispatcher"; import APIError from "../../errors/APIError"; import { QuestConsoleStartErrorLocal, AdPlacement } from "./QuestTypes"; import { intl, t } from "../../intl/index.native"; import { isQuestWithKnownConfigVersion, questWithUserStatusFromServer, excludedQuestFromServer, getClaimedQuestWithUserStatusFromServer, questUserStatusFromServer, questsEntitlementsFromServer, questsRewardCodeFromServer, questConfigFromServer } from "./utils/QuestServerUtils"; import SentryUtils_native from "../../utils/SentryUtils.native"; import TrackedHTTPUtils from "../../utils/TrackedHTTPUtils"; import { NetworkActionNames } from "../../_bundle/Module503"; import { CaptchaCancelError } from "../captcha/SharedCaptchaUtils"; import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "./experiments/AdAnalyticsInterfaceExperiment"; import { captureAdUserAction } from "../ads/analytics/captureAdUserAction"; import { AdUserActionType } from "../ads/analytics/captureAdUserActionTypes"; import { AdCreativeType } from "../../_bundle/Module6013"; import { trackQuestContentClicked } from "./lib/analytics/AnalyticsActions"; import { dismissOrbsOnboardingExperience } from "../virtual_currency/VirtualCurrencyUtils"; import * as _QuestDataUtils from "./utils/QuestDataUtils"; import { getAdMetadataSealed, getAdTrafficMetadataSealed, getAdDecisionData, earnedDecisionIsValid } from "./utils/QuestDataUtils"; import QuestDecisionRoundtripTracker from "./QuestDecisionRoundtripTracker"; import { getSession } from "../analytics_sessions/SessionHeartbeatScheduler"; import { getOrRefreshAdSession } from "../analytics_sessions/SessionAdGenerator"; import { LessPersonalizedAdsExperiment } from "./experiments/LessPersonalizedAdsExperiment"; import { isPseudoGuildId } from "../routing/RouteUtils"; import QuestBarRenderDelayTracker from "./QuestBarRenderDelayTracker"; import AnalyticsUtils from "../../utils/AnalyticsUtils"; import getDeviceMetadata_native from "../device/getDeviceMetadata.native"; import EarnedDecisionRoundtripTracker from "./EarnedDecisionRoundtripTracker"; import { getQuestAsset, QuestAssetType } from "./lib/AssetUtils"; import Durations from "../../utils/Durations"; import { questHomeHeroFromServer } from "./QuestHomeHeroTypes"; import { HermesBuiltin } from "../../_hermes/prelude"; function $mk115473($env) { return (a0) => isQuestWithKnownConfigVersion(a0); } function $mk115474($env) { return (a0) => questWithUserStatusFromServer(a0); } function $mk115478($env) { return (a0) => !$env[7].includes(a0); } function $mk115480($env) { return (a0) => !$env[9].includes(a0); } function $mk115481($env) { return (a0) => !$env[9].includes(a0); } function $mk115482($env) { return (a0) => excludedQuestFromServer(a0); } function $mk115483($env) { return function isCaptchaError(a0) { return a0 instanceof CaptchaCancelError || a0 != null && typeof a0 === "object" && (a0.status === 400 && a0.body?.captcha_key != null || a0.captchaFields != null && Object.keys(a0.captchaFields).length > 0 || a0.fields?.captcha_key != null); }; } function $mk115484($env) { return (a0) => getClaimedQuestWithUserStatusFromServer(a0); } function $mk115485($env) { return (a0) => { if (isPseudoGuildId(a0)) { return false; } const node = $env[8].getNode(a0); return node?.parentId == null || ExpandedGuildFolderStore.isFolderExpanded(node.parentId); }; } function $mk115486($env) { return (a0) => $env[11].append("visible_guild_ids", a0); } function $mk115488($env) { return (a0) => { const r8 = $env[7]; const r5 = r8 == null ? void 0 : r8[a0]; const r9 = [a0, ,]; const r10 = r5 != null; let r11 = null; if (r10) { r11 = isQuestWithKnownConfigVersion(r5) ? r5 : null; } r9[1] = r11; return r9; }; } let env6245 = {}; const c6245_19 = { SUCCESS: "success", CAPTCHA_FAILED: "captcha_failed", UNKNOWN_ERROR: "unknown_error", PREVIOUS_IN_FLIGHT_REQUEST: "previous_in_flight_request" }; const c6245_34 = 5 * Durations.Millis.MINUTE; export async function manuallyStartConsoleQuest(c26441_0, c26441_1) { let r109, r120, r162, r180; let anyErrorMessage, c26441_5; let c26441_6 = 0; let c30089_1, c30089_0, c30089_2, c30089_3, c30089_4, c30089_5; L22: { L21: { try { c30089_1 = void 0; c30089_0 = c26441_0; if (c26441_1 !== void 0) { c30089_1 = c26441_1; c30089_2 = void 0; c30089_3 = void 0; c30089_4 = void 0; } else { c30089_1 = false; c30089_2 = void 0; c30089_3 = void 0; c30089_4 = void 0; } await void 0; c26441_6 = 1; c30089_2 = (await HTTP.post({ url: Endpoints.QUEST_ON_CONSOLE_START(c30089_0), query: c30089_1 ? { preview: c30089_1 } : void 0, failImmediatelyWhenRateLimited: true, rejectWithError: false })).body; if (c30089_2.quest_user_status != null) { Dispatcher.dispatch({ type: "QUESTS_USER_STATUS_UPDATE", user_status: c30089_2.quest_user_status }); } else if (c30089_2.error_hints_v2 != null && c30089_2.error_hints_v2.length > 0) { r120 = { errorHints: c30089_2.error_hints_v2.slice(0, 5) }; c26441_6 = 0; break L21; } c26441_6 = 0; r109 = { errorHints: [] }; break L22; } catch ($e) { const r34 = $e; let r8 = r34; c26441_5 = r34; if (c26441_6 !== 0) { while (true) { L35: { try { const r129 = c26441_5; c26441_6 = 0; c30089_5 = r129; c30089_3 = new APIError(c30089_5); if (c30089_3.status === 429) { r162 = { errorHints: [{ type: QuestConsoleStartErrorLocal.RATE_LIMITED, message: intl.string(t.Whhv4w), connected_account_id: "", connected_account_type: "" }] }; break L35; } anyErrorMessage = c30089_3.getAnyErrorMessage(); if (anyErrorMessage == null) { anyErrorMessage = intl.string(t.xSCvBf); } c30089_4 = anyErrorMessage; r180 = { errorHints: [{ type: QuestConsoleStartErrorLocal.GENERIC, message: c30089_4, connected_account_id: "", connected_account_type: "" }] }; } catch (r125) { r8 = r125; c26441_5 = r125; if (c26441_6 === 0) { break; } continue; } return r180; } return r162; } } throw r8; } } return r120; } return r109; } export async function manualStopConsoleQuest(c26442_0) { await HTTP.post({ url: Endpoints.QUEST_ON_CONSOLE_STOP(c26442_0), rejectWithError: false }); } export async function resetRecentQuestCompletions() { await HTTP.del({ url: Endpoints.QUESTS_RESET_RECENT_QUEST_COMPLETIONS, rejectWithError: false }); } export async function fetchCurrentQuests() { let c26444_0, c26444_1, c26444_2, c26444_3; let c26444_4 = 0; const r10 = env6245; L13: { L12: { try { let env30090; c26444_2 = r10; const r14 = env30090 = { $parent: r10 }; c26444_1 = r14; env30090[0] = void 0; env30090[1] = void 0; env30090[2] = void 0; env30090[3] = void 0; env30090[4] = void 0; env30090[5] = void 0; env30090[6] = void 0; env30090[7] = void 0; env30090[8] = void 0; env30090[9] = void 0; env30090[10] = void 0; env30090[11] = void 0; env30090[12] = void 0; if (QuestStore.isFetchingCurrentQuests) { break L13; } c26444_0 = 0; const r22 = QuestStore.quests.keys(); const r36 = []; c26444_0 = HermesBuiltin.arraySpread(r36, r22, c26444_0); env30090[0] = r36; Dispatcher.dispatch({ type: "QUESTS_FETCH_CURRENT_QUESTS_BEGIN" }); c26444_4 = 1; const r59 = await HTTP.get({ url: Endpoints.QUESTS_CURRENT_QUESTS, rejectWithError: false }); const r69 = c26444_1; env30090[1] = r59; env30090[2] = env30090[1].body.quests; const r18 = env30090[2]; const r74 = env6245; env30090[3] = r18.filter($mk115473(r74)).map($mk115474(r74)); env30090[4] = env30090[1].body.quest_enrollment_blocked_until; env30090[5] = env30090[3].filter((item) => item.userStatus?.claimedAt != null || item.config.rewardsConfig.platforms.length > 0); env30090[6] = env30090[2].map((item) => item.id); env30090[7] = env30090[3].map((item) => item.id); env30090[8] = env30090[6].filter($mk115478(r69)); env30090[9] = env30090[5].map((item) => item.id); env30090[10] = env30090[7].filter($mk115480(r69)); env30090[11] = env30090[0].filter($mk115481(r69)); SentryUtils_native.addBreadcrumb({ category: "quests.fetch", message: "fetchCurrentQuests completed", data: { rawCount: env30090[6].length, rawIds: env30090[6], validCount: env30090[9].length, validIds: env30090[9], prevQuestIds: env30090[0], droppedByConfigVersion: env30090[8], droppedByPlatformFilter: env30090[10], removedFromStore: env30090[11] } }); env30090[12] = env30090[1].body.excluded_quests.map($mk115482(r74)); Dispatcher.dispatch({ type: "QUESTS_FETCH_CURRENT_QUESTS_SUCCESS", quests: env30090[5], excludedQuests: env30090[12], questEnrollmentBlockedUntil: env30090[4] }); c26444_4 = 0; } catch ($e) { const r30 = $e; let r8 = r30; c26444_3 = r30; if (c26444_4 !== 0) { while (true) { try { const r151 = c26444_3; c26444_4 = 0; env30090[13] = r151; Dispatcher.dispatch({ type: "QUESTS_FETCH_CURRENT_QUESTS_FAILURE", error: new APIError(env30090[13]) }); break L12; } catch (r147) { r8 = r147; c26444_3 = r147; if (c26444_4 === 0) { break; } } } } throw r8; } } return void 0; } } export async function sendHeartbeat(c26445_0) { let stack, c26445_4; let c26445_5 = 0; let c30091_0, c30091_1, c30091_2, c30091_3, c30091_4, c30091_5, c30091_6, c30091_7; L17: { try { c30091_0 = void 0; c30091_1 = void 0; c30091_2 = void 0; c30091_3 = void 0; c30091_4 = void 0; c30091_5 = void 0; c30091_0 = c26445_0.questId; c30091_1 = c26445_0.streamKey; c30091_2 = c26445_0.applicationId; const terminal = c26445_0.terminal; if (terminal !== void 0) { c30091_3 = terminal; c30091_4 = c26445_0.executablePath; c30091_5 = c26445_0.executableFingerprint; c30091_6 = void 0; } else { c30091_3 = false; c30091_4 = c26445_0.executablePath; c30091_5 = c26445_0.executableFingerprint; c30091_6 = void 0; } await void 0; c26445_5 = 1; const r70 = { url: Endpoints.QUESTS_HEARTBEAT(c30091_0), body: { stream_key: c30091_1, application_id: c30091_2, terminal: c30091_3, executable_path: c30091_4, executable_fingerprint: c30091_5 }, trackedActionData: null, rejectWithError: false }; stack = new Error().stack; if (stack == null) { stack = ""; } r70.trackedActionData = { event: NetworkActionNames.QUEST_HEARTBEAT, properties: { quest_id: c30091_0, application_id: c30091_2, terminal: c30091_3, is_overlay: false, stack_trace: stack, is_playtime_eligible: true } }; c30091_6 = await TrackedHTTPUtils.post(r70); Dispatcher.dispatch({ type: "QUESTS_SEND_HEARTBEAT_SUCCESS", userStatus: questUserStatusFromServer(c30091_6.body), questId: c30091_0, streamKey: c30091_1 }); c26445_5 = 0; } catch ($e) { const r34 = $e; let r8 = r34; c26445_4 = r34; if (c26445_5 !== 0) { while (true) { try { const r140 = c26445_4; c26445_5 = 0; c30091_7 = r140; Dispatcher.dispatch({ type: "QUESTS_SEND_HEARTBEAT_FAILURE", error: new APIError(c30091_7), questId: c30091_0, streamKey: c30091_1 }); break L17; } catch (r136) { r8 = r136; c26445_4 = r136; if (c26445_5 === 0) { break; } } } } throw r8; } } } export { c6245_19 as QuestEnrollmentResultType }; export async function enrollInQuest(questId, c26446_1) { let r87, r169, r196; let c26446_2, c26446_3, c26446_4; let c26446_5 = 0; const r10 = env6245; L22: { try { let env30092; c26446_3 = r10; const r34 = env30092 = { $parent: r10 }; c26446_2 = r34; env30092[0] = questId; env30092[1] = void 0; if (c26446_1.questContentCTA != null) { const questContentCTA = c26446_1.questContentCTA; if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "enroll_in_quest")) { captureAdUserAction({ type: AdUserActionType.CLICK_INTERNAL, adCreativeType: AdCreativeType.QUEST, adCreativeId: questId, questContentCTA, surfaceId: c26446_1.questContent, sourceQuestContent: c26446_1.sourceQuestContent, questContentPosition: c26446_1.questContentPosition, questContentRowIndex: c26446_1.questContentRowIndex }); } else { trackQuestContentClicked({ questId, questContent: c26446_1.questContent, questContentCTA, questContentPosition: c26446_1.questContentPosition, questContentRowIndex: c26446_1.questContentRowIndex, sourceQuestContent: c26446_1.sourceQuestContent }); } } if (questId === ORBS_INTRO_QUEST_ID) { dismissOrbsOnboardingExperience(); } if (QuestStore.isEnrolling(questId)) { r87 = { type: c6245_19.PREVIOUS_IN_FLIGHT_REQUEST }; break L22; } Dispatcher.dispatch({ type: "QUESTS_ENROLL_BEGIN", questId }); c26446_5 = 1; const adMetadataSealed = getAdMetadataSealed(c26446_1.questContent); const adTrafficMetadataSealed = getAdTrafficMetadataSealed(c26446_1.questContent, questId); env30092[1] = await HTTP.post({ url: Endpoints.QUESTS_ENROLL(questId), body: { location: c26446_1.questContent, ...getAdDecisionData(questId, c26446_1.questContent), metadata_sealed: adMetadataSealed ?? null, traffic_metadata_sealed: adTrafficMetadataSealed ?? null }, rejectWithError: true }); Dispatcher.dispatch({ type: "QUESTS_ENROLL_SUCCESS", enrolledQuestUserStatus: questUserStatusFromServer(env30092[1].body) }); r169 = { type: c6245_19.SUCCESS }; c26446_5 = 0; } catch ($e) { const r32 = $e; let r8 = r32; c26446_4 = r32; if (c26446_5 !== 0) { while (true) { try { const r178 = c26446_4; c26446_5 = 0; env30092[2] = r178; Dispatcher.dispatch({ type: "QUESTS_ENROLL_FAILURE", questId: env30092[0] }); const r188 = env30092[2]; const r191 = $mk115483(env6245)(r188); const r193 = { type: null }; if (r191) { r193.type = c6245_19.CAPTCHA_FAILED; r196 = r193; } else { r193.type = c6245_19.UNKNOWN_ERROR; r196 = r193; } } catch (r174) { r8 = r174; c26446_4 = r174; if (c26446_5 === 0) { break; } continue; } return r196; } } throw r8; } return r169; } return r87; } export async function claimQuestReward(questId2, platform2, location2) { let r127; let c26447_5; let c26447_6 = 0; let c30093_0, c30093_1, c30093_2, c30093_3; L19: { try { c30093_0 = questId2; c30093_1 = void 0; c30093_2 = void 0; if (QuestStore.isClaimingReward(questId2)) { break L19; } Dispatcher.dispatch({ type: "QUESTS_CLAIM_REWARD_BEGIN", questId: questId2 }); c26447_6 = 1; const adMetadataSealed = getAdMetadataSealed(location2); const adTrafficMetadataSealed = getAdTrafficMetadataSealed(location2, questId2); c30093_1 = await HTTP.post({ url: Endpoints.QUESTS_CLAIM_REWARD(questId2), body: { platform: platform2, location: location2, ...getAdDecisionData(questId2, location2), metadata_sealed: adMetadataSealed ?? null, traffic_metadata_sealed: adTrafficMetadataSealed ?? null }, rejectWithError: false }); c30093_2 = questsEntitlementsFromServer(c30093_1.body); if (c30093_2.errors.length === 0) { Dispatcher.dispatch({ type: "QUESTS_CLAIM_REWARD_SUCCESS", questId: c30093_0, entitlements: c30093_2 }); } else { Dispatcher.dispatch({ type: "QUESTS_CLAIM_REWARD_FAILURE", error: c30093_2.errors, questId: c30093_0 }); } r127 = c30093_2; c26447_6 = 0; } catch ($e) { const r32 = $e; let r8 = r32; c26447_5 = r32; if (c26447_6 !== 0) { while (true) { try { const r136 = c26447_5; c26447_6 = 0; c30093_3 = r136; Dispatcher.dispatch({ type: "QUESTS_CLAIM_REWARD_FAILURE", error: new APIError(c30093_3), questId: c30093_0 }); throw c30093_3; } catch (r132) { r8 = r132; c26447_5 = r132; if (c26447_6 === 0) { break; } } } } throw r8; } return r127; } } export async function fetchQuestRewardCode(questId3) { let c26448_3; let c26448_4 = 0; let c30094_0, c30094_1, c30094_2; L13: { try { c30094_0 = questId3; c30094_1 = void 0; if (QuestStore.isFetchingRewardCode(questId3)) { break L13; } Dispatcher.dispatch({ type: "QUESTS_FETCH_REWARD_CODE_BEGIN", questId: questId3 }); c26448_4 = 1; c30094_1 = await HTTP.get({ url: Endpoints.QUESTS_REWARD_CODE(questId3), rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_FETCH_REWARD_CODE_SUCCESS", questId: c30094_0, rewardCode: questsRewardCodeFromServer(c30094_1.body) }); c26448_4 = 0; } catch ($e) { const r27 = $e; let r8 = r27; c26448_3 = r27; if (c26448_4 !== 0) { while (true) { try { const r89 = c26448_3; c26448_4 = 0; c30094_2 = r89; Dispatcher.dispatch({ type: "QUESTS_FETCH_REWARD_CODE_FAILURE", error: new APIError(c30094_2), questId: c30094_0 }); throw c30094_2; } catch (r85) { r8 = r85; c26448_3 = r85; if (c26448_4 === 0) { break; } } } } throw r8; } return void 0; } } export async function dismissQuestContent(questId4, content) { let c26449_4; let c26449_5 = 0; let c30095_0, c30095_1, c30095_2; L16: { L15: { try { c30095_0 = questId4; c30095_1 = void 0; const isDismissingContent = QuestStore.isDismissingContent(questId4); const isDismissible = _QuestDataUtils.isDismissible(content); if (isDismissingContent) { break L16; } if (!isDismissible) { break L16; } Dispatcher.dispatch({ type: "QUESTS_DISMISS_CONTENT_BEGIN", questId: questId4, content }); c26449_5 = 1; const adTrafficMetadataSealed = getAdTrafficMetadataSealed(content, questId4); c30095_1 = await HTTP.post({ url: Endpoints.QUESTS_DISMISS_CONTENT(questId4, content), body: { ...getAdDecisionData(questId4, content), traffic_metadata_sealed: adTrafficMetadataSealed ?? null }, rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_DISMISS_CONTENT_SUCCESS", dismissedQuestUserStatus: questUserStatusFromServer(c30095_1.body) }); c26449_5 = 0; } catch ($e) { const r31 = $e; let r8 = r31; c26449_4 = r31; if (c26449_5 !== 0) { while (true) { try { const r112 = c26449_4; c26449_5 = 0; c30095_2 = r112; Dispatcher.dispatch({ type: "QUESTS_DISMISS_CONTENT_FAILURE", error: new APIError(c30095_2), questId: c30095_0 }); break L15; } catch (r108) { r8 = r108; c26449_4 = r108; if (c26449_5 === 0) { break; } } } } throw r8; } } return void 0; } } export function dismissProgressTrackingFailureNotice(a0) { Dispatcher.dispatch({ type: "QUESTS_DISMISS_PROGRESS_TRACKING_FAILURE_NOTICE", streamKey: a0 }); } export async function completeQuestPreview(c26450_0, c26450_1) { let c26450_4; let c26450_5 = 0; let c30096_1, c30096_0, c30096_2, c30096_3; L15: { try { c30096_1 = void 0; c30096_0 = c26450_0; if (c26450_1 !== void 0) { c30096_1 = c26450_1; c30096_2 = void 0; } else { c30096_1 = 1; c30096_2 = void 0; } await void 0; c26450_5 = 1; c30096_2 = await HTTP.post({ url: Endpoints.QUESTS_PREVIEW_COMPLETE(c30096_0), body: { percent: c30096_1 }, rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_SUCCESS", previewQuestUserStatus: questUserStatusFromServer(c30096_2.body) }); c26450_5 = 0; } catch ($e) { const r29 = $e; let r8 = r29; c26450_4 = r29; if (c26450_5 !== 0) { while (true) { try { const r101 = c26450_4; c26450_5 = 0; c30096_3 = r101; Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_FAILURE", error: new APIError(c30096_3), questId: c30096_0 }); break L15; } catch (r97) { r8 = r97; c26450_4 = r97; if (c26450_5 === 0) { break; } } } } throw r8; } } } export async function resetQuestPreviewStatus(c26451_0) { let c26451_3; let c26451_4 = 0; let c30097_0, c30097_1, c30097_2; L10: { try { c30097_0 = c26451_0; c30097_1 = void 0; c26451_4 = 1; c30097_1 = await HTTP.del({ url: Endpoints.QUESTS_PREVIEW_STATUS(c26451_0), body: {}, rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_SUCCESS", previewQuestUserStatus: questUserStatusFromServer(c30097_1.body) }); c26451_4 = 0; } catch ($e) { const r27 = $e; let r8 = r27; c26451_3 = r27; if (c26451_4 !== 0) { while (true) { try { const r78 = c26451_3; c26451_4 = 0; c30097_2 = r78; Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_FAILURE", error: new APIError(c30097_2), questId: c30097_0 }); break L10; } catch (r74) { r8 = r74; c26451_3 = r74; if (c26451_4 === 0) { break; } } } } throw r8; } } } export async function resetQuestDismissibilityStatus(c26452_0) { let c26452_3; let c26452_4 = 0; let c30098_0, c30098_1, c30098_2; L10: { try { c30098_0 = c26452_0; c30098_1 = void 0; c26452_4 = 1; Dispatcher.dispatch({ type: "QUESTS_DOCK_RESET_SOFT_DISMISSAL" }); c30098_1 = await HTTP.del({ url: Endpoints.QUESTS_PREVIEW_DISMISSIBILITY(c26452_0), body: {}, rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_SUCCESS", previewQuestUserStatus: questUserStatusFromServer(c30098_1.body) }); c26452_4 = 0; } catch ($e) { const r27 = $e; let r8 = r27; c26452_3 = r27; if (c26452_4 !== 0) { while (true) { try { const r85 = c26452_3; c26452_4 = 0; c30098_2 = r85; Dispatcher.dispatch({ type: "QUESTS_PREVIEW_UPDATE_FAILURE", error: new APIError(c30098_2), questId: c30098_0 }); break L10; } catch (r81) { r8 = r81; c26452_3 = r81; if (c26452_4 === 0) { break; } } } } throw r8; } } } export function overrideQuestForPlacement(a0, a1) { Dispatcher.dispatch({ type: "QUESTS_PREVIEW_OVERRIDE", placement: a0, questId: a1 }); } export function selectTaskPlatform(a0, a1) { Dispatcher.dispatch({ type: "QUESTS_SELECT_TASK_PLATFORM", questId: a0, platform: a1 }); } export function questsVisibleMobileMessagesChanged(a0) { Dispatcher.dispatch({ type: "QUESTS_VISIBLE_MOBILE_MESSAGES_CHANGED", payload: a0 }); } export async function fetchClaimedQuests() { let c26453_0, c26453_1, c26453_2; let c26453_3 = 0; const r10 = env6245; L13: { L12: { try { let env30099; c26453_1 = r10; const r28 = env30099 = { $parent: r10 }; c26453_0 = r28; env30099[0] = void 0; if (QuestStore.isFetchingClaimedQuests) { break L13; } Dispatcher.dispatch({ type: "QUESTS_FETCH_CLAIMED_QUESTS_BEGIN" }); c26453_3 = 1; env30099[0] = (await HTTP.get({ url: Endpoints.QUESTS_CLAIMED_QUESTS, rejectWithError: false })).body.quests.map($mk115484(env6245)); Dispatcher.dispatch({ type: "QUESTS_FETCH_CLAIMED_QUESTS_SUCCESS", quests: env30099[0] }); c26453_3 = 0; } catch ($e) { const r26 = $e; let r8 = r26; c26453_2 = r26; if (c26453_3 !== 0) { while (true) { try { const r84 = c26453_2; c26453_3 = 0; env30099[1] = r84; Dispatcher.dispatch({ type: "QUESTS_FETCH_CLAIMED_QUESTS_FAILURE", error: new APIError(env30099[1]) }); break L12; } catch (r80) { r8 = r80; c26453_2 = r80; if (c26453_3 === 0) { break; } } } } throw r8; } } return void 0; } } export function updateOptimisticProgress(a0, a1, a2) { Dispatcher.dispatch({ type: "QUESTS_UPDATE_OPTIMISTIC_PROGRESS", questId: a0, taskEventName: a1, progress: a2 }); } export function resetOptimisticProgress(a0) { Dispatcher.dispatch({ type: "QUESTS_RESET_OPTIMISTIC_PROGRESS", questId: a0 }); } export async function fetchQuestToDeliver(placement, c26454_1) { let message, id, c26454_4, c26454_5, c26454_6; let c26454_7 = 0; const r20 = env6245; L53: { L52: { try { let env30100; c26454_5 = r20; const r23 = env30100 = { $parent: r20 }; c26454_4 = r23; env30100[0] = placement; env30100[1] = c26454_1; env30100[2] = void 0; env30100[3] = void 0; env30100[4] = void 0; env30100[5] = void 0; env30100[6] = void 0; env30100[7] = void 0; env30100[8] = void 0; env30100[9] = void 0; env30100[10] = void 0; env30100[11] = void 0; env30100[12] = void 0; env30100[13] = void 0; env30100[14] = void 0; env30100[15] = void 0; env30100[2] = Date.now(); QuestDecisionRoundtripTracker.recordQuestRequestAttempt("/quests/decision", c26454_1, placement); Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_TO_DELIVER_BEGIN", placement }); c26454_7 = 1; env30100[3] = await getSession(); env30100[4] = await getOrRefreshAdSession(); env30100[5] = LessPersonalizedAdsExperiment.getConfig({ location: "QuestActionCreators.fetchQuestToDeliver" }); env30100[6] = (0, getVisibleGuildIdsMethod)(); const r138 = env30100[6] != null ? (0, env30100[6])() : []; const r139 = c26454_4; env30100[7] = r138; env30100[8] = SortedGuildStore.getGuildsTree(); env30100[9] = env30100[7].filter($mk115485(r139)).slice(0, 50); env30100[10] = env30100[5].enabled ? env30100[9] : void 0; env30100[11] = new URLSearchParams({ placement: String(env30100[0]) }); if (env30100[3]?.uuid != null) { env30100[11].append("client_heartbeat_session_id", env30100[3].uuid); } if (env30100[4].uuid != null) { env30100[11].append("client_ad_session_id", env30100[4].uuid); } if (env30100[10] != null) { env30100[10].forEach($mk115486(c26454_4)); } env30100[13] = (await HTTP.get({ url: `${Endpoints.QUEST_FETCH_QUEST_TO_DELIVER}?${env30100[11].toString()}`, rejectWithError: false, context: { connection_type: NetworkStore.getType() } })).body; env30100[14] = env30100[13].creative; if (env30100[14] != null) { if (env30100[14].creative_type === AdCreativeType.QUEST) { env30100[12] = questConfigFromServer(env30100[14].creative_content); } } else { env30100[15] = env30100[13].quest; env30100[12] = env30100[15] != null ? questConfigFromServer(env30100[15]) : void 0; } const ad_id = env30100[13].ad_identifiers?.ad_id; const adset_id = env30100[13].ad_identifiers?.adset_id; Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_TO_DELIVER_SUCCESS", quest: env30100[12], adDecisionData: { ad_id, adset_id, ad_set_id: env30100[13].ad_identifiers?.ad_set_id, campaign_id: env30100[13].ad_identifiers?.campaign_id, creative_id: env30100[13].ad_identifiers?.creative_id, creative_type: env30100[13].ad_identifiers?.creative_type, decision_id: env30100[13].request_id, is_targeted: env30100[13].ad_identifiers != null }, metadataSealed: env30100[13].metadata_sealed, trafficMetadataSealed: env30100[13].traffic_metadata_sealed, adContext: env30100[13].ad_context, responseTtlSeconds: env30100[13].response_ttl_seconds, placement: env30100[0], fetchedAt: env30100[2] }); const r328 = { wasSuccessful: true, adRequestId: String(env30100[13].request_id), currentQuestId: null, currentFetchedAt: null }; const id2 = env30100[12]?.id; id = id2; if (id2 == null) { id = null; } r328.currentQuestId = id; r328.currentFetchedAt = env30100[2]; QuestDecisionRoundtripTracker.recordQuestRequestApiResponse("/quests/decision", r328); if (env30100[12] == null) { c26454_7 = 0; break L53; } if (env30100[0] === AdPlacement.DESKTOP_ACCOUNT_PANEL_AREA) { QuestBarRenderDelayTracker.startTracking(env30100[12].id); } AnalyticsUtils.track(AnalyticEvents.QUEST_DECISION_RECEIVED, { ...getDeviceMetadata_native(), quest_id: env30100[12].id, caller_source: env30100[1], ad_request_id: String(env30100[13].request_id) }); c26454_7 = 0; } catch ($e) { const r44 = $e; let r8 = r44; c26454_6 = r44; if (c26454_7 !== 0) { while (true) { try { const r399 = c26454_6; c26454_7 = 0; env30100[16] = r399; QuestDecisionRoundtripTracker.recordQuestRequestApiResponse("/quests/decision", { wasSuccessful: false, currentFetchedAt: env30100[2] }); const QUEST_DECISION_ROUNDTRIP_ERROR = AnalyticEvents.QUEST_DECISION_ROUNDTRIP_ERROR; const r416 = { ...getDeviceMetadata_native() }; const message2 = env30100[16]?.message; message = message2; if (message2 == null) { message = null; } r416.reason = message; r416.api_error = new APIError(env30100[16]).getAnyErrorMessage(); r416.caller_source = env30100[1]; AnalyticsUtils.track(QUEST_DECISION_ROUNDTRIP_ERROR, r416); Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_TO_DELIVER_FAILURE", error: new APIError(env30100[16]), placement: env30100[0] }); break L52; } catch (r395) { r8 = r395; c26454_6 = r395; if (c26454_7 === 0) { break; } } } } throw r8; } } return void 0; } } export function clearQuestAdDecision(a0, a1) { Dispatcher.dispatch({ type: "QUESTS_CLEAR_EXPIRED_QUEST_TO_DELIVER", placement: a0, fetchedAt: Date.now(), responseTtlSeconds: a1 / 1000 }); } export async function fetchEarnedQuestToDeliver(c26455_0, content2, c26455_2) { let request_id, c26455_4, c26455_5, c26455_6; let c26455_7 = 0; const r11 = env6245; L22: { L21: { try { let env30101; c26455_5 = r11; const r17 = env30101 = { $parent: r11 }; c26455_4 = r17; env30101[0] = content2; env30101[1] = void 0; env30101[2] = void 0; env30101[3] = void 0; env30101[4] = void 0; env30101[5] = void 0; env30101[6] = void 0; env30101[7] = void 0; env30101[8] = void 0; env30101[9] = void 0; if (QuestStore.isFetchingEarnedQuestToDeliverByPlacement(content2)) { break L22; } env30101[1] = QuestStore.earnedQuestForPlacement.get(content2)?.earnedDecisionByQuestId; const r47 = c26455_0.filter((item) => { const r5 = env30101[1]; return !earnedDecisionIsValid(r5 == null ? void 0 : r5.get(item)); }); env30101[2] = r47; if (r47.length === 0) { break L22; } env30101[3] = Date.now(); EarnedDecisionRoundtripTracker.recordEarnedRequestAttempt(content2, c26455_2); Dispatcher.dispatch({ type: "QUESTS_FETCH_EARNED_QUEST_TO_DELIVER_BEGIN", content: content2 }); c26455_7 = 1; env30101[4] = await getSession(); env30101[5] = env30101[2].join(","); const r32 = await HTTP.get({ url: Endpoints.QUEST_EARNED_DECISION(env30101[5], env30101[0], env30101[4]?.uuid), rejectWithError: false }); const r126 = c26455_4; env30101[6] = r32; env30101[7] = env30101[6].body.quests; env30101[8] = env30101[6].body.response_ttl_seconds; env30101[9] = new Map(env30101[2].map($mk115488(r126))); Dispatcher.dispatch({ type: "QUESTS_FETCH_EARNED_QUEST_TO_DELIVER_SUCCESS", serverQuests: env30101[9], content: env30101[0], fetchedAt: env30101[3], responseTtlSeconds: env30101[8] }); const r157 = env30101[0]; request_id = env30101[6].body.request_id; if (request_id == null) { request_id = null; } EarnedDecisionRoundtripTracker.recordEarnedRequestApiResponse(r157, { wasSuccessful: true, requestId: request_id, fetchedAt: env30101[3] }); c26455_7 = 0; } catch ($e) { const r36 = $e; let r8 = r36; c26455_6 = r36; if (c26455_7 !== 0) { while (true) { try { const r174 = c26455_6; c26455_7 = 0; env30101[10] = r174; EarnedDecisionRoundtripTracker.recordEarnedRequestApiResponse(env30101[0], { wasSuccessful: false, fetchedAt: env30101[3] }); Dispatcher.dispatch({ type: "QUESTS_FETCH_EARNED_QUEST_TO_DELIVER_FAILURE", error: new APIError(env30101[10]), content: env30101[0] }); break L21; } catch (r170) { r8 = r170; c26455_6 = r170; if (c26455_7 === 0) { break; } } } } throw r8; } } return void 0; } } export function updatePrevRestingQuestDockMode(a0) { Dispatcher.dispatch({ type: "QUESTS_PREV_RESTING_QUEST_DOCK_MODE_UPDATE", mode: a0 }); } export async function updateVideoProgress(quest_id, timestamp) { const r32 = { url: Endpoints.QUESTS_VIDEO_PROGRESS(quest_id), body: { timestamp }, trackedActionData: null, rejectWithError: false }; const properties = { quest_id, timestamp_sec: timestamp.toString(), stack_trace: null }; const stack3 = new Error().stack; let stack2 = stack3; if (stack3 == null) { stack2 = ""; } properties.stack_trace = stack2; r32.trackedActionData = { event: NetworkActionNames.QUEST_VIDEO_PROGRESS, properties }; await TrackedHTTPUtils.post(r32); } export async function fetchVideoTranscript(c26457_0, c26457_1) { let c26457_5 = 0; let c30102_1, c30102_0, c30102_2, c30102_3; L15: { try { c30102_1 = void 0; c30102_0 = c26457_0; if (c26457_1 !== void 0) { c30102_1 = c26457_1; c30102_2 = void 0; c30102_3 = void 0; } else { c30102_1 = false; c30102_2 = void 0; c30102_3 = void 0; } await void 0; c30102_2 = getQuestAsset(c30102_0, QuestAssetType.VIDEO_PLAYER_TRANSCRIPT, void 0, c30102_1); if (c30102_2 != null) { VideoQuestUIStore.getState().setTranscriptAsset({ questId: c30102_0.id, fetchStatus: FetchStatus.FETCHING }); c26457_5 = 1; c30102_3 = await HTTP.get({ url: c30102_2.url, rejectWithError: true }); VideoQuestUIStore.getState().setTranscriptAsset({ questId: c30102_0.id, fetchStatus: FetchStatus.SUCCESS, text: c30102_3.text, url: c30102_2.url }); c26457_5 = 0; } else { VideoQuestUIStore.getState().setTranscriptAsset({ questId: c30102_0.id, fetchStatus: FetchStatus.FAILURE }); } } catch ($e) { let r8 = $e; if (c26457_5 !== 0) { while (true) { try { c26457_5 = 0; VideoQuestUIStore.getState().setTranscriptAsset({ questId: c30102_0.id, fetchStatus: FetchStatus.FAILURE }); break L15; } catch ($e) { r8 = $e; if (c26457_5 === 0) { break; } } } } throw r8; } } } export function updateQuestDockVisibilityEligibility(a0) { Dispatcher.dispatch({ type: "QUESTS_DOCK_VISIBILITY_ELIGIBILITY_UPDATE", isEligibleToBeVisible: a0.isEligibleToBeVisible }); } export async function fetchQuest(c26458_0) { let c30103_0 = await HTTP.get({ url: Endpoints.QUEST(c26458_0), rejectWithError: false }); return questConfigFromServer(c30103_0.body); } export async function fetchQuestPreview(questId5) { let c26459_3; let c26459_4 = 0; let c30104_0, c30104_1, c30104_2; L13: { try { c30104_0 = questId5; c30104_1 = void 0; if (QuestStore.isFetchingQuestPreview(questId5)) { break L13; } Dispatcher.dispatch({ type: "QUESTS_FETCH_PREVIEW_BEGIN", questId: questId5 }); c26459_4 = 1; c30104_1 = await HTTP.get({ url: Endpoints.QUEST_PREVIEW(questId5), rejectWithError: false }); Dispatcher.dispatch({ type: "QUESTS_FETCH_PREVIEW_SUCCESS", questId: c30104_0, quest: questWithUserStatusFromServer(c30104_1.body) }); c26459_4 = 0; } catch ($e) { const r27 = $e; let r8 = r27; c26459_3 = r27; if (c26459_4 !== 0) { while (true) { try { const r89 = c26459_3; c26459_4 = 0; c30104_2 = r89; Dispatcher.dispatch({ type: "QUESTS_FETCH_PREVIEW_FAILURE", error: new APIError(c30104_2), questId: c30104_0 }); throw c30104_2; } catch (r85) { r8 = r85; c26459_3 = r85; if (c26459_4 === 0) { break; } } } } throw r8; } return void 0; } } export async function fetchQuestHomeHero() { let c26460_0, creative, c26460_4; let c26460_5 = 0; let c30105_0, c30105_1, c30105_2, c30105_3, c30105_4, c30105_5, c30105_6, c30105_7, c30105_8, c30105_9; L62: { try { c30105_0 = void 0; c30105_1 = void 0; c30105_2 = void 0; c30105_3 = void 0; c30105_4 = void 0; c30105_5 = void 0; c30105_6 = void 0; c30105_7 = void 0; c30105_8 = void 0; const QUEST_HOME_BANNER_DESKTOP = AdPlacement.QUEST_HOME_BANNER_DESKTOP; c30105_0 = QUEST_HOME_BANNER_DESKTOP; if (QuestStore.isFetchingQuestToDeliverByPlacement(QUEST_HOME_BANNER_DESKTOP)) { break L62; } const lastFetchedQuestHomeHero = QuestStore.getLastFetchedQuestHomeHero(); if (lastFetchedQuestHomeHero != null && Date.now() - lastFetchedQuestHomeHero <= c6245_34) { break L62; } c30105_1 = Date.now(); Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_BEGIN", placement: QUEST_HOME_BANNER_DESKTOP }); c26460_5 = 1; c30105_2 = await getSession(); c30105_3 = await getOrRefreshAdSession(); c30105_4 = new URLSearchParams({ placement: String(c30105_0), num_decisions_requested: "1" }); if (c30105_2?.uuid != null) { c30105_4.append("client_heartbeat_session_id", c30105_2.uuid); } if (c30105_3.uuid != null) { c30105_4.append("client_ad_session_id", c30105_3.uuid); } c30105_5 = (await HTTP.get({ url: `${Endpoints.QUESTS_GET_DECISIONS}?${c30105_4.toString()}`, rejectWithError: false, context: { connection_type: NetworkStore.getType() } })).body; const decisions = c30105_5.decisions; const r198 = decisions == null ? void 0 : decisions[0]; c26460_0 = r198; if (r198 == null) { c26460_0 = null; } c30105_6 = c26460_0; const creative3 = c30105_6?.creative; creative = creative3; if (creative3 == null) { creative = null; } c30105_7 = creative; c30105_8 = null; if (c30105_7 != null && c30105_7.creative_type === AdCreativeType.QUEST_HOME_HERO) { c30105_8 = questHomeHeroFromServer(c30105_7); } const r227 = c30105_6; const ad_id = r227 == null ? void 0 : r227.ad_identifiers?.ad_id; const r241 = c30105_6; const ad_set_id = r241 == null ? void 0 : r241.ad_identifiers?.ad_set_id; const r247 = c30105_6; const campaign_id = r247 == null ? void 0 : r247.ad_identifiers?.campaign_id; const r253 = c30105_6; const creative_id = r253 == null ? void 0 : r253.ad_identifiers?.creative_id; const r259 = c30105_6; Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_SUCCESS", questHomeHero: c30105_8, adDecisionData: { ad_id, ad_set_id, campaign_id, creative_id, creative_type: r259 == null ? void 0 : r259.ad_identifiers?.creative_type, decision_id: c30105_5.request_id, is_targeted: c30105_6?.ad_identifiers != null }, metadataSealed: c30105_6?.metadata_sealed, trafficMetadataSealed: c30105_6?.traffic_metadata_sealed, adContext: c30105_6?.ad_context, responseTtlSeconds: c30105_6?.response_ttl_seconds, placement: c30105_0, fetchedAt: c30105_1 }); c26460_5 = 0; } catch ($e) { const r40 = $e; let r8 = r40; c26460_4 = r40; if (c26460_5 !== 0) { while (true) { try { const r301 = c26460_4; c26460_5 = 0; c30105_9 = r301; Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_FAILURE", error: new APIError(c30105_9), placement: c30105_0 }); throw c30105_9; } catch (r297) { r8 = r297; c26460_4 = r297; if (c26460_5 === 0) { break; } } } } throw r8; } return void 0; } } export async function fetchQuestHomeHeroPreview(c26461_0) { let c26461_1, creative2, c26461_5; let c26461_6 = 0; let c30106_0, c30106_1, c30106_2, c30106_3, c30106_4, c30106_5, c30106_6; try { c30106_0 = void 0; c30106_1 = void 0; c30106_2 = void 0; c30106_3 = void 0; c30106_4 = void 0; c30106_5 = void 0; const QUEST_HOME_BANNER_DESKTOP = AdPlacement.QUEST_HOME_BANNER_DESKTOP; c30106_0 = QUEST_HOME_BANNER_DESKTOP; c30106_1 = Date.now(); Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_BEGIN", placement: QUEST_HOME_BANNER_DESKTOP }); c26461_6 = 1; const uRLSearchParams = new URLSearchParams(); uRLSearchParams.append("ad_creative_ids", c26461_0); c30106_2 = (await HTTP.get({ url: `${Endpoints.QUESTS_CREATIVE_PREVIEW}?${uRLSearchParams.toString()}`, rejectWithError: false })).body; const decisions = c30106_2.decisions; const r95 = decisions == null ? void 0 : decisions[0]; c26461_1 = r95; if (r95 == null) { c26461_1 = null; } c30106_3 = c26461_1; const creative3 = c30106_3?.creative; creative2 = creative3; if (creative3 == null) { creative2 = null; } c30106_4 = creative2; c30106_5 = null; if (c30106_4 != null && c30106_4.creative_type === AdCreativeType.QUEST_HOME_HERO) { c30106_5 = questHomeHeroFromServer(c30106_4); } const r124 = c30106_3; const ad_id = r124 == null ? void 0 : r124.ad_identifiers?.ad_id; const r138 = c30106_3; const ad_set_id = r138 == null ? void 0 : r138.ad_identifiers?.ad_set_id; const r143 = c30106_3; const campaign_id = r143 == null ? void 0 : r143.ad_identifiers?.campaign_id; const r149 = c30106_3; const creative_id = r149 == null ? void 0 : r149.ad_identifiers?.creative_id; const r155 = c30106_3; Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_SUCCESS", questHomeHero: c30106_5, adDecisionData: { ad_id, ad_set_id, campaign_id, creative_id, creative_type: r155 == null ? void 0 : r155.ad_identifiers?.creative_type, decision_id: c30106_2.request_id, is_targeted: c30106_3?.ad_identifiers != null }, metadataSealed: c30106_3?.metadata_sealed, trafficMetadataSealed: c30106_3?.traffic_metadata_sealed, adContext: c30106_3?.ad_context, responseTtlSeconds: c30106_3?.response_ttl_seconds, placement: c30106_0, fetchedAt: c30106_1 }); c26461_6 = 0; } catch ($e) { const r34 = $e; let r8 = r34; c26461_5 = r34; if (c26461_6 !== 0) { while (true) { try { const r197 = c26461_5; c26461_6 = 0; c30106_6 = r197; Dispatcher.dispatch({ type: "QUESTS_FETCH_QUEST_HOME_HERO_FAILURE", error: new APIError(c30106_6), placement: c30106_0 }); throw c30106_6; } catch (r193) { r8 = r193; c26461_5 = r193; if (c26461_6 === 0) { break; } } } } throw r8; } } export function dismissQuestActivityModal(a0) { Dispatcher.dispatch({ type: "UNENROLLED_ACTIVITY_QUEST_DISMISS", questId: a0 }); } export function setAutoEnroll(a0) { Dispatcher.dispatch({ type: "UNENROLLED_ACTIVITY_QUEST_AUTO_ENROLL", autoEnroll: a0 }); } export function markAdContentSeen(a0, a1) { Dispatcher.dispatch({ type: "AD_CONTENT_MARK_SEEN", adCreativeType: a0, contentIds: a1 }); } export function markAdContentUnseen(a0, a1) { Dispatcher.dispatch({ type: "AD_CONTENT_MARK_UNSEEN", adCreativeType: a0, contentIds: a1 }); } export function markQuestDiscovered(a0) { Dispatcher.dispatch({ type: "QUESTS_MARK_DISCOVERED", questId: a0 }); }