Files
discord-decomp/actions/MessageActionCreators.tsx
T
2026-11-01 12:12:55 +02:00

2216 lines
81 KiB
TypeScript

// Metro module 5713 (f5714).
import GatewayConnectionStore from "../modules/gateway/GatewayConnectionStore";
import "../modules/guild_member_verification/GuildJoinRequestStore";
import "../modules/guild_templates/GuildTemplateStore";
import MessageRoundtripTrackerStore from "../modules/messages/MessageRoundtripTrackerStore";
import PoggermodeSettingsStore from "../modules/poggermode/PoggermodeSettingsStore";
import "../modules/replies/PendingReplyStore";
import ReferencedMessageStore, { ReferencedMessageState } from "../modules/replies/ReferencedMessageStore";
import StickersStore from "../modules/stickers/StickersStore";
import ApplicationStreamingStore from "../stores/ApplicationStreamingStore";
import AuthenticationStore from "../stores/AuthenticationStore";
import ChannelStore from "../stores/ChannelStore";
import EditMessageStore from "../stores/EditMessageStore";
import GuildStore from "../stores/GuildStore";
import InviteStore from "../stores/InviteStore";
import MessageStore from "../stores/MessageStore";
import "../stores/PermissionStore";
import PresenceStore from "../stores/PresenceStore";
import ReadStateStore from "../stores/ReadStateStore";
import "../stores/SlowmodeStore";
import UserStore from "../stores/UserStore";
import { MessageTypes, AllowedMentionTypes, MessageFlags, LoggingInviteTypes, InviteStates, SendTypes, AnalyticEvents, AbortCodes, Permissions, HelpdeskArticles, MarketingURLs, LOCAL_BOT_ID, NON_USER_BOT_DISCRIMINATOR, MessageStates, MAX_MESSAGES_FOR_JUMP, Endpoints, ChannelTypes, MessageReferenceTypes, ActivityActionTypes } from "../Constants";
import { LinkType } from "../modules/applications/message_embed/MessageEmbedConstants";
import "../modules/guild_templates/GuildTemplatesConstants";
import { MessageSendLocation } from "../modules/messages/MessageConstants";
import { NativeModules } from "react-native";
import Logger from "../modules/debug/Logger";
import { trackAppEmbedLinkSent } from "../modules/applications/message_embed/web/appMessageEmbedTracking";
import AppAnalyticsUtils from "../modules/app_analytics/AppAnalyticsUtils";
import AnalyticsUtils from "../utils/AnalyticsUtils";
import { parseExtraDataFromInviteKey, getInviteInstanceId } from "../modules/instant_invite/InviteCodeUtils";
import { isEmbeddedApplicationInvite } from "../modules/instant_invite/InviteTypeUtils";
import { getStreamerApplication } from "../modules/go_live/utils/StreamerApplicationSelectors";
import { intl, t } from "../intl/index.native";
import HelpdeskUtils from "../utils/HelpdeskUtils";
import { getAttachmentPayload, MAX_TOTAL_ATTACHMENT_SIZE_MB } from "../utils/UploadUtils";
import Dispatcher from "../Dispatcher";
import createMessage, { createBotMessage } from "../modules/messages/createMessage";
import { match } from "../_bundle/Module4389";
import { createNonce } from "../modules/messages/createNonce";
import { trackMediaRedactionAction, TrackMediaRedactionActionType } from "../modules/explicit_media_redaction/ExplicitMediaRedactionUtils";
import { HTTP, rejectWithMigratedError } from "../_bundle/sendRequest";
import { createMessageRecord } from "../modules/messages/MessageRecordUtils";
import { FAKE_PLACEHOLDER_PRIVATE_CHANNEL_ID } from "../modules/channel/FakePlaceholderPrivateChannel";
import TTITracker from "../modules/tti_analytics/TTITracker";
import MessageCacheStats from "../modules/local_message_caching/MessageCacheStats";
import ChannelMessages from "../lib/ChannelMessages";
import SnowflakeUtils from "../utils/SnowflakeUtils";
import DatabaseDaos from "../modules/app_database/DatabaseDaos";
import { tryLoadAsync } from "../modules/app_database/app/TryLoad";
import Messages from "../modules/app_database/modules/Messages";
import { isIOSPushNotificationRawPayloadFixExperimentEnabled } from "../modules/notifications/IOSPushNotificationRawPayloadFixExperiment";
import maybeConvertPrivateChannel from "../modules/private_channel_creation/maybeConvertPrivateChannel";
import BackgroundTaskManager_native from "../modules/messages/BackgroundTaskManager.native";
import getInviteURL from "../modules/instant_invite/getInviteURL";
import SentMessageIntentsHandler_android from "../modules/messages/SentMessageIntentsHandler.android";
import PremiumUtils from "../utils/PremiumUtils";
import parseContentForSuppressNotifications from "../modules/suppress_notifications/parseContentForSuppressNotifications";
import { addFlag, hasFlag, setFlag } from "../_bundle/Module1384";
import { canSendGuildOfficialMessages } from "../modules/messages/GuildOfficialMessageUtils";
import { createPollServerDataFromCreateRequest } from "../modules/polls/PollsUtils";
import { updateComboOnMessageSend } from "../modules/poggermode/PoggermodeActionCreators";
import MessageQueue, { MessageDataType } from "../lib/MessageQueue";
import { uploadMessageAttachments } from "../modules/media_uploads/uploadMessageAttachments.native";
import { logMessageSendFailure } from "../modules/messages/logMessageSendFailure";
import { AUTOMOD_ERROR_CODES } from "../modules/guild_automod/AutomodErrorUtils";
import { ComponentType } from "../flow/Server";
import ThreadActionCreators from "../modules/threads/ThreadActionCreators";
import { AccessibilityAnnouncer } from "../design/shared";
import { logGiftIntentMessageDismissed } from "../modules/premium/gifting/PremiumGiftingIntentActionCreators";
import AlertActionCreators from "./AlertActionCreators";
import { HermesBuiltin } from "../_hermes/prelude";
function $mk114782($env) {
return (a0) => SnowflakeUtils.compare(a0.id, $env[4]) > 0;
}
function $mk114783($env) {
return function _trySend() {
const r0 = $env;
return c3543_55._sendMessage(r0[0], r0[1], r0[3]);
};
}
function $mk114784($env) {
return (a0, a1) => {
let env31381 = {
$parent: $env
};
env31381[0] = a0;
env31381[1] = a1;
MessageStore.whenReady($env.$parent[0], () => {
env31381.$parent.$parent.$parent[50].info(`Channel ${env31381.$parent.$parent[0]} is ready for sending now.`);
(0, env31381.$parent[2])().then(env31381[0], env31381[1]);
});
};
}
function $mk114788($env) {
return (a0, a1) => getAttachmentPayload(a0, a1);
}
function $mk114789($env) {
return (a0, a1) => {
let env31382 = {
$parent: $env
};
env31382[0] = a0;
env31382[1] = a1;
env31382[2] = Date.now();
env31382[3] = MessageQueue.length;
const r21 = Math.floor(10000 * Math.random());
env31382[4] = r21;
c3543_50.info(`Queueing message to be sent LogId:${r21}`);
MessageQueue.enqueue($env[16], (a0) => {
let r43, reason;
let c31940_0 = a0;
const duration = Date.now() - env31382[2];
const ok = a0.ok;
const r34 = env31382.$parent.$parent.$parent;
if (ok) {
const r202 = (0, r34[1])(r34[3][65]);
const r204 = env31382.$parent;
const content2 = r204[0];
const r206 = env31382.$parent.$parent;
r202.donateSentMessage(content2, r206[0]);
r34[55].receiveMessage(r206[0], a0.body, true, {
sendAnalytics: {
duration,
queueSize: env31382[3]
},
poll: r204[6]
});
if (r206[2].alsoForwardToChannelId != null) {
(0, r34[1])(r34[3][75]).sendForward((0, r34[0])(r34[3][52]).createMessageRecord(a0.body), r206[2].alsoForwardToChannelId).then(() => {
const id2 = c31940_0.body?.id;
const guild_id = c31940_0.body?.guild_id;
const channel_id = c31940_0.body?.channel_id;
const alsoForwardToChannelId = env31382.$parent.$parent[2].alsoForwardToChannelId;
const r18 = env31382.$parent.$parent.$parent;
(0, r18[1])(r18[3][37]).track(r18[27].MESSAGE_ALSO_SEND_TO_CHANNEL_SENT, {
referenced_message_id: id2,
guild_id,
channel_id,
destination_channel_id: alsoForwardToChannelId
});
}).catch((a0) => {
const r5 = env31382.$parent.$parent.$parent[49];
const r13 = `Failed to forward thread message to parent channel LogId:${env31382[4]}`;
const id2 = c31940_0.body?.id;
const r20 = env31382.$parent.$parent;
r5.log(r13, {
referencedMessageId: id2,
channelId: r20[0],
destinationChannelId: r20[2].alsoForwardToChannelId,
error: a0.toString()
});
});
}
const request = r34[7].getRequest((0, r34[1])(r34[3][57]).cast(r206[0]));
if (request != null) {
const { guildId, userId, applicationStatus } = request;
(0, r34[0])(r34[3][76]).trackMemberApplicationInterviewMessage({
guildId,
channelId: r206[0],
messageId: a0.body.id,
joinRequestStatus: applicationStatus,
joinRequestUserId: userId
});
}
r34[9].recordMessageSendApiResponse(r204[13]);
if (r204[12] === r34[35].REPLY) {
const id2 = a0.body.id;
const channel_id = r206[0];
const message_id = r204[5]?.message_id;
const pendingReplyActionSource = r34[11].getPendingReplyActionSource(channel_id);
if (pendingReplyActionSource === "message_swipe") {
const r310 = message_id != null ? r34[21].getMessage(channel_id, message_id) : null;
const channel2 = r34[17].getChannel(channel_id);
const currentUser = r34[25].getCurrentUser();
(0, r34[1])(r34[3][37]).track(r34[27].MESSAGE_SWIPE_ACTION_SENT, {
message_id: id2,
channel_id,
guild_id: channel2?.guild_id,
swipe_action: "reply",
is_own_message: currentUser != null && currentUser.id === (r310 == null ? void 0 : r310.author.id)
});
} else if (pendingReplyActionSource === "message_shortcut") {
const channel = r34[17].getChannel(channel_id);
(0, r34[1])(r34[3][37]).track(r34[27].MESSAGE_SHORTCUT_ACTION_SENT, {
message_id: id2,
channel_id,
guild_id: channel?.guild_id,
original_message_id: message_id,
action: "reply",
...(0, r34[0])(r34[3][33]).collectGuildAnalyticsMetadata(channel?.guild_id),
...(0, r34[0])(r34[3][33]).collectChannelAnalyticsMetadata(channel)
});
}
}
(0, r34[1])(r34[3][46]).dispatch({
type: "SLOWMODE_RESET_COOLDOWN",
slowmodeType: r34[24].SendMessage,
channelId: r206[0]
});
(0, r34[1])(r34[3][46]).dispatch({
type: "EMOJI_TRACK_USAGE",
emojiUsed: r204[1]
});
(0, r34[1])(r34[3][46]).dispatch({
type: "STICKER_TRACK_USAGE",
stickerIds: r204[4]
});
(0, r34[1])(r34[3][46]).dispatch({
type: "LOCAL_MESSAGE_CREATE",
message: {
channel_id: r206[0],
author: r34[25].getCurrentUser()
}
});
let location2 = r204[2];
const location3 = location2 == null ? "chat_input" : location2;
const r373 = {
content: content2,
channelId: r206[0],
messageId: a0.body.id,
location: location3,
inviteAnalyticsMetadata: r204[3]
};
let env31941 = {
$parent: r34
};
const content = r373.content;
env31941[0] = r373.channelId;
env31941[1] = r373.messageId;
env31941[2] = r373.location;
env31941[3] = r373.inviteAnalyticsMetadata;
let overrideProperties = r373.overrideProperties;
if (overrideProperties === void 0) {
overrideProperties = {};
}
env31941[4] = overrideProperties;
env31941[5] = void 0;
env31941[5] = r34[16].getId();
(0, r34[1])(r34[3][28])(content).forEach((item) => {
L41: {
const { type, code, url } = item;
const r20 = env31941.$parent;
const r5 = r20[0];
const r4 = r20[3];
if (r5(r4[29]).isApplicationCodedLink(type)) {
const applicationCodedLinkData = r5(r4[29]).getApplicationCodedLinkData(type, code, url);
if (applicationCodedLinkData == null) {
return void 0;
}
const { applicationId, type: type2 } = applicationCodedLinkData;
if (r5(r4[30]).CodedLinkType.APP_DIRECTORY_PROFILE === type2) {
r5(r4[31]).trackAppDirectoryProfileEmbed(applicationId);
r5(r4[32]).trackAppEmbedLinkSent(code, r20[44].APP_DISCOVERY, env31941[5]);
} else if (r5(r4[30]).CodedLinkType.APP_DIRECTORY_STOREFRONT === type2) {
r5(r4[31]).trackAppDirectoryProfileEmbed(applicationId, "storefront");
} else if (r5(r4[30]).CodedLinkType.APP_DIRECTORY_STOREFRONT_SKU === type2) {
r5(r4[31]).trackAppDirectoryProfileEmbed(applicationId, "storefront_sku");
} else if (r5(r4[30]).CodedLinkType.ACTIVITY_BOOKMARK === type2) {
const params = applicationCodedLinkData.params;
const r196 = r5(r4[32]);
const ACTIVITY = r20[44].ACTIVITY;
let referrerId = params.referrerId;
if (referrerId == null) {
referrerId = env31941[5];
}
r196.trackAppEmbedLinkSent(applicationId, ACTIVITY, referrerId, params.customId);
} else if (r5(r4[30]).CodedLinkType.APP_OAUTH2_LINK === type2) {
r5(r4[32]).trackAppEmbedLinkSent(applicationId, r20[44].OAUTH, env31941[5]);
(0, r20[1])(r4[33]).trackWithMetadata(r20[27].APP_OAUTH2_LINK_EMBED_URL_SENT, {
application_id: applicationId
});
}
} else if (r5(r4[30]).CodedLinkType.INVITE === type) {
(0, r20[53])({
inviteKey: code,
channelId: env31941[0],
messageId: env31941[1],
location: env31941[2],
inviteAnalyticsMetadata: env31941[3],
overrideProperties: env31941[4]
});
} else {
if (r5(r4[30]).CodedLinkType.TEMPLATE === type) {
const guildTemplate = r20[8].getGuildTemplate(code);
if (guildTemplate != null && guildTemplate.state !== r20[45].RESOLVING) {
(0, r20[1])(r4[33]).trackWithMetadata(r20[27].GUILD_TEMPLATE_LINK_SENT, {
guild_template_code: code,
guild_template_name: guildTemplate.name,
guild_template_description: guildTemplate.description,
guild_template_guild_id: guildTemplate.sourceGuildId
});
break L41;
}
return void 0;
}
if (r5(r4[30]).CodedLinkType.BUILD_OVERRIDE !== type && r5(r4[30]).CodedLinkType.EXPERIMENT !== type && r5(r4[30]).CodedLinkType.MANUAL_BUILD_OVERRIDE !== type && r5(r4[30]).CodedLinkType.EVENT !== type && r5(r4[30]).CodedLinkType.CHANNEL_LINK !== type) {
if (r5(r4[30]).CodedLinkType.EMBEDDED_ACTIVITY_INVITE === type) {
r5(r4[32]).trackAppEmbedLinkSent(code, r20[44].ACTIVITY_INVITE, env31941[5]);
} else if (r5(r4[30]).CodedLinkType.GUILD_PRODUCT !== type && r5(r4[30]).CodedLinkType.SERVER_SHOP !== type && r5(r4[30]).CodedLinkType.SOCIAL_LAYER_STOREFRONT !== type && r5(r4[30]).CodedLinkType.SOCIAL_LAYER_STOREFRONT_APP !== type) {
if (r5(r4[30]).CodedLinkType.QUESTS_EMBED === type) {
const adMetadataSealed = r5(r4[34]).getAdMetadataSealed(r5(r4[35]).QuestContent.QUESTS_EMBED);
r5(r4[36]).trackQuestEvent({
questId: code,
event: r20[27].QUEST_LINK_SHARED,
properties: {
metadata_sealed: adMetadataSealed ?? null
},
trackGuildAndChannelMetadata: true,
sourceQuestContent: r5(r4[35]).QuestContent.QUESTS_EMBED
});
} else if (r5(r4[30]).CodedLinkType.GAME_PROFILE === type) {
(0, r20[1])(r4[37]).track(r20[27].GAME_PROFILE_LINK_EMBED_SENT, {
game_id: code
});
} else if (r5(r4[30]).CodedLinkType.COLLECTIBLES_SHOP !== type && r5(r4[30]).CodedLinkType.GAME_SERVER_SHARE !== type) {
throw Error(`Unknown coded link type: ${type}`);
}
}
}
}
}
});
const r397 = r206[0];
const id3 = a0.body.id;
const r400 = location2 == null ? "chat_input" : location2;
const r403 = !r206[2].isGiftLinkSentOnBehalfOfUser;
let env31942 = {
$parent: r34
};
env31942[0] = r397;
env31942[1] = id3;
env31942[2] = r400;
env31942[3] = !r403;
(0, r34[0])(r34[3][41]).findGiftCodes(content2).forEach((item) => {
const r1 = env31942.$parent;
const channel = r1[17].getChannel(env31942[0]);
if (channel != null) {
(0, r1[1])(r1[3][33]).trackWithMetadata(r1[27].GIFT_CODE_SENT, {
location: env31942[2],
gift_code: item,
guild_id: channel.getGuildId(),
channel_id: channel.id,
channel_type: channel.type,
message_id: env31942[1],
automatic_send: env31942[3]
});
}
});
if (r206[2].gifMetadata != null) {
const gifMetadata = r206[2].gifMetadata;
const r419 = r206[0];
const id4 = a0.body.id;
if (location2 == null) {
location2 = "chat_input";
}
const channel3 = r34[17].getChannel(r419);
if (channel3 != null) {
(0, r34[1])(r34[3][37]).track(r34[27].MESSAGE_SENT_WITH_GIF, {
location: location2,
message_id: id4,
gif_provider: gifMetadata.gif_provider,
load_id: gifMetadata.load_id,
source_object: gifMetadata.source_object,
gif_url: gifMetadata.gif_url,
gif_id: gifMetadata.gif_id,
...(0, r34[0])(r34[3][33]).collectGuildAnalyticsMetadata(channel3.getGuildId()),
...(0, r34[0])(r34[3][33]).collectChannelAnalyticsMetadata(channel3)
});
}
}
const r457 = r206[0];
const id5 = a0.body.id;
let attachments = a0.body.attachments;
if (attachments == null) {
attachments = [];
}
let r462 = r204[8];
if (r462 == null) {
r462 = [];
}
const r463 = r204[5];
let env31943 = {
$parent: r34
};
env31943[0] = r457;
env31943[1] = id5;
env31943[2] = attachments;
if (attachments.length === r462.length) {
const channel4 = r34[17].getChannel(r457);
env31943[3] = channel4;
if (channel4 != null) {
env31943[4] = r34[12].getMessageByReference(r463);
r462.forEach(({ clip }, index) => {
if (clip != null) {
const r15 = env31943[4];
const state = r15.state;
const r10 = env31943.$parent;
const is_distributed_clip_reply = state === r10[13].LOADED && r15.message.attachments.some((attachment) => attachment.clip_remote_id === clip.remoteClipId);
const r21 = r10[1];
const r9 = r10[3];
const r24 = r21(r9[37]);
const CLIP_SHARED = r10[27].CLIP_SHARED;
const r28 = {};
const r29 = r10[2];
HermesBuiltin.copyDataProperties(r28, r29(r9[42]).getClipBaseProperties(clip));
HermesBuiltin.copyDataProperties(r28, r29(r9[42]).getClipContextProperties("trackClipsShared"));
r28.channel_id = env31943[0];
const r40 = env31943[3];
r28.guild_id = r40.getGuildId();
r28.channel_type = r40.type;
r28.application_id = clip.applicationId;
r28.clip_uuid = clip.id;
r28.remote_clip_id = clip.remoteClipId;
r28.message_id = env31943[1];
r28.attachment_id = env31943[2][index].id;
r28.is_distributed_clip_reply = is_distributed_clip_reply;
r24.track(CLIP_SHARED, r28);
}
});
}
}
if (r204[15] != null) {
(0, r34[1])(r34[3][46]).dispatch({
type: "UPLOAD_COMPLETE",
channelId: r206[0],
file: r204[15]._file,
aborted: false
});
}
(0, env31382[0])(a0);
} else {
r34[49].log("Failed to send message", {
hasErr: a0.hasErr,
status: a0.status,
code: a0.body?.code,
error: a0.err
});
if (a0.hasErr) {
const code2 = a0.err.code;
r43 = false;
reason = void 0;
if (code2 === "ABORTED") {
r43 = true;
reason = void 0;
}
} else {
const r3 = a0.status >= 400;
r43 = false;
reason = void 0;
if (r3) {
const r46 = a0.status < 500;
r43 = false;
reason = void 0;
if (r46) {
const body = a0.body;
r43 = false;
reason = void 0;
if (body) {
const code = a0.body.code;
const r50 = r34[26];
if (code === r50.SLOWMODE_RATE_LIMITED) {
const retry_after = a0.body.retry_after;
const r102 = retry_after != null && retry_after > 0;
r43 = false;
reason = void 0;
if (r102) {
(0, r34[1])(r34[3][46]).dispatch({
type: "SLOWMODE_SET_COOLDOWN",
channelId: env31382.$parent.$parent[0],
slowmodeType: r34[24].SendMessage,
cooldownMs: retry_after * (0, r34[1])(r34[3][77]).Millis.SECOND
});
r43 = false;
reason = void 0;
}
} else if ((0, r34[0])(r34[3][78]).AUTOMOD_ERROR_CODES.has(a0.body.code)) {
(0, r34[1])(r34[3][46]).dispatch({
type: "MESSAGE_SEND_FAILED_AUTOMOD",
messageData: env31382.$parent[16],
errorResponseBody: {
code: a0.body.code,
message: a0.body.message
}
});
r43 = false;
reason = void 0;
} else if (a0.body.code === r50.POGGERMODE_TEMPORARILY_DISABLED) {
(0, r34[1])(r34[3][46]).dispatch({
type: "POGGERMODE_TEMPORARILY_DISABLED"
});
r43 = false;
reason = void 0;
} else if (a0.body.code === r50.EXPLICIT_CONTENT) {
reason = r34[46].EXPLICIT_CONTENT;
r43 = false;
} else {
const r67 = env31382.$parent;
const r69 = r67[6] != null || r67[11] || r67[7] != null;
r43 = false;
reason = void 0;
if (!r69) {
r34[55].sendClydeError(env31382.$parent.$parent[0], a0.body.code);
r43 = false;
reason = void 0;
}
}
}
}
}
}
const r124 = env31382.$parent;
if (r43) {
r34[55].deleteMessage(env31382.$parent.$parent[0], r124[14], true);
} else {
if (r124[15] != null) {
(0, r34[1])(r34[3][46]).dispatch({
type: "UPLOAD_FAIL",
channelId: env31382.$parent.$parent[0],
file: r124[15]._file,
messageId: r124[14],
reason,
noSendFailed: true
});
}
if (!(a0.hasErr || reason !== r34[46].EXPLICIT_CONTENT)) {
r34[55].sendExplicitMediaClydeError(env31382.$parent.$parent[0], a0.body?.attachments, (0, r34[0])(r34[3][50]).TrackMediaRedactionContext.EXPLICIT_MEDIA_MESSAGE_SEND_BLOCKED);
}
const r157 = (0, r34[1])(r34[3][46]);
const r161 = env31382.$parent.$parent;
r157.dispatch({
type: "MESSAGE_SEND_FAILED",
messageId: r124[14],
channelId: r161[0],
shouldNotify: !r161[2].doNotNotifyOnError,
reason
});
(0, r34[0])(r34[3][74]).logMessageSendFailure({
failureCode: a0.hasErr ? void 0 : a0.status,
errorMessage: a0.hasErr ? a0.err.message : void 0
});
(0, r34[1])(r34[3][72]).cancelPendingSendRequests(r161[0]).forEach($mk118738(r34));
}
(0, env31382[1])(a0);
}
}, r21);
};
}
function $mk114791($env) {
return function getAllowedMentionsForMessageEdit(a0, a1) {
const message = MessageStore.getMessage(a0, a1);
if (message != null && message.type === MessageTypes.REPLY) {
const messageByReference = ReferencedMessageStore.getMessageByReference(message.messageReference);
if (messageByReference.state === ReferencedMessageState.LOADED && !message.mentions.includes(messageByReference.message.author.id)) {
return {
parse: Object.values(AllowedMentionTypes),
replied_user: false
};
}
}
};
}
function $mk114792($env) {
return function getIsCrosspostedForMessageEdit(a0, a1) {
const message = MessageStore.getMessage(a0, a1);
return message != null && message.hasFlag(MessageFlags.CROSSPOSTED);
};
}
function $mk114793($env) {
return (a0) => {
const hasErr = a0.hasErr;
let r8 = !hasErr;
if (!hasErr) {
r8 = AUTOMOD_ERROR_CODES.has(a0.body.code);
}
if (r8) {
const r18 = $env;
Dispatcher.dispatch({
type: "MESSAGE_EDIT_FAILED_AUTOMOD",
messageData: {
type: MessageDataType.EDIT,
message: r18[2]
},
errorResponseBody: {
code: a0.body.code,
message: a0.body.message
}
});
}
const hasErr2 = a0.hasErr;
if (hasErr2) {
AccessibilityAnnouncer.announce(intl.string(t.Atp7FP));
} else if (r8) {
AccessibilityAnnouncer.announce(intl.string(t.Hym4ix));
} else {
AccessibilityAnnouncer.announce(intl.string(t["0x1HBD"]));
}
const r67 = $env.$parent;
const channelId5 = r67[0];
c3543_55.endEditMessage(channelId5, a0.hasErr ? void 0 : a0);
c3543_55.focusMessage({
channelId: channelId5,
messageId: r67[1]
});
};
}
function $mk114795($env) {
return () => {
const r1 = $env.$parent;
Dispatcher.dispatch({
type: "MESSAGE_DELETE",
id,
channelId: channelId4
}).then($mk117922(r1));
};
}
function $mk117922($env) {
return () => {
AccessibilityAnnouncer.announce(intl.string(t.RYMs7s));
};
}
function $mk118738($env) {
return (a0) => {
const r1 = $env;
r1[49].log("Cancelling pending message", a0.nonce);
(0, r1[1])(r1[3][46]).dispatch({
type: "MESSAGE_SEND_FAILED",
messageId: a0.nonce,
channelId: a0.channelId
});
};
}
let MediaPlayerManager, c3543_49, c3543_50, c3543_54, c3543_55;
let env3543 = {};
const trackInvite = function trackInvite({ inviteKey, channelId: channelId5, messageId: messageId3, location: location2, inviteAnalyticsMetadata, overrideProperties = {} }) {
const id2 = AuthenticationStore.getId();
const invite = InviteStore.getInvite(inviteKey);
const r29 = parseExtraDataFromInviteKey(inviteKey);
const r30 = invite != null && isEmbeddedApplicationInvite(invite);
const r17 = invite == null ? void 0 : invite.target_application?.id;
if (r17 != null && r30) {
trackAppEmbedLinkSent(r17, LinkType.ACTIVITY_INVITE, id2);
}
const channel = ChannelStore.getChannel(channelId5);
if (channel != null) {
const r83 = channel.isMultiUserDM() ? LoggingInviteTypes.GDM_INVITE : channel.isPrivate() ? null : LoggingInviteTypes.SERVER_INVITE;
const r86 = {};
let invite_type = r83;
if (invite != null) {
const state = invite.state;
const RESOLVED = InviteStates.RESOLVED;
invite_type = r83;
if (state === RESOLVED) {
const channel2 = invite.channel;
invite_type = r83;
if (channel2 != null) {
const channel3 = invite.channel;
r86.invite_channel_id = channel3.id;
r86.invite_guild_id = invite.guild?.id;
r86.invite_channel_type = channel3.type;
if (invite.inviter != null) {
r86.invite_inviter_id = invite.inviter.id;
}
if (invite.target_application != null) {
r86.application_id = invite.target_application.id;
}
const lastActiveStream = ApplicationStreamingStore.getLastActiveStream();
invite_type = r83;
if (lastActiveStream != null) {
const channelId6 = lastActiveStream.channelId;
const id3 = channel3.id;
invite_type = r83;
if (channelId6 === id3) {
const STREAM = LoggingInviteTypes.STREAM;
r86.destination_user_id = lastActiveStream.ownerId;
const streamerApplication = getStreamerApplication(lastActiveStream, PresenceStore);
r86.application_id = streamerApplication != null ? streamerApplication.id : null;
invite_type = STREAM;
}
}
}
}
}
if (inviteAnalyticsMetadata != null) {
if (inviteAnalyticsMetadata.suggestionData != null) {
r86.is_suggested = inviteAnalyticsMetadata.suggestionData.isAffinitySuggestion;
r86.row_num = inviteAnalyticsMetadata.suggestionData.rowNum;
r86.num_total = inviteAnalyticsMetadata.suggestionData.numTotal;
r86.num_affinity_connections = inviteAnalyticsMetadata.suggestionData.numAffinityConnections;
r86.is_filtered = inviteAnalyticsMetadata.suggestionData.isFiltered;
}
r86.source = inviteAnalyticsMetadata.source;
}
const r130 = {
...r86,
location: location2,
invite_type,
invite_code: r29.baseCode,
guild_id: channel.getGuildId(),
channel_id: channel.id,
message_id: messageId3,
send_type: SendTypes.DIRECT_MESSAGE,
invite_guild_scheduled_event_id: r29.guildScheduledEventId
};
let invite_instance_id2 = getInviteInstanceId(r29.baseCode, messageId3);
if (invite_instance_id2 == null) {
invite_instance_id2 = null;
}
r130.invite_instance_id = invite_instance_id2;
HermesBuiltin.copyDataProperties(r130, overrideProperties);
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.INVITE_SENT, r130);
} else if (invite != null && invite.state === InviteStates.RESOLVED && invite.inviter != null) {
const r50 = {
invite_inviter_id: invite.inviter.id
};
if (invite.target_application != null) {
r50.application_id = invite.target_application.id;
}
let invite_instance_id = getInviteInstanceId(r29.baseCode, messageId3);
if (invite_instance_id == null) {
invite_instance_id = null;
}
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.INVITE_SENT, {
...r50,
location: location2,
invite_type: LoggingInviteTypes.FRIEND_INVITE,
invite_code: r29.baseCode,
message_id: messageId3,
send_type: SendTypes.DIRECT_MESSAGE,
invite_guild_scheduled_event_id: r29.guildScheduledEventId,
invite_instance_id,
...overrideProperties
});
}
};
const AbortCodes2 = AbortCodes;
Permissions;
MediaPlayerManager = NativeModules.MediaPlayerManager;
c3543_49 = new Logger("MessageActionCreators");
c3543_50 = new Logger("MessageQueue");
env3543[51] = false;
class RemoteFetch {
constructor() {
return {
__proto__: new.target.prototype,
completed: false
};
}
markComplete() {
this.completed = true;
}
}
const r119 = {};
r119[AbortCodes2.SLOWMODE_RATE_LIMITED] = {
messageName: "SLOWMODE_RATE_LIMITED",
messageGetter: (a0) => intl.formatToPlainString(t.IWntYg, {
seconds: a0.rateLimitPerUser
})
};
r119[AbortCodes2.INVALID_MESSAGE_SEND_NO_MUTUAL_GUILDS] = {
messageName: "INVALID_MESSAGE_SEND_NO_MUTUAL_GUILDS",
messageGetter: (a0) => {
const articleURL = HelpdeskUtils.getArticleURL(HelpdeskArticles.DM_COULD_NOT_BE_DELIVERED);
let rawRecipients = a0.rawRecipients;
if (rawRecipients == null) {
rawRecipients = [];
}
return a0.isDM() && (rawRecipients.length === 1 && rawRecipients.some((rawRecipient) => rawRecipient.bot)) ? intl.formatToPlainString(t.SkGL7l, {
helpUrl: articleURL
}) : intl.formatToPlainString(t.llTkqr, {
helpUrl: articleURL
});
}
};
r119[AbortCodes2.INVALID_MESSAGE_SEND_USER] = {
messageName: "INVALID_MESSAGE_SEND_USER",
messageGetter: () => intl.formatToPlainString(t.SkGL7l, {
helpUrl: HelpdeskUtils.getArticleURL(HelpdeskArticles.DM_COULD_NOT_BE_DELIVERED)
})
};
r119[AbortCodes2.TOO_MANY_THREADS] = {
messageName: "TOO_MANY_THREADS",
messageGetter: (a0) => !a0.isForumLikeChannel() && !a0.isForumPost() ? intl.string(t["5EMPA7"]) : intl.string(t["/jUd2+"])
};
r119[AbortCodes2.TOO_MANY_ANNOUNCEMENT_THREADS] = {
messageName: "TOO_MANY_ANNOUNCEMENT_THREADS",
messageGetter: () => intl.string(t["aY+lLC"])
};
r119[AbortCodes2.HARMFUL_LINK_MESSAGE_BLOCKED] = {
messageName: "HARMFUL_LINK_MESSAGE_BLOCKED",
messageGetter: () => intl.formatToPlainString(t.zSG3Qy, {
helpUrl: MarketingURLs.HARMFUL_LINKS
})
};
r119[AbortCodes2.HARMFUL_URL_BLOCKED] = {
messageName: "HARMFUL_URL_BLOCKED",
messageGetter: () => intl.string(t.WxX2Fd)
};
r119[AbortCodes2.EMAIL_VERIFICATION_REQUIRED] = {
messageName: "BOT_REQUIRES_EMAIL_VERIFICATION",
messageGetter: () => intl.string(t.k1Cjqr)
};
r119[AbortCodes2.GUILD_MESSAGE_UPDATE_RATE_LIMIT_EXCEEDED] = {
messageName: "GUILD_MESSAGE_UPDATE_RATE_LIMIT_EXCEEDED",
messageGetter: () => intl.string(t.Z5SUuv)
};
r119[AbortCodes2.RATE_LIMIT_DM_OPEN] = {
messageName: "BOT_DM_RATE_LIMITED",
messageGetter: () => intl.string(t.E8nbNb)
};
r119[AbortCodes2.SEND_MESSAGE_TEMPORARILY_DISABLED] = {
messageName: "BOT_DM_SEND_MESSAGE_TEMPORARILY_DISABLED",
messageGetter: () => intl.string(t.aRUbah)
};
r119[AbortCodes2.INVALID_MESSAGE_SEND_GAME_FRIEND_DM] = {
messageName: "BOT_DM_SEND_MESSAGE_INVALID_FOR_GAME_FRIEND",
messageGetter: () => intl.string(t["/meGhR"])
};
r119[AbortCodes2.INVALID_MESSAGE_SEND_PROVISIONAL_ACCOUNT_OFFLINE] = {
messageName: "BOT_DM_SEND_MESSAGE_INVALID_OFFLINE_PROVISIONAL_ACCOUNT",
messageGetter: () => intl.string(t.Oc1Zjw)
};
r119[AbortCodes2.TOTAL_ATTACHMENT_SIZE_TOO_LARGE] = {
messageName: "TOTAL_ATTACHMENT_SIZE_TOO_LARGE",
messageGetter: () => intl.formatToPlainString(t.DYFPg2, {
maxSizeMb: MAX_TOTAL_ATTACHMENT_SIZE_MB
})
};
r119[AbortCodes2.CLOUD_UPLOAD_NOT_FOUND] = {
messageName: "CLOUD_UPLOAD_NOT_FOUND",
messageGetter: () => intl.string(t.bQldfH)
};
r119[AbortCodes2.INVALID_PERMISSIONS] = {
messageName: "INVALID_PERMISSIONS",
messageGetter: () => intl.string(t.zl4Weq)
};
c3543_54 = r119;
c3543_55 = {
receiveMessage: function receiveMessage(a0, a1, optimistic = false, sendMessageOptions = {}) {
Dispatcher.dispatch({
type: "MESSAGE_CREATE",
channelId: a0,
message: a1,
optimistic,
sendMessageOptions,
isPushNotification: false
});
},
sendBotMessage: (a0, a1, a2, a3) => {
if (a2 != null) {
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.AUTOMATED_MESSAGE_RECEIVED, {
message_author: "Clyde",
message_name: a2
});
}
c3543_55.receiveMessage(a0, createBotMessage({
messageId: a3,
channelId: a0,
content: a1,
loggingName: a2
}));
},
sendNitroSystemMessage: (a0, a1, a2) => {
c3543_55.receiveMessage(a0, {
...createMessage({
channelId: a0,
nonce: a2,
type: MessageTypes.NITRO_NOTIFICATION,
content: a1,
flags: MessageFlags.EPHEMERAL,
author: {
id: LOCAL_BOT_ID,
username: "Nitro Notification",
discriminator: NON_USER_BOT_DISCRIMINATOR,
avatar: "nitro",
bot: true
}
}),
state: MessageStates.SENT,
channel_id: a0
}, true);
},
sendGiftingPromptSystemMessage: (a0, a1) => {
c3543_55.receiveMessage(a0, {
...createMessage({
channelId: a0,
type: MessageTypes.GIFTING_PROMPT,
content: "",
flags: MessageFlags.EPHEMERAL,
author: {
id: LOCAL_BOT_ID,
username: "Gifting Prompt",
discriminator: NON_USER_BOT_DISCRIMINATOR,
avatar: "gifting_prompt",
bot: true
},
giftingPrompt: a1
}),
state: MessageStates.SENT
}, true);
},
sendGuildBoostUpsellSystemMessage: (a0, a1) => {
c3543_55.receiveMessage(a0, {
...createMessage({
channelId: a0,
type: MessageTypes.GUILD_BOOST_UPSELL,
content: "",
flags: MessageFlags.EPHEMERAL,
author: {
id: LOCAL_BOT_ID,
username: "Guild Boost Upsell",
discriminator: NON_USER_BOT_DISCRIMINATOR,
avatar: "guild_boost_upsell",
bot: true
},
boostingPrompt: a1
}),
state: MessageStates.SENT
}, true);
},
sendClydeError: function sendClydeError(a0, r13 = 0) {
const channel = ChannelStore.getChannel(a0);
if (channel != null) {
const r18 = c3543_54[r13];
if (r18 != null) {
c3543_55.sendBotMessage(a0, r18.messageGetter(channel), r18.messageName);
} else {
c3543_55.sendBotMessage(a0, intl.formatToPlainString(t.SkGL7l, {
helpUrl: HelpdeskUtils.getArticleURL(HelpdeskArticles.DM_COULD_NOT_BE_DELIVERED)
}), `SEND_FAILED (${r13})`);
}
}
},
sendExplicitMediaClydeError: (a0, a1, a2) => {
const channel = ChannelStore.getChannel(a0);
if (channel != null) {
const r37 = match({
isDM: channel.isDM(),
isGDM: channel.isGroupDM()
}).with({
isDM: true
}, () => ({
message: intl.string(t["mktny/"]),
messageName: "BOT_DM_EXPLICIT_CONTENT"
})).with({
isDM: false,
isGDM: true
}, () => ({
message: intl.string(t["mktny/"]),
messageName: "BOT_GDM_EXPLICIT_CONTENT"
})).otherwise(() => ({
message: intl.string(t.i4AbAS),
messageName: "BOT_GUILD_EXPLICIT_CONTENT"
}));
const { message, messageName } = r37;
const nonce3 = createNonce();
c3543_55.sendBotMessage(a0, message, messageName, nonce3);
trackMediaRedactionAction({
action: TrackMediaRedactionActionType.EXPLICIT_MEDIA_FALSE_POSITIVE_CLYDE_MESSAGE_SENT,
messageId: nonce3,
channelId: a0,
context: a2
});
if (a1 != null && a1.length > 0) {
Dispatcher.dispatch({
type: "MESSAGE_EXPLICIT_CONTENT_FP_CREATE",
messageId: nonce3,
channelId: a0,
attachments: a1
});
}
}
},
truncateMessages: (a0, a1, a2) => {
Dispatcher.dispatch({
type: "TRUNCATE_MESSAGES",
channelId: a0,
truncateBottom: a1,
truncateTop: a2
});
},
clearChannel: (a0) => {
Dispatcher.dispatch({
type: "CLEAR_MESSAGES",
channelId: a0
});
},
jumpToPresent: (a0, a1) => {
c3543_55.trackJump(a0, null, "Present");
const jump2 = {
present: true
};
if (MessageStore.hasPresent(a0)) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
jump: jump2,
channelId: a0,
limit: a1
});
} else {
c3543_55.fetchMessages({
channelId: a0,
limit: a1,
jump: jump2
});
}
},
trackJump: (a0, a1, a2, a3) => {
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.JUMP, {
context: a2,
channel_id: a0,
message_id: a1,
...a3
});
},
jumpToMessage: ({ channelId: channelId5, messageId: messageId3, flash = false, offset, context, extraProperties = null, isPreload, returnMessageId, skipLocalFetch, jumpType, avoidInitialScroll: avoidInitialScroll2, onJumpComplete }) => {
if (typeof context === "string") {
c3543_55.trackJump(channelId5, messageId3, context, extraProperties);
}
if (MediaPlayerManager != null) {
const pauseAllMediaPlayers = MediaPlayerManager.pauseAllMediaPlayers;
if (pauseAllMediaPlayers != null) {
pauseAllMediaPlayers.call(MediaPlayerManager);
}
}
return c3543_55.fetchMessages({
channelId: channelId5,
limit: MAX_MESSAGES_FOR_JUMP,
jump: {
messageId: messageId3,
flash,
offset,
returnMessageId,
jumpType,
onJumpComplete
},
isPreload,
skipLocalFetch,
avoidInitialScroll: avoidInitialScroll2
});
},
focusMessage: (a0) => {
c3543_55.fetchMessages({
channelId: a0.channelId,
limit: MAX_MESSAGES_FOR_JUMP,
focus: {
messageId: a0.messageId
}
});
},
fetchMessage: async ({ channelId, messageId }) => {
let messageRecord;
let c25563_1;
let c29576_0;
L12: {
c25563_1 = void 0;
c29576_0 = void 0;
c29576_0 = await HTTP.get({
url: Endpoints.MESSAGES(channelId),
query: {
limit: 1,
around: messageId
},
retries: 2,
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
});
if (c29576_0.body.length > 0) {
messageRecord = createMessageRecord(c29576_0.body[0]);
break L12;
}
return void 0;
}
return messageRecord;
},
fetchMessages: function fetchMessages(a0) {
let messageId2, c15046_12;
const { channelId: channelId2, before, after, limit } = a0;
let jump2 = a0.jump;
const jump = jump2;
const { focus, isPreload, skipLocalFetch, truncate, forICYMI, avoidInitialScroll, feature } = a0;
let fetchKey2 = a0.fetchKey;
const fetchKey = fetchKey2;
messageId2 = void 0;
c15046_12 = void 0;
const channel = ChannelStore.getChannel(channelId2);
const isConnectedOrOverlay = GatewayConnectionStore.isConnectedOrOverlay();
const r19 = Date.now();
let c15046_10 = r19;
if (channel != null && channel.type === ChannelTypes.GUILD_STORE) {
return false;
}
if (channelId2 !== FAKE_PLACEHOLDER_PRIVATE_CHANNEL_ID) {
c3543_49.log(`Fetching messages for ${channelId2} between ${after} and ${before}. jump=${JSON.stringify(jump)}`);
if (!c3543_55._tryFetchMessagesCached({
channelId: channelId2,
before,
after,
limit,
jump,
focus,
truncate
})) {
TTITracker.fetchMessages.recordStart();
MessageCacheStats.recordChannelFetchStart(channelId2, fetchKey == null ? r19 : fetchKey, before, after, limit);
if (jump == null) {
jump2 = void 0;
}
if (jump2 == null && focus != null) {
jump2 = {
...focus
};
}
ChannelMessages.commit(ChannelMessages.getOrCreate(channelId2).loadStart(jump2));
Dispatcher.dispatch({
type: "LOAD_MESSAGES"
});
messageId2 = jump2?.messageId;
const r103 = {
__proto__: RemoteFetch.prototype,
completed: false
};
c15046_12 = r103;
if (!skipLocalFetch) {
const fetchLocalMessages2 = this.fetchLocalMessages;
if (fetchKey == null) {
fetchKey2 = r19;
}
fetchLocalMessages2.call(this, channelId2, fetchKey2, before, after, limit, r103);
}
return HTTP.get({
url: Endpoints.MESSAGES(channelId2),
query: {
before,
after,
limit,
around: messageId2,
preload: isPreload,
feature
},
retries: 2,
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
}).then((c25564_0) => {
TTITracker.fetchMessages.recordEnd();
TTITracker.dispatchMessages.measure(() => {
const body = c25564_0.body;
const isBefore = before != null;
const isAfter = after != null;
let r5 = messageId2 != null || body.length === limit && (isBefore || before == null && after == null);
let r35 = messageId2 != null || isAfter && body.length === limit;
let hasMoreAfter = r35;
let hasMoreBefore = r5;
if (messageId2 != null) {
const r44 = Math.floor(limit / 2);
const r57 = [messageId2, ...body.map((item) => item.id)].filter((item, index, a2) => a2.indexOf(item) === index).sort(SnowflakeUtils.compare).indexOf(messageId2);
if (r57 < r44 + limit % 2 - 1) {
r5 = false;
}
if (body.length - r57 < r44) {
r35 = false;
}
hasMoreAfter = r35;
hasMoreBefore = r5;
if (r35) {
const length = body.length;
hasMoreAfter = r35;
hasMoreBefore = r5;
if (length > 0) {
const r68 = ReadStateStore.lastMessageId(channelId2);
const id2 = body[0].id;
hasMoreAfter = r35;
hasMoreBefore = r5;
if (id2 === r68) {
hasMoreAfter = false;
hasMoreBefore = r5;
}
}
}
}
c3543_49.log(`Fetched ${body.length} messages for ${channelId2} isBefore:${isBefore} isAfter:${isAfter}`);
c15046_12.markComplete();
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS",
channelId: channelId2,
messages: body,
isBefore,
isAfter,
hasMoreBefore,
hasMoreAfter,
limit,
jump,
forICYMI,
isStale: isConnectedOrOverlay ? GatewayConnectionStore.lastTimeConnectedChanged() >= c15046_10 : !isConnectedOrOverlay,
truncate,
avoidInitialScroll
});
let r109 = fetchKey;
if (fetchKey == null) {
r109 = c15046_10;
}
MessageCacheStats.recordChannelFetchedNetwork(channelId2, r109, before, after, limit, body);
});
return true;
}, () => {
c3543_49.log(`Failed to fetch messages for ${channelId2}`);
Dispatcher.dispatch({
type: "LOAD_MESSAGES_FAILURE",
channelId: channelId2
});
return false;
});
}
}
},
fetchLocalMessages: async (a0, a1, a2, a3, a4, a5) => {
let env15047 = {
$parent: env3543
};
env15047[0] = a0;
env15047[1] = a1;
env15047[2] = a2;
env15047[3] = a3;
env15047[4] = a4;
env15047[5] = a5;
let c25565_0, c25565_1;
L16: {
L22: {
let env29577;
const r11 = env15047;
c25565_1 = r11;
const r38 = env29577 = {
$parent: r11
};
c25565_0 = r38;
env29577[0] = void 0;
env29577[1] = void 0;
env29577[2] = void 0;
env29577[3] = void 0;
const basicChannel = ChannelStore.getBasicChannel(env15047[0]);
env29577[0] = basicChannel;
const orCreate = ChannelMessages.getOrCreate(env15047[0]);
const r51 = DatabaseDaos.database();
env29577[1] = r51;
if (r51 != null && basicChannel != null && env15047[2] == null && env15047[3] == null) {
if (orCreate.ready && !orCreate.cached) {
TTITracker.addLocalMessages(env15047[0], -2);
break L16;
}
env29577[2] = await tryLoadAsync(() => Messages.load(env29577[1], env15047[0], env15047[4]));
if (env29577[2] != null) {
const length = env29577[2].messages.length;
const r26 = env15047[0];
const r103 = env15047[5];
c3543_49.log(`fetched ${length} messages from local database (channel_id: ${r26}, remote_fetch_completed: ${r103.completed})`);
TTITracker.addLocalMessages(env15047[0], env29577[2].messages.length);
if (r103.completed) {
break L22;
}
if (!(env29577[2].messages.length > 0)) {
break L22;
}
env29577[3] = env29577[2].messages.length >= env15047[4] && env29577[2].connectionId === GatewayConnectionStore.lastTimeConnectedChanged();
MessageCacheStats.recordChannelFetchedLocal(env15047[0], env15047[1], env15047[2], env15047[3], env15047[4], env29577[2].messages);
Dispatcher.dispatch({
type: "LOCAL_MESSAGES_LOADED",
guildId: env29577[0].guild_id,
channelId: env15047[0],
users: env29577[2].users,
members: env29577[2].members,
messages: env29577[2].messages,
stale: !env29577[3]
});
break L22;
}
TTITracker.addLocalMessages(env15047[0], -3);
break L22;
}
TTITracker.addLocalMessages(env15047[0], -1);
break L16;
}
return void 0;
}
},
fetchNewLocalMessages: async (a0, a1) => {
let env15048 = {
$parent: env3543
};
env15048[0] = a0;
env15048[1] = a1;
let c25566_0, c25566_1;
L22: {
L21: {
let env29578;
const r11 = env15048;
c25566_1 = r11;
const r32 = env29578 = {
$parent: r11
};
c25566_0 = r32;
env29578[0] = void 0;
env29578[1] = void 0;
env29578[2] = void 0;
env29578[3] = void 0;
env29578[4] = void 0;
env29578[5] = void 0;
const basicChannel = ChannelStore.getBasicChannel(env15048[0]);
env29578[0] = basicChannel;
const r39 = DatabaseDaos.database();
env29578[1] = r39;
if (r39 == null) {
break L22;
}
if (basicChannel == null) {
break L22;
}
env29578[2] = ChannelMessages.getOrCreate(env15048[0]);
if (env29578[2].hasMoreAfter) {
break L22;
}
env29578[3] = await tryLoadAsync(() => Messages.load(env29578[1], env15048[0], env15048[1]));
if (env29578[3] == null) {
break L21;
}
env29578[2] = ChannelMessages.getOrCreate(env15048[0]);
env29578[4] = env29578[2].last()?.id;
env29578[5] = env29578[4] == null ? env29578[3].messages : env29578[3].messages.filter($mk114782(c25566_0));
c3543_49.log(`Fetched ${env29578[3].messages.length} messages from the cache after foregrounding. ${env29578[5].length} are new`);
if (env29578[5].length === 0) {
break L21;
}
Dispatcher.dispatch({
type: "LOCAL_MESSAGES_LOADED",
guildId: env29578[0].guild_id,
channelId: env15048[0],
users: env29578[3].users,
members: env29578[3].members,
messages: env29578[5],
stale: true,
isForegroundCacheLoad: isIOSPushNotificationRawPayloadFixExperimentEnabled()
});
}
return void 0;
}
},
_tryFetchMessagesCached: ({ channelId: channelId5, before: before2, after: after2, limit: limit2, jump: jump2, focus, truncate: truncate2 }) => {
let r31;
const messages = MessageStore.getMessages(channelId5);
if (!messages.cached && messages.ready) {
if (jump2?.messageId == null && focus?.messageId == null) {
if (before2 != null && messages.hasBeforeCached(before2)) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
channelId: channelId5,
before: before2,
limit: limit2,
truncate: truncate2
});
r31 = true;
} else {
const r1 = after2 == null || !messages.hasAfterCached(after2);
r31 = !r1;
if (!r1) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
channelId: channelId5,
after: after2,
limit: limit2,
truncate: truncate2
});
r31 = true;
}
}
return r31;
}
if (jump2?.messageId != null && messages.has(jump2.messageId, false)) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
channelId: channelId5,
jump: jump2,
limit: limit2,
truncate: truncate2
});
return true;
}
const messageId3 = focus?.messageId;
let jump3 = jump2;
if (messageId3 != null) {
if (messages.has(focus.messageId, false)) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
channelId: channelId5,
focus,
limit: limit2,
truncate: truncate2
});
return true;
}
jump3 = {
...focus
};
}
const r63 = jump3?.messageId != null ? SnowflakeUtils.extractTimestamp(jump3?.messageId) : 0;
const r72 = messages.first();
const r74 = messages.last();
const hasMoreBefore = messages.hasMoreBefore;
let r76 = (hasMoreBefore ? !hasMoreBefore : r72 != null) && SnowflakeUtils.extractTimestamp(r72.id) >= r63;
if (!r76) {
const hasMoreAfter = messages.hasMoreAfter;
r76 = (hasMoreAfter ? !hasMoreAfter : r74 != null) && SnowflakeUtils.extractTimestamp(r74.id) <= r63;
}
if (!r76) {
r76 = r72 != null && r74 != null && SnowflakeUtils.extractTimestamp(r72.id) < r63 && SnowflakeUtils.extractTimestamp(r74.id) > r63;
}
if (r76) {
Dispatcher.dispatch({
type: "LOAD_MESSAGES_SUCCESS_CACHED",
channelId: channelId5,
jump: jump3,
limit: MAX_MESSAGES_FOR_JUMP
});
r76 = true;
}
return r76;
}
return false;
},
sendMessage: async function sendMessage(a0, a1) {
let r41, r69, r111;
let env15049 = {
$parent: env3543
};
env15049[0] = a0;
env15049[1] = a1;
let r4 = arguments[2];
if (r4 === void 0) {
r4 = true;
}
env15049[2] = r4;
env15049[3] = arguments[3];
let nonce, c25567_1, c25567_2;
L24: {
L23: {
L22: {
let env29579;
const r35 = env15049;
c25567_2 = r35;
const r14 = env29579 = {
$parent: r35
};
c25567_1 = r14;
env29579[0] = void 0;
env29579[1] = void 0;
env29579[2] = void 0;
if (env15049[1].reaction) {
r41 = Promise.resolve();
break L24;
}
env29579[0] = await maybeConvertPrivateChannel(env15049[0]);
if (env29579[0] != null) {
r69 = c3543_55.sendMessage(env29579[0], env15049[1], env15049[2], env15049[3]);
break L23;
}
nonce = env15049[3].nonce;
if (nonce == null) {
nonce = createNonce();
}
env29579[1] = nonce;
env15049[3] = {
...env15049[3],
nonce: env29579[1]
};
env29579[2] = BackgroundTaskManager_native.backgroundify($mk114783(env15049), void 0);
MessageRoundtripTrackerStore.recordMessageSendAttempt(env15049[0], env29579[1], env15049[3]);
if (MessageStore.isReady(env15049[0])) {
r111 = (0, env29579[2])();
} else {
if (env15049[2]) {
if (env15049[0] !== FAKE_PLACEHOLDER_PRIVATE_CHANNEL_ID) {
const r123 = c25567_1;
c3543_50.info(`Waiting for channel ${env15049[0]} to be ready before sending.`);
r111 = new Promise($mk114784(r123));
break L22;
}
}
r111 = (0, env29579[2])();
}
}
return r111;
}
return r69;
}
return r41;
},
getSendMessageOptionsForReply: (a0) => {
let r13;
if (a0 == null) {
r13 = {};
} else {
let guild_id = a0.channel.getGuildId();
if (guild_id == null) {
guild_id = void 0;
}
r13 = {
messageReference: {
guild_id,
channel_id: a0.channel.id,
message_id: a0.message.id
},
allowedMentions: a0.shouldMention ? void 0 : {
parse: Object.values(AllowedMentionTypes),
replied_user: false
},
mediaMention: a0.mediaMention
};
}
return r13;
},
getSendMessageOptionsForStickers: ({ isGif, stickers }) => stickers != null && (stickers.length !== 0 && !isGif) ? {
stickerIds: stickers
} : {},
getSendMessageOptionsForScheduledMessage: ({ scheduledTimestamp }) => scheduledTimestamp == null ? {} : {
scheduledTimestamp
},
getSendMessageOptionsForAlsoForwardToChannel: (a0) => ({
alsoForwardToChannelId: a0.alsoForwardToChannelId
}),
getSendMessageOptions: (a0) => {
const r0 = {};
HermesBuiltin.copyDataProperties(r0, c3543_55.getSendMessageOptionsForReply(a0.pendingReply));
HermesBuiltin.copyDataProperties(r0, c3543_55.getSendMessageOptionsForStickers({
...a0
}));
HermesBuiltin.copyDataProperties(r0, c3543_55.getSendMessageOptionsForScheduledMessage({
...a0
}));
HermesBuiltin.copyDataProperties(r0, c3543_55.getSendMessageOptionsForAlsoForwardToChannel({
...a0
}));
return r0;
},
sendInvite: (a0, a1, a2, a3, a4) => {
const inviteURL = getInviteURL(a1);
return c3543_55._sendMessage(a0, {
content: a4 != null ? `${a4}
${inviteURL}` : inviteURL,
tts: false,
validNonShortcutEmojis: [],
invalidEmojis: []
}, {
location: a2,
inviteAnalyticsMetadata: a3
});
},
sendActivityBookmark: (a0, a1, a2, a3) => c3543_55._sendMessage(a0, {
content: a1,
tts: false,
validNonShortcutEmojis: [],
invalidEmojis: []
}, {
location: a2,
inviteAnalyticsMetadata: a3
}),
sendStickers: function sendStickers(a0, a1, content = "") {
let r5;
let tts2 = arguments[4];
if (tts2 === void 0) {
tts2 = false;
}
if (typeof content === "string") {
r5 = {
content,
invalidEmojis: [],
validNonShortcutEmojis: [],
tts: tts2
};
} else {
let tts = content.tts;
if (tts == null) {
tts = tts2;
}
r5 = {
...content,
tts
};
}
return c3543_55._sendMessage(a0, r5, {
...arguments[3],
stickerIds: a1
});
},
sendGreetMessage: function sendGreetMessage(a0, a1) {
const channelId3 = a0;
let r2 = arguments[2];
if (r2 === void 0) {
r2 = {};
}
const { messageReference, allowedMentions } = r2;
return HTTP.post({
url: Endpoints.MESSAGES_GREET(a0),
body: {
sticker_ids: [a1],
allowed_mentions: allowedMentions,
message_reference: messageReference
},
oldFormErrors: true,
rejectWithError: rejectWithMigratedError(),
context: {
location: MessageSendLocation.GREET
}
}).then((result) => {
SentMessageIntentsHandler_android.donateSentMessage(result.body.content, channelId3);
c3543_55.receiveMessage(channelId3, result.body);
Dispatcher.dispatch({
type: "STICKER_TRACK_USAGE",
stickerIds: [a1]
});
return result;
}, (a0) => {
c3543_49.log("Failed to send greeting");
if (a0.status !== 429) {
c3543_55.sendClydeError(channelId3, a0.body.code);
}
Dispatcher.dispatch({
type: "MESSAGE_SEND_FAILED",
messageId: a0.body.id,
channelId: channelId3
});
throw a0;
});
},
sendPollMessage: function sendPollMessage(a0, a1, r8 = {}) {
return c3543_55._sendMessage(a0, {
content: "",
tts: false,
validNonShortcutEmojis: [],
invalidEmojis: []
}, {
...r8,
poll: a1,
location: MessageSendLocation.POLL_CREATION
});
},
validateMessage: (a0, a1, a2) => {
let errorMessage, errorMessageName;
L4: {
if (a0.some((item) => item.animated)) {
if (!PremiumUtils.canUseAnimatedEmojis(a1)) {
errorMessage = intl.string(t["V5/GgC"]);
errorMessageName = "INVALID_ANIMATED_EMOJI_BODY";
break L4;
}
}
errorMessage = intl.string(t["Q87rI/"]);
errorMessageName = "INVALID_EXTERNAL_EMOJI_BODY";
}
return {
errorMessage,
errorMessageName
};
},
_sendMessage: async (a0, a1, a2) => {
let r68, r123, promise, promise2;
let env15051 = {
$parent: env3543
};
env15051[0] = a0;
env15051[1] = a1;
env15051[2] = a2;
let flags, nonce2, publish, c25568_3, c25568_4, c25568_5;
let c25568_6 = 0;
const r11 = env15051;
L113: {
L112: {
L111: {
L110: {
L106: {
L37: {
try {
let env29580;
c25568_4 = r11;
const r38 = env29580 = {
$parent: r11
};
c25568_3 = r38;
env29580[0] = void 0;
env29580[1] = void 0;
env29580[2] = void 0;
env29580[3] = void 0;
env29580[4] = void 0;
env29580[5] = void 0;
env29580[6] = void 0;
env29580[7] = void 0;
env29580[8] = void 0;
env29580[9] = void 0;
env29580[10] = void 0;
env29580[11] = void 0;
env29580[12] = void 0;
env29580[13] = void 0;
env29580[14] = void 0;
env29580[15] = void 0;
env29580[16] = void 0;
env29580[17] = void 0;
env29580[18] = void 0;
env29580[19] = void 0;
env29580[20] = void 0;
env29580[21] = void 0;
env29580[22] = void 0;
env29580[23] = void 0;
const channelId5 = env15051[0];
const r23 = maybeConvertPrivateChannel(channelId5);
if (r23 != null) {
c3543_50.info("Converting channel to a private channel");
r68 = r23.then((result) => {
c3543_50.info("Finished converting channel to a private channel");
return c3543_55._sendMessage(result, env15051[1], env15051[2]);
});
break L113;
}
const r37 = env15051[1];
const content = r37.content;
env29580[0] = content;
const invalidEmojis = r37.invalidEmojis;
env29580[1] = r37.validNonShortcutEmojis;
const tts = r37.tts;
const tts2 = tts !== void 0 && tts;
const r25 = env15051[2];
const { activityAction, location: location2 } = r25;
env29580[2] = location2;
env29580[3] = r25.inviteAnalyticsMetadata;
const stickerIds = r25.stickerIds;
env29580[4] = stickerIds;
const messageReference = r25.messageReference;
env29580[5] = messageReference;
const { allowedMentions, poll } = r25;
env29580[6] = poll;
const { sharedCustomTheme, contentInventoryEntry } = r25;
env29580[7] = contentInventoryEntry;
const { attachments, attachmentsToUpload } = r25;
env29580[8] = attachmentsToUpload;
env29580[9] = r25.onAttachmentUploadError;
const { announcementSendOptions, withCheckpoint, mediaMention } = r25;
flags = r25.flags;
if (flags == null) {
flags = 0;
}
const [r81, r82] = parseContentForSuppressNotifications(content);
let r47 = flags;
let content2 = content;
if (r81) {
env29580[0] = r82;
r47 = addFlag(flags, MessageFlags.SUPPRESS_NOTIFICATIONS);
content2 = r82;
}
const channel = ChannelStore.getChannel(channelId5);
const flags3 = canSendGuildOfficialMessages(GuildStore.getGuild(channel?.guild_id), channel, "_sendMessage") ? addFlag(r47, MessageFlags.IS_GUILD_OFFICIAL) : r47;
env29580[10] = false;
const type = r25.messageReference?.type;
L21: {
const r116 = type === MessageReferenceTypes.FORWARD;
env29580[11] = r116;
if (content2 === "" && activityAction == null && stickerIds == null && poll == null && sharedCustomTheme == null && contentInventoryEntry == null && !r116) {
if (attachments != null && attachments.length !== 0) {
break L21;
}
if (!withCheckpoint) {
if (r37.components != null && r37.components.length !== 0) {
break L21;
}
if (attachmentsToUpload != null && attachmentsToUpload.length > 0) {
env29580[10] = true;
break L21;
}
r123 = Promise.resolve();
break L37;
}
}
}
const type4 = messageReference != null ? MessageTypes.REPLY : MessageTypes.DEFAULT;
env29580[12] = type4;
nonce2 = r25.nonce;
if (nonce2 == null) {
nonce2 = createNonce();
}
env29580[13] = nonce2;
env29580[14] = nonce2;
const message = createMessage({
channelId: channelId5,
content: content2,
tts: tts2,
type: type4,
messageReference,
allowedMentions,
flags: flags3 !== 0 ? flags3 : void 0,
nonce: nonce2,
poll: createPollServerDataFromCreateRequest(poll),
sharedCustomTheme,
mediaMention,
mentionGames: r37.mentionGames
});
if (r25.eagerDispatch !== false) {
updateComboOnMessageSend(channelId5, message.id);
if (stickerIds != null) {
message.sticker_items = stickerIds.map((stickerId) => StickersStore.getStickerById(stickerId)).filter((item) => item != null);
}
c3543_55.receiveMessage(channelId5, message, true, r25);
}
if (!env3543[51] && invalidEmojis != null && invalidEmojis.length > 0) {
env3543[51] = true;
const currentUser = UserStore.getCurrentUser();
const r174 = c3543_55.validateMessage(invalidEmojis, currentUser, channelId5);
c3543_55.sendBotMessage(channelId5, r174.errorMessage, r174.errorMessageName);
}
const r190 = {
type: announcementSendOptions != null ? MessageDataType.SEND_ANNOUNCEMENT : MessageDataType.SEND,
message: {
channelId: channelId5,
content: content2,
nonce: nonce2,
tts: tts2,
message_reference: messageReference,
allowed_mentions: allowedMentions,
flags: flags3,
analyticsLocation: location2
}
};
env29580[16] = r190;
if (r37.components != null) {
r190.message.components = r37.components;
}
if (announcementSendOptions != null) {
r190.message.create_thread = announcementSendOptions.createThread;
r190.message.title = announcementSendOptions.threadName;
const message2 = r190.message;
const publish2 = announcementSendOptions.publish;
publish = publish2;
if (publish2 == null) {
publish = false;
}
message2.publish = publish;
}
if (activityAction != null) {
const r203 = activityAction == null ? void 0 : activityAction.activity.session_id;
const type2 = activityAction.type;
const JOIN_REQUEST = ActivityActionTypes.JOIN_REQUEST;
let session_id = r203;
if (type2 !== JOIN_REQUEST) {
const type3 = activityAction.type;
const STREAM_REQUEST = ActivityActionTypes.STREAM_REQUEST;
session_id = r203;
if (type3 !== STREAM_REQUEST) {
session_id = r203;
if (session_id == null) {
session_id = AuthenticationStore.getSessionId();
}
}
}
if (session_id != null) {
const activity2 = {
type: activityAction.type,
session_id,
target_user_id: activityAction.targetUserId
};
const activity = activityAction.activity;
if (activity.party != null && activity.party.id != null) {
activity2.party_id = activity.party.id;
}
r190.message.application_id = activity.application_id;
r190.message.activity = activity2;
}
}
if (poll != null) {
r190.message.poll = poll;
}
if (sharedCustomTheme != null) {
r190.message.shared_client_theme = sharedCustomTheme;
}
if (stickerIds != null) {
r190.message.sticker_ids = stickerIds;
}
if (PoggermodeSettingsStore.isEnabled()) {
r190.message.has_poggermode_enabled = true;
}
if (withCheckpoint) {
r190.message.with_checkpoint = true;
}
if (contentInventoryEntry != null) {
r190.message.content_inventory_entry = contentInventoryEntry;
}
if (mediaMention != null) {
r190.message.media_mention = mediaMention;
}
if (attachments != null && attachments.length > 0) {
r190.message.attachments = attachments;
}
if (attachmentsToUpload != null && attachmentsToUpload.length > 0) {
c25568_6 = 1;
const doNotNotifyOnError = r25.doNotNotifyOnError;
env29580[17] = await uploadMessageAttachments({
channelId: channelId5,
nonce: nonce2,
items: attachmentsToUpload,
message,
shouldUploadFailureSendNotification: doNotNotifyOnError ? !doNotNotifyOnError : void 0
});
if (env29580[17] == null) {
c25568_6 = 0;
break L111;
}
L102: {
env29580[18] = env29580[17].attachments;
env29580[15] = env29580[17].uploader;
if (env29580[10]) {
if (env29580[18] != null && env29580[18].length !== 0) {
break L102;
}
c25568_6 = 0;
break L106;
}
}
if (env29580[18] != null) {
env29580[16].message.attachments = env29580[18].map($mk114788(env3543));
}
c25568_6 = 0;
promise2 = new Promise($mk114789(c25568_3));
break L110;
}
promise = new Promise($mk114789(c25568_3));
break L112;
} catch ($e) {
const r59 = $e;
let r8 = r59;
c25568_5 = r59;
if (c25568_6 !== 0) {
while (true) {
try {
const r320 = c25568_5;
c25568_6 = 0;
env29580[19] = r320;
env29580[20] = env29580[19].file;
env29580[21] = env29580[19].code;
env29580[22] = env29580[19].reason;
env29580[23] = env29580[19].responseBody;
logMessageSendFailure({
fileItems: env29580[20].items,
failureCode: env29580[21],
errorMessage: env29580[22]?.msg
});
const r345 = env29580[9];
if (r345 != null) {
r345(env29580[20], env29580[21], env29580[22], env29580[23]);
}
} catch (r316) {
r8 = r316;
c25568_5 = r316;
if (c25568_6 === 0) {
break;
}
continue;
}
return void 0;
}
}
throw r8;
}
}
return r123;
}
return void 0;
}
return promise2;
}
return void 0;
}
return promise;
}
return r68;
},
startEditMessage: (a0, a1, a2, a3) => {
Dispatcher.dispatch({
type: "MESSAGE_START_EDIT",
channelId: a0,
messageId: a1,
content: a2,
source: a3
});
},
startEditMessageRecord: (a0, a1, a2) => {
if (hasFlag(a1.flags, MessageFlags.IS_COMPONENTS_V2)) {
const r19 = a1.components.filter((component) => component.type === ComponentType.TEXT_DISPLAY);
if (r19.length > 0) {
Dispatcher.dispatch({
type: "MESSAGE_START_EDIT",
channelId: a0,
messageId: a1.id,
content: r19.map((item) => item.content).join("\n"),
source: a2
});
return void 0;
}
}
Dispatcher.dispatch({
type: "MESSAGE_START_EDIT",
channelId: a0,
messageId: a1.id,
content: a1.content,
source: a2
});
},
updateEditMessage: (a0, a1, a2) => {
Dispatcher.dispatch({
type: "MESSAGE_UPDATE_EDIT",
channelId: a0,
textValue: a1,
richValue: a2
});
},
endEditMessage: (a0, a1) => {
Dispatcher.dispatch({
type: "MESSAGE_END_EDIT",
channelId: a0,
response: a1
});
},
editMessage: async (a0, a1, a2) => {
let env15052 = {
$parent: env3543
};
env15052[0] = a0;
env15052[1] = a1;
env15052[2] = a2.content;
env15052[3] = a2.components;
let env29581;
const r9 = env15052;
let c25569_1 = r9;
const r10 = env29581 = {
$parent: r9
};
let c25569_0 = r10;
env29581[0] = void 0;
env29581[1] = void 0;
env29581[2] = void 0;
(function tryTrackEditMessageSwipeSend(a0, a1) {
if (EditMessageStore.getEditActionSource(a1) === "message_swipe") {
AnalyticsUtils.track(AnalyticEvents.MESSAGE_SWIPE_ACTION_SENT, {
message_id: a0,
channel_id: a1,
guild_id: ChannelStore.getChannel(a1)?.guild_id,
swipe_action: "edit",
is_own_message: true
});
}
})(env15052[1], env15052[0]);
await ThreadActionCreators.unarchiveThreadIfNecessary(env15052[0]);
const r50 = env3543;
const r51 = env15052[0];
const r52 = env15052[1];
env29581[0] = $mk114791(r50)(r51, r52);
const r55 = env15052[0];
const r56 = env15052[1];
env29581[1] = $mk114792(r50)(r55, r56);
env29581[2] = {
channelId: env15052[0],
messageId: env15052[1],
content: env15052[2],
isCrossposted: env29581[1],
allowed_mentions: env29581[0],
components: env15052[3]
};
MessageQueue.enqueue({
type: MessageDataType.EDIT,
message: env29581[2]
}, $mk114793(c25569_0));
},
suppressEmbeds: async (c15053_0, c15053_1) => {
let c25570_1;
c25570_1 = void 0;
await ThreadActionCreators.unarchiveThreadIfNecessary(c15053_0);
let c29582_0 = MessageStore.getMessage(c15053_0, c15053_1);
if (c29582_0 != null) {
HTTP.patch({
url: Endpoints.MESSAGE(c15053_0, c15053_1),
body: {
flags: setFlag(c29582_0.flags, MessageFlags.SUPPRESS_EMBEDS, true)
},
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
});
}
},
patchMessageGuildOfficial: async (c15054_0, c15054_1, c15054_2) => {
let c25571_1;
c25571_1 = void 0;
await ThreadActionCreators.unarchiveThreadIfNecessary(c15054_0);
let c29583_0 = MessageStore.getMessage(c15054_0, c15054_1);
if (c29583_0 != null) {
HTTP.patch({
url: Endpoints.MESSAGE(c15054_0, c15054_1),
body: {
flags: setFlag(c29583_0.flags, MessageFlags.IS_GUILD_OFFICIAL, c15054_2)
},
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
});
}
},
patchMessageAttachments: async (c15055_0, c15055_1, c15055_2) => {
let c25572_0;
c25572_0 = void 0;
await ThreadActionCreators.unarchiveThreadIfNecessary(c15055_0);
HTTP.patch({
url: Endpoints.MESSAGE(c15055_0, c15055_1),
body: {
attachments: c15055_2
},
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
});
},
deleteMessage: async function deleteMessage(channelId4, id, r4 = false) {
let c15056_2 = r4;
let c25573_0, c25573_1;
L14: {
const r33 = void 0;
c25573_1 = r33;
c25573_0 = r33;
if (c15056_2) {
(function dispatchDelete() {
const r1 = env3543;
Dispatcher.dispatch({
type: "MESSAGE_DELETE",
id,
channelId: channelId4
}).then($mk117922(r1));
})();
break L14;
}
await ThreadActionCreators.unarchiveThreadIfNecessary(channelId4);
const r56 = c25573_0;
HTTP.del({
url: Endpoints.MESSAGE(channelId4, id),
oldFormErrors: true,
rejectWithError: rejectWithMigratedError()
}).then($mk114795(r56));
return void 0;
}
},
dismissAutomatedMessage: function dismissAutomatedMessage(a0) {
if (a0.loggingName != null) {
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.AUTOMATED_MESSAGE_DISMISSED, {
message_name: a0.loggingName,
message_author: a0.author.username
});
}
logGiftIntentMessageDismissed(a0.channel_id, a0.id);
this.deleteMessage(a0.channel_id, a0.id, true);
},
revealMessage: (a0, a1) => {
Dispatcher.dispatch({
type: "MESSAGE_REVEAL",
channelId: a0,
messageId: a1
});
},
crosspostMessage: async (c15057_0, c15057_1) => {
let r54;
let c25574_2;
let c25574_3 = 0;
let c29584_0, c29584_1;
try {
c29584_0 = void 0;
c25574_3 = 1;
r54 = await HTTP.post({
url: Endpoints.MESSAGE_CROSSPOST(c15057_0, c15057_1),
oldFormErrors: true,
failImmediatelyWhenRateLimited: true,
rejectWithError: rejectWithMigratedError()
});
c25574_3 = 0;
} catch ($e) {
const r33 = $e;
let r8 = r33;
c25574_2 = r33;
if (c25574_3 !== 0) {
while (true) {
try {
const r75 = c25574_2;
c25574_3 = 0;
c29584_1 = r75;
c29584_0 = c29584_1.status === 429 ? intl.formatToPlainString(t["77cuqz"], {
retryAfter: Math.floor(c29584_1.body.retry_after / 60)
}) : intl.string(t.z2gyNF);
AlertActionCreators.show({
title: intl.string(t.Vd1hs6),
body: c29584_0,
confirmText: intl.string(t.BddRzS)
});
} catch (r72) {
r8 = r72;
c25574_2 = r72;
if (c25574_3 === 0) {
break;
}
continue;
}
return void 0;
}
}
throw r8;
}
return r54;
},
trackInvite
};
export default c3543_55;