Files
discord-decomp/sources/modules/messages/native/hooks/useRowManager.tsx
T
2026-07-28 01:06:53 +03:00

732 lines
43 KiB
TypeScript

/* Metro module 11517; source: modules/messages/native/hooks/useRowManager.tsx; dependencies: [14, 11518, 4044, 9850, 477, 9849, 2] */
import CreateChannelStream from '../createChannelStream.tsx'; /* Metro dependency 11518 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as PlatformUtilsModule from '../../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */
import * as ClientModule from '../../../../flow/Client.tsx'; /* Metro dependency 4044 */
function _fun88173(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88173, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:6, offset: 0x01fd7640, size: 125 bytes, params: 8, frame: 18
const env0_0 = require;
const _arrayLikeToArray_88176 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/messages/native/hooks/useRowManager.tsx');
exports.default = useRowManager;
function _createForOfIteratorHelperLoose_88174(a0, a1) { // fn#88174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:46, offset: 0x01fd76bd, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun88175;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_88176(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_88176(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_88176(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun88175;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
function _fun88175() { // fn#88175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:617, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function useRowManager({chatManager, rowGenerator, animatingStickerMessageIdRef, canAddNewReactions, channel, messages, isMessagesReady, uploads, roleStyle, oldestUnreadMessageId, replyingMessageId, inlineAttachmentMedia, inlineEmbedMedia, renderEmbeds, renderReactions, animateEmoji, gifAutoPlay, timestampHourCycle, currentUserId, renderCommunicationDisabled, selectedSummary, enableSwipeActions, isResourceChannel, shouldObscureSpoiler, shouldDisableInteractiveComponents, unloadableContentEntryMessageIds, containerWidth, chatRef, loadedRef, animatedRef, hasMoreMessagesAfterForLastUpdateRef, updateNativeRows, isLoadingAtTop, channelLatestMessageLoadingStatsManager, channelId, isMessagesCached, chatUpdatesQueue, shouldJumpToOriginalPost, findMessageIndex, scrollToTopMessage, useReducedMotion}) { // fn#88177, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:1099, offset: 0x01fd7831, size: 483 bytes, params: 2, frame: 5
return {createRows: createRows, updateRows: updateRows_88184, scrollToMessageId: scrollToMessageId,
maybeRescrollToMessageId: function(a0) {
var value = a1;
var value2 = a2;
var value3 = a3;
var env0_0 = a0;
var env0_1 = value !== undefined ? value : false;
var env0_2 = value2 !== undefined ? value2 : require(dependencyMap[2]).JumpTypes.INSTANT;
var env0_3 = value3 !== undefined ? value3 : false;
if (a0 != null) {
global.setTimeout(_fun88181, 50);
}
}};
function createRows({forceRender, updateMessageIds, ignoreEmbedDescriptionCache}) { // fn#88178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:1958, owner: useRowManager.createRows, offset: 0x01fd7a14, size: 125 bytes, params: 2, frame: 13
var environment;
var r0;
var value;
if (channel != null) {
if (messages != null) {
if (isMessagesReady) {
value = environment.__proto__;
value = (importDefault(14) /* metro dependency 14: TTITracker */).firstRowGenerator.measure(_fun88179);
r0 = value;
} else {
r0 = null;
}
} else {
r0 = null;
}
} else {
r0 = null;
}
return r0;
function _fun88179() { // fn#88179, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:2081, offset: 0x01fd7a91, size: 413 bytes, params: 1, frame: 17
var r2;
var value6;
var value7;
var value8;
const chatManagerBinding = chatManager;
const setup = chatManagerBinding.setup;
const messagesBinding = messages;
Reflect.apply(setup, chatManagerBinding, [messagesBinding]);
rowGenerator.setOptions({inlineAttachmentMedia: inlineAttachmentMedia, inlineEmbedMedia: inlineEmbedMedia,
renderEmbeds: renderEmbeds, renderReactions: renderReactions, animateEmoji: animateEmoji,
animatingStickerMessageId: animatingStickerMessageIdRef.current, constrainedWidth: containerWidth,
gifAutoPlay: gifAutoPlay, timestampHourCycle: timestampHourCycle,
renderCommunicationDisabled: renderCommunicationDisabled,
ignoreEmbedDescriptionCache: ignoreEmbedDescriptionCache, enableSwipeActions: enableSwipeActions,
shouldObscureSpoiler: shouldObscureSpoiler,
shouldDisableInteractiveComponents: shouldDisableInteractiveComponents});
const _createForOfIteratorHelperLoose_88174Binding = _createForOfIteratorHelperLoose_88174;
const defaultImport = CreateChannelStream;
object = {};
object.channel = channel;
object.messages = messagesBinding;
object.uploads = uploads;
object.oldestUnreadMessageId = oldestUnreadMessageId;
object.replyingMessageId = replyingMessageId;
object.currentUserId = currentUserId;
object.canAddNewReactions = canAddNewReactions();
object.selectedSummary = selectedSummary;
object.chatManager = chatManagerBinding;
object.roleStyle = roleStyle;
object.forceRender = forceRender;
object.updateMessageIds = updateMessageIds;
object.isResourceChannel = isResourceChannel;
object.unloadableContentEntryMessageIds = unloadableContentEntryMessageIds;
const value4 = _createForOfIteratorHelperLoose_88174Binding(defaultImport(object));
const value5 = value4();
let done = value5.done;
if (!done) {
for (r2 = value5; true; r2 = value8) {
value6 = r2.value;
value7 = rowGenerator.generate(value6);
chatManager.createRow(value7);
value8 = value4();
done = value8.done;
if (done) {
break;
}
}
}
return chatManager.createChangeset();
}
}
function useRowManagerMaybeRescrollToMessageId(a0) { // fn#88180, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:2858, owner: useRowManager.maybeRescrollToMessageId, offset: 0x01fd7c2e, size: 115 bytes, params: 2, frame: 17
var environment;
var INSTANT;
let value = a1;
const value2 = a2;
const value3 = a3;
const env0_0 = a0;
const env0_1 = value !== undefined ? value : false;
if (value2 === undefined) {
value = environment.__proto__;
INSTANT = (require(4044) /* metro dependency 4044: Client */).JumpTypes.INSTANT;
}
const env0_3 = value3 !== undefined ? value3 : false;
if (a0 != null) {
global.setTimeout(_fun88181, 50);
}
function _fun88181() { // fn#88181, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:2924, offset: 0x01fd7ca1, size: 245 bytes, params: 1, frame: 20
var r2;
var updateRows_88184Binding;
var binding;
var value4;
const JumpTypes = (ClientModule).JumpTypes;
var value5;
var value6;
var defaultImport;
const messageIndex = findMessageIndex(env0_0);
if (messageIndex != null) {
if (chatRef.current != null) {
if (env0_1) {
updateRows_88184Binding = updateRows_88184;
binding = env0_0;
value4 = environment.__proto__.__proto__;
value5 = true;
updateRows_88184Binding({scrollToMessageId: binding, jumpTargetId: binding, jumpType: env0_2,
focusTargetId: binding, overrideScrollJumpType: JumpTypes.INSTANT, isRescrolling: value5,
hasJumpedToOriginalPost: env0_3});
r2 = value5;
} else {
r2 = false;
}
if (!r2) {
value6 = environment.__proto__.__proto__;
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.scrollTo(chatRef.current, messageIndex, {animated: env0_2 === JumpTypes.ANIMATED});
}
}
}
}
}
function scrollToMessageId({scrollToMessageId, jumpTargetId, jumpType, scrollPosition, minimizeScrolling, isRescrolling, hasJumpedToOriginalPost}) { // fn#88182, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:3259, owner: useRowManager.scrollToMessageId, offset: 0x01fd7d96, size: 440 bytes, params: 2, frame: 25
const JumpTypes = (ClientModule).JumpTypes;
var messageIndex;
var defaultImport;
jumpTargetId = jumpTargetId === undefined ? null : jumpTargetId;
const r10 = jumpType !== undefined ? jumpType : JumpTypes.ANIMATED;
const r7 = scrollPosition !== undefined ? scrollPosition : (require(9850) /* metro dependency 9850: NativeChatUtils */).ChatScrollPosition.TOP;
minimizeScrolling = !(minimizeScrolling === undefined) && minimizeScrolling;
isRescrolling = !(isRescrolling === undefined) && isRescrolling;
hasJumpedToOriginalPost = !(hasJumpedToOriginalPost === undefined) && hasJumpedToOriginalPost;
const r3 = useReducedMotion || r10 === JumpTypes.INSTANT;
const value4 = !r3;
if (PlatformUtilsModule.isIOS()) {
if (isRescrolling) {
messageIndex = findMessageIndex(scrollToMessageId);
if (messageIndex != null) {
if (minimizeScrolling) {
global.setTimeout(_fun88183, 5);
} else {
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.scrollTo(chatRef.current, messageIndex, {animated: value4,
highlight: jumpTargetId === scrollToMessageId, position: r7});
}
}
} else {
maybeRescrollToMessageId_88180(scrollToMessageId, true, r3 ? JumpTypes.INSTANT : JumpTypes.ANIMATED,
hasJumpedToOriginalPost);
}
} else {
messageIndex = findMessageIndex(scrollToMessageId);
if (messageIndex != null) {
if (minimizeScrolling) {
global.setTimeout(_fun88183, 5);
} else {
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.scrollTo(chatRef.current, messageIndex, {animated: value4,
highlight: jumpTargetId === scrollToMessageId, position: r7});
}
}
}
function _fun88183() { // fn#88183, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:3567, offset: 0x01fd7f4e, size: 87 bytes, params: 1, frame: 18
let value = environment.__proto__.__proto__;
value = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
value.scrollIntoView(chatRef.current, env0_3, {animated: env0_2, highlight: jumpTargetId === scrollToMessageId});
}
}
function useRowManagerUpdateRows() { // fn#88184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11703:3820, owner: useRowManager.updateRows, offset: 0x01fd7fa5, size: 953 bytes, params: 1, frame: 30
var environment;
var MIDDLE;
var r10;
var object;
var createRowsBinding;
var rows;
var chatUpdatesQueueBinding;
var value4;
var defaultImport;
var messageIndex;
var value5;
var defaultImport2;
var value6;
var defaultImport3;
var current6;
var value8;
var updateNativeRowsBinding;
const value = a0;
const value2 = undefined;
let r1 = value !== value2 ? value : {};
let forceRender = r1.forceRender;
forceRender = !(forceRender === value2) && forceRender;
const forceReload = r1.forceReload;
const updateMessageIds = r1.updateMessageIds;
const r9 = updateMessageIds !== value2 ? updateMessageIds : new global.Set();
const scrollToMessageId3 = r1.scrollToMessageId;
const scrollToMessageId2 = scrollToMessageId3 !== value2 ? scrollToMessageId3 : null;
let jumpTargetId = r1.jumpTargetId;
jumpTargetId = jumpTargetId === value2 ? null : jumpTargetId;
const jumpType = r1.jumpType;
const r19 = jumpType !== value2 ? jumpType : (require(4044) /* metro dependency 4044: Client */).JumpTypes.ANIMATED;
let focusTargetId = r1.focusTargetId;
focusTargetId = focusTargetId === value2 ? null : focusTargetId;
let ignoreEmbedDescriptionCache = r1.ignoreEmbedDescriptionCache;
ignoreEmbedDescriptionCache = !(ignoreEmbedDescriptionCache === value2) && ignoreEmbedDescriptionCache;
let messagesNewlyLoaded = r1.messagesNewlyLoaded;
messagesNewlyLoaded = !(messagesNewlyLoaded === value2) && messagesNewlyLoaded;
let shouldInitialScroll = r1.shouldInitialScroll;
shouldInitialScroll = !(shouldInitialScroll === value2) && shouldInitialScroll;
let minimizeScrolling = r1.minimizeScrolling;
minimizeScrolling = !(minimizeScrolling === value2) && minimizeScrolling;
let isRescrolling = r1.isRescrolling;
isRescrolling = !(isRescrolling === value2) && isRescrolling;
const overrideScrollJumpType = r1.overrideScrollJumpType;
let isAnimated = r1.isAnimated;
isAnimated = isAnimated === value2 || isAnimated;
let hasJumpedToOriginalPost = r1.hasJumpedToOriginalPost;
hasJumpedToOriginalPost = !(hasJumpedToOriginalPost === value2) && hasJumpedToOriginalPost;
let current = chatRef.current;
if (current != null) {
createRowsBinding = createRows;
object = {forceRender: forceRender, updateMessageIds: r9,
ignoreEmbedDescriptionCache: ignoreEmbedDescriptionCache};
rows = createRowsBinding(object);
current = loadedRef.current;
MIDDLE = selectedSummary != null ? selectedSummary.startId !== scrollToMessageId2 ? value2 : (require(9850) /* metro dependency 9850: NativeChatUtils */).ChatScrollPosition.MIDDLE : value2;
if (rows == null) {
if (loadedRef.current) {
chatUpdatesQueueBinding = chatUpdatesQueue;
if (chatUpdatesQueueBinding.hasUpdates()) {
chatUpdatesQueue.tryFlush();
} else if (loadedRef.current) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId,
jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows == null) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId,
jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows.length !== 0) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId,
jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else {
value4 = environment.__proto__;
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.fadeIn(chatRef.current);
}
} else if (loadedRef.current) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows == null) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows.length !== 0) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else {
value4 = environment.__proto__;
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.fadeIn(chatRef.current);
}
} else if (rows.length > 0) {
value6 = environment.__proto__;
defaultImport3 = importDefault(9849) /* metro dependency 9849: computeScrollData */;
object = {};
object.rows = chatManager.getPreviousRows();
object.scrollToMessageId = scrollToMessageId2;
object.jumpTargetId = jumpTargetId;
r10 = overrideScrollJumpType ?? messages.jumpType;
object.jumpType = r10;
current6 = loadedRef.current;
r10 = current6 ? shouldInitialScroll : !current6;
object.shouldInitialScroll = r10;
object.animated = animatedRef.current;
object.scrollPosition = MIDDLE;
object.focusTargetId = focusTargetId;
value8 = defaultImport3(object);
loadedRef.current = true;
updateNativeRowsBinding = updateNativeRows;
object = {rows: rows};
object.hasMoreMessagesAfter = messages.hasMoreAfter;
object.isLoadingAtTop = isLoadingAtTop(rows, hasMoreMessagesAfterForLastUpdateRef.current);
object.scrollData = value8;
object.HACK_iOSForceAnimations = messagesNewlyLoaded;
object.forceReload = forceReload;
object.isAnimated = isAnimated;
updateNativeRowsBinding(object);
if (!current) {
channelLatestMessageLoadingStatsManager.finish({channelId: channelId,
areMessagesCached: isMessagesCached});
}
} else if (loadedRef.current) {
chatUpdatesQueueBinding = chatUpdatesQueue;
if (chatUpdatesQueueBinding.hasUpdates()) {
chatUpdatesQueue.tryFlush();
} else if (loadedRef.current) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows == null) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows.length !== 0) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else {
value4 = environment.__proto__;
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.fadeIn(chatRef.current);
}
} else if (loadedRef.current) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows == null) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else if (rows.length !== 0) {
if (scrollToMessageId2 == null) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else if (shouldJumpToOriginalPost(hasJumpedToOriginalPost)) {
if (focusTargetId != null) {
messageIndex = findMessageIndex(focusTargetId);
if (messageIndex != null) {
value5 = environment.__proto__;
defaultImport2 = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport2.focus(chatRef.current, messageIndex);
}
}
} else {
scrollToMessageId({scrollToMessageId: scrollToMessageId2, jumpTargetId: jumpTargetId, jumpType: r19,
scrollPosition: MIDDLE, minimizeScrolling: minimizeScrolling, isRescrolling: isRescrolling,
hasJumpedToOriginalPost: hasJumpedToOriginalPost});
}
} else {
value4 = environment.__proto__;
defaultImport = importDefault(9850) /* metro dependency 9850: NativeChatUtils */;
defaultImport.fadeIn(chatRef.current);
}
r1 = loadedRef.current && loadedRef.current !== current;
r1 = r1 && isResourceChannel;
if (r1) {
global.setTimeout(function() {
return scrollToTopMessage();
}, 100);
}
}
return value2;
}
}
}
global.__d(_fun88173, 11517, [14, 11518, 4044, 9850, 477, 9849,
2]) /* metro module 11517, dependencies: [14, 11518, 4044, 9850, 477, 9849, 2] */;