// Metro module 11145 (f11146). import PushFeedbackStore from "../../push_feedback/PushFeedbackStore"; import EditMessageStore from "../../../stores/EditMessageStore"; import UploadStore from "../../../stores/UploadStore"; import { Changeset, LoadingType, RowType, SeparatorType } from "./renderer/RowGeneratorConstants"; import { MessageFlags } from "../../../Constants"; import SnowflakeUtils from "../../../utils/SnowflakeUtils"; import isNewMessageGroup from "../isNewMessageGroup"; import { tryCreateInjectedMessage } from "../tryInjectMessage"; import { intl, t } from "../../../intl/index.native"; import { isSameDay, dateFormat } from "../../../utils/DateUtils"; import { canReplyToMessage } from "../../replies/canReplyToMessage"; import canEditMessage from "../canEditMessage"; import { isNonModInLockedThread } from "../../threads/ThreadHooks"; export default function createChannelStream({ channel, messages, uploads, oldestUnreadMessageId, replyingMessageId, currentUserId, canAddNewReactions, selectedSummary, chatManager, roleStyle, forceRender, updateMessageIds, isResourceChannel, unloadableContentEntryMessageIds }) { let c18560_13, c18560_14, c18560_16, insertMessage2, determineChangeType2; c18560_16 = void 0; const unreadFilter2 = function unreadFilter(a0) { const isForumPost = channel.isForumPost(); const r2 = a0.id === oldestUnreadMessageId; return isForumPost ? r2 ? a0.id !== SnowflakeUtils.castChannelIdAsMessageId(channel.id) : r2 : r2; }; insertMessage2 = function insertMessage(a0) { L11: { const r5 = c18560_16[0]; if (r5 != null) { const isForumPost = channel.isForumPost(); const r3 = a0.id === oldestUnreadMessageId; if (!(isForumPost ? r3 ? a0.id !== SnowflakeUtils.castChannelIdAsMessageId(channel.id) : r3 : r3)) { if (isNewMessageGroup(channel, r5[r5.length - 1], a0)) { c18560_16.unshift([a0]); break L11; } r5.unshift(a0); } else { c18560_16.unshift([a0]); } } else { c18560_16.unshift([a0]); } } }; determineChangeType2 = function determineChangeType(a0, r0 = false) { return chatManager.determineChangeType({ message: a0, updateMessageIds, forceRender }, r0); }; const r39 = []; c18560_13 = r39; const r10 = {}; c18560_14 = r10; for (const item of uploads.slice().reverse()) { const messageForFile = UploadStore.getMessageForFile(item.id); if (messageForFile?.nonce != null) { r10[messageForFile.nonce] = item; } } const r59 = []; c18560_16 = r59; messages.forEach((message) => { const r14 = tryCreateInjectedMessage(message, channel); if (r14 != null && r14.position === "before") { insertMessage2(r14.message); if (oldestUnreadMessageId === message.id) { oldestUnreadMessageId = r14.message.id; } } insertMessage2(message); if (r14 != null && r14.position === "after") { insertMessage2(r14.message); } }); r59.forEach((a0, index) => { let r260, r296; let c26953_0 = a0; const message = a0[a0.length - 1]; let c26953_1 = message; const r2 = c18560_16.length - 1; if (index === 0 && messages.hasMoreAfter) { c18560_13.push({ rowType: LoadingType.LOAD_AFTER, changeType: forceRender ? Changeset.UPDATE : Changeset.NOOP, roleStyle, isLoading: messages.loadingMore, text: intl.string(t.XBlaiC) }); } const r72 = index === r2; let r74 = messages.hasMoreBefore && r72; let r76 = unreadFilter2(message); const r78 = r72 ? null : c18560_16[index + 1][0].timestamp; const r90 = r72 ? channel.isDM() && !messages.hasMoreBefore && r72 || channel.isThread() && !channel.isForumPost() && !messages.hasMoreBefore && r72 ? true : false : isSameDay(message.timestamp, r78) ? channel.isDM() && !messages.hasMoreBefore && r72 || channel.isThread() && !channel.isForumPost() && !messages.hasMoreBefore && r72 ? true : false : true; const processHiddenMessageRow = function processHiddenMessageRow(a0) { for (const item of c26953_0) { const message = item; if (determineChangeType2(item) !== Changeset.NOOP && a0.changeType === Changeset.NOOP) { a0.changeType = Changeset.UPDATE; } a0.content.unshift({ rowType: RowType.MESSAGE, changeType: Changeset.NOOP, roleStyle, message, isSystemDM: channel.isSystemDM() && message.isSystemDM(), isFirst: message === c26953_1, canAddNewReactions }); } a0.revealed = c26953_1.id === messages.revealedMessageId; a0.context = c26953_1.id; return a0; }; const r106 = { roleStyle, message, isFirst: true, content: [], text: "", revealed: false }; let r111 = c18560_13[c18560_13.length - 1]; if (message.hasFlag(MessageFlags.HIDDEN_SUSPENDED_USER)) { if (!(r111 != null && r111.rowType === RowType.SUSPENDED_USER_GROUP)) { const r336 = { ...r106, rowType: RowType.SUSPENDED_USER_GROUP, changeType: determineChangeType2(message), canUncollapse: false }; c18560_13.push(r336); r111 = r336; } processHiddenMessageRow(r111); r111.text = intl.formatToPlainString(t.rHRovo, { count: r111.content.length }); } else if (message.blocked) { L88: { if (r111 != null) { const rowType2 = r111.rowType; const BLOCKED_GROUP = RowType.BLOCKED_GROUP; r296 = r111; if (rowType2 === BLOCKED_GROUP) { break L88; } } let changeType3 = determineChangeType2(message); if (changeType3 === Changeset.NOOP && chatManager.getBlocked(message)) { changeType3 = Changeset.INSERT; } const r305 = { ...r106, rowType: RowType.BLOCKED_GROUP, changeType: changeType3 }; c18560_13.push(r305); r296 = r305; } processHiddenMessageRow(r296); r296.text = intl.formatToPlainString(t["+FcYM/"], { count: r296.content.length }); } else if (message.ignored) { L80: { if (r111 != null) { const rowType = r111.rowType; const IGNORED_GROUP = RowType.IGNORED_GROUP; r260 = r111; if (rowType === IGNORED_GROUP) { break L80; } } let changeType2 = determineChangeType2(message); if (changeType2 === Changeset.NOOP && chatManager.getIgnored(message)) { changeType2 = Changeset.INSERT; } const r269 = { ...r106, rowType: RowType.IGNORED_GROUP, changeType: changeType2 }; c18560_13.push(r269); r260 = r269; } processHiddenMessageRow(r260); r260.text = intl.formatToPlainString(t["VFWjc+"], { count: r260.content.length }); } else { for (const item of a0) { const message2 = item; const r125 = item !== message; const isEditing = EditMessageStore.isEditing(channel.id, item.id) || replyingMessageId === message2.id; const pushFeedback = PushFeedbackStore.getPushFeedback(message2.channel_id, message2.id); const canReplyToMessage2 = canReplyToMessage(channel, message2); const r159 = canEditMessage(message2, currentUserId) && !isNonModInLockedThread(channel); const changeType = c18560_14.hasOwnProperty(message2.id) ? chatManager.determineChangeTypeForUploadProgress(c18560_14[message2.id]) : determineChangeType2(message2, true); if (selectedSummary != null && selectedSummary.endId === message2.id && selectedSummary.count > 1) { c18560_13.push({ rowType: SeparatorType.SUMMARY, changeType: determineChangeType2(message2), roleStyle, summary: selectedSummary, isBeforeContent: false }); } const isSystemDM = channel.isSystemDM() && message2.isSystemDM(); c18560_13.push({ roleStyle, message: message2, isSystemDM, isFirst: message2 === message, isEditing, separatorBefore: (r125 ? !r125 : !isResourceChannel) && (r90 || r76 || r74), canAddNewReactions, alwaysShowAddReaction: channel.isForumPost() && message2.id === SnowflakeUtils.castChannelIdAsMessageId(channel.id), renderContentOnly: isResourceChannel, pushFeedbackType: pushFeedback?.pushType, canReply: isResourceChannel ? !isResourceChannel : canReplyToMessage2, canEdit: isResourceChannel ? !isResourceChannel : r159, rowType: RowType.MESSAGE, changeType, showContentInventoryEntryFallbackEmbed: unloadableContentEntryMessageIds == null ? void 0 : unloadableContentEntryMessageIds.has(message2.id) }); if (selectedSummary != null && selectedSummary.startId === message2.id && selectedSummary.count > 1) { c18560_13.push({ rowType: SeparatorType.SUMMARY, changeType: determineChangeType2(message2), roleStyle, summary: selectedSummary, isBeforeContent: true }); } } } if (r90 && !isResourceChannel) { let changeType4 = determineChangeType2(message); if (changeType4 === Changeset.UPDATE) { changeType4 = Changeset.NOOP; } c18560_13.push({ rowType: SeparatorType.DAY, changeType: changeType4, roleStyle, text: dateFormat(message.timestamp, "LL") }); } if (r76) { r76 = !isResourceChannel; } if (r76) { c18560_13.push({ rowType: SeparatorType.UNREAD, changeType: determineChangeType2(message), roleStyle, text: intl.string(t.q7hm3m).toUpperCase() }); } if (r74) { r74 = !isResourceChannel; } if (r74) { c18560_13.push({ rowType: LoadingType.LOAD_BEFORE, changeType: forceRender ? Changeset.UPDATE : Changeset.NOOP, roleStyle, isLoading: messages.loadingMore, text: intl.string(t.XBlaiC) }); } }); if (r59.length === 0 && !messages.loadingMore && (messages.hasMoreAfter || messages.hasMoreBefore)) { r39.push({ rowType: messages.hasMoreBefore ? LoadingType.LOAD_BEFORE : LoadingType.LOAD_AFTER, changeType: forceRender ? Changeset.UPDATE : Changeset.NOOP, roleStyle, isLoading: messages.loadingMore, text: intl.string(t.XBlaiC) }); } return r39; };