From 077bf69793696fd0ead48ad39d4bacdfabc466f5 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Mon, 1 Jun 2026 11:54:09 +0200 Subject: [PATCH] fix(chat): handle Ctrl+Up hotkey for deleted and scheduled messages Signed-off-by: Maksim Sukharev --- src/components/NewMessage/NewMessage.vue | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/NewMessage/NewMessage.vue b/src/components/NewMessage/NewMessage.vue index 107a7dbf51f..33945770401 100644 --- a/src/components/NewMessage/NewMessage.vue +++ b/src/components/NewMessage/NewMessage.vue @@ -360,7 +360,7 @@ import NewMessageTypingIndicator from './NewMessageTypingIndicator.vue' import { useChatMentions } from '../../composables/useChatMentions.ts' import { useGetThreadId } from '../../composables/useGetThreadId.ts' import { useTemporaryMessage } from '../../composables/useTemporaryMessage.ts' -import { CONVERSATION, PARTICIPANT, PRIVACY } from '../../constants.ts' +import { CONVERSATION, MESSAGE, PARTICIPANT, PRIVACY } from '../../constants.ts' import BrowserStorage from '../../services/BrowserStorage.js' import { getTalkConfig, hasTalkFeature } from '../../services/CapabilitiesManager.ts' import { EventBus } from '../../services/EventBus.ts' @@ -1333,12 +1333,17 @@ export default { return } + const messagesList = this.showScheduledMessages + ? this.chatExtrasStore.getScheduledMessagesList(this.token) + : this.chatStore.getMessagesList(this.token, { + threadId: this.threadId, + }) // last message within 24 hours - const lastMessageByCurrentUser = this.chatStore.getMessagesList(this.token, { - threadId: this.threadId, - }).findLast((message) => { - return this.actorStore.checkIfSelfIsActor(message) - && !message.isTemporary && !message.systemMessage + const lastMessageByCurrentUser = messagesList.findLast((message) => { + return this.actorStore.checkIfSelfIsActor(message) // From same actor + && message.messageType !== MESSAGE.TYPE.COMMENT_DELETED // Not deleted + && message.timestamp !== 0 // Not temporary + && !message.systemMessage // Not system message && (Date.now() - message.timestamp * 1000 < ONE_DAY_IN_MS) })