Fix continuity email tracking to not reset contact_last_seen_at and exclude continuity messages from unread count

This commit is contained in:
Abhinav Raut
2026-04-13 00:59:16 +05:30
parent 66cf21731f
commit d804e365cb
2 changed files with 3 additions and 4 deletions
+1 -2
View File
@@ -268,8 +268,7 @@ func (m *Manager) sendContinuityEmail(conv models.ContinuityConversation, maxMes
}
// Mark in DB that continuity email was sent now
lastMessageTime := unreadMessages[len(unreadMessages)-1].CreatedAt
if _, err := m.q.UpdateContinuityEmailTracking.Exec(conv.ID, emailSubject, lastMessageTime); err != nil {
if _, err := m.q.UpdateContinuityEmailTracking.Exec(conv.ID, emailSubject); err != nil {
m.lo.Error("error updating continuity email tracking", "conversation_uuid", conv.UUID, "error", err)
return fmt.Errorf("updating continuity email tracking: %w", err)
}
+2 -2
View File
@@ -746,6 +746,7 @@ WHERE i.channel = 'livechat'
AND cm.created_at > c.contact_last_seen_at
AND cm.type = 'outgoing'
AND cm.private = false
AND (cm.meta IS NULL OR NOT COALESCE((cm.meta->>'continuity_email')::boolean, false))
)
AND u.email > ''
AND (c.last_continuity_email_sent_at IS NULL
@@ -787,8 +788,7 @@ WHERE id = ANY($1::int[]);
-- name: update-continuity-email-tracking
UPDATE conversations
SET contact_last_seen_at = $3,
last_continuity_email_sent_at = NOW(),
SET last_continuity_email_sent_at = NOW(),
meta = jsonb_set(COALESCE(meta, '{}'::jsonb), '{continuity_email_subject}', to_jsonb($2::text))
WHERE id = $1;
-- name: upsert-conversation-draft