From 99e8949be6169f11a014694643c39b8b5929ab93 Mon Sep 17 00:00:00 2001 From: Abhinav Raut Date: Mon, 10 Mar 2025 02:58:43 +0530 Subject: [PATCH] fix: update first reply time only when sender is a non system user --- internal/conversation/message.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/conversation/message.go b/internal/conversation/message.go index 768d3d8..9babcf6 100644 --- a/internal/conversation/message.go +++ b/internal/conversation/message.go @@ -208,9 +208,16 @@ func (m *Manager) sendOutgoingMessage(message models.Message) { return } - // Update status and first reply time + // Update status of the message. m.UpdateMessageStatus(message.UUID, MessageStatusSent) - m.UpdateConversationFirstReplyAt(message.ConversationUUID, message.ConversationID, message.CreatedAt) + + // Update first reply time if the sender is not the system user. + // All automated messages are sent by the system user. + if systemUser, err := m.userStore.GetSystemUser(); err == nil && message.SenderID != systemUser.ID { + m.UpdateConversationFirstReplyAt(message.ConversationUUID, message.ConversationID, time.Now()) + } else if err != nil { + m.lo.Error("error fetching system user for updating first reply time", "error", err) + } } // RenderContentInTemplate renders message content in template.