From dc6545a3687dc4886fc1e75c5cea99fcde47d9e6 Mon Sep 17 00:00:00 2001 From: Kristina Date: Thu, 25 Sep 2025 13:17:47 +0400 Subject: [PATCH] Fix arrow up/down for old activity (#9938) Signed-off-by: Kristina Fefelova --- .../src/components/Activity.svelte | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/plugins/activity-resources/src/components/Activity.svelte b/plugins/activity-resources/src/components/Activity.svelte index 02c7baae6f..9ba9f3d299 100644 --- a/plugins/activity-resources/src/components/Activity.svelte +++ b/plugins/activity-resources/src/components/Activity.svelte @@ -255,14 +255,22 @@ export function editLastMessage (): void { if (isMessagesLoading) return + const me = getCurrentAccount() - let lastMessage: ActivityMessage | undefined = undefined - for (let i = messages.length - 1; i >= 0; i--) { - const message = messages[i] - if (message.collection !== 'comments') continue - if (message.createdBy == null || !me.socialIds.includes(message.createdBy)) continue - lastMessage = message - break + const mySocialIds = new Set(me.socialIds) + + const start = isNewestFirst ? 0 : filteredMessages.length - 1 + const end = isNewestFirst ? filteredMessages.length : -1 + const step = isNewestFirst ? 1 : -1 + + let lastMessage: ActivityMessage | undefined + + for (let i = start; i !== end; i += step) { + const m = filteredMessages[i] + if (m.collection === 'comments' && m.createdBy != null && mySocialIds.has(m.createdBy)) { + lastMessage = m + break + } } if (lastMessage == null) return