Fix highlight when scrolling to unloaded pinned message

This commit is contained in:
Jamie
2026-06-17 11:17:36 -07:00
committed by GitHub
parent 49d87a5f6f
commit cb4fac7bb4
2 changed files with 14 additions and 3 deletions
+6 -1
View File
@@ -2001,7 +2001,11 @@ export class ConversationModel {
async loadAndScroll(
messageId: string,
options: { disableScroll?: boolean; onFinish?: () => void } = {}
options: {
disableScroll?: boolean;
onFinish?: () => void;
shouldHighlight?: boolean;
} = {}
): Promise<void> {
const { messagesReset, setMessageLoadingState } =
window.reduxActions.conversations;
@@ -2051,6 +2055,7 @@ export class ConversationModel {
metrics,
pinnedMessagesPreloadData,
scrollToMessageId,
shouldHighlight: options.shouldHighlight,
});
} catch (error) {
setMessageLoadingState(conversationId, undefined);
+8 -2
View File
@@ -534,6 +534,7 @@ export type ConversationPreloadDataType = ReadonlyDeep<{
export type MessagesResetDataType = ReadonlyDeep<
ConversationPreloadDataType & {
scrollToMessageId?: string;
shouldHighlight?: boolean;
selectedConversationId: string | undefined;
}
>;
@@ -3433,6 +3434,7 @@ function messagesReset({
metrics,
pinnedMessagesPreloadData,
scrollToMessageId,
shouldHighlight,
unboundedFetch,
}: MessagesResetOptionsType): ThunkAction<
void,
@@ -3460,6 +3462,7 @@ function messagesReset({
pinnedMessagesPreloadData,
selectedConversationId,
scrollToMessageId,
shouldHighlight,
},
});
};
@@ -4459,7 +4462,7 @@ export function scrollToMessage(
return;
}
drop(conversation.loadAndScroll(messageId));
drop(conversation.loadAndScroll(messageId, { shouldHighlight: true }));
};
}
@@ -5599,6 +5602,7 @@ function updateMessageLookup(
metrics,
selectedConversationId,
scrollToMessageId,
shouldHighlight,
unboundedFetch,
pinnedMessagesPreloadData,
}: MessagesResetDataType
@@ -5648,7 +5652,9 @@ function updateMessageLookup(
? {
targetedMessage: scrollToMessageId,
targetedMessageCounter: state.targetedMessageCounter + 1,
targetedMessageSource: TargetedMessageSource.Reset,
targetedMessageSource: shouldHighlight
? TargetedMessageSource.NavigateToMessage
: TargetedMessageSource.Reset,
}
: {}),
messagesLookup: {