From 24761c77f047a73fcefa5edd700119f9f1251fec Mon Sep 17 00:00:00 2001 From: Johan Jongsma Date: Mon, 2 Feb 2026 22:31:26 +0000 Subject: [PATCH] Fix WhatsApp FetchNew to respect lastSeen map --- connector_whatsapp.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/connector_whatsapp.go b/connector_whatsapp.go index 306ef3f..8d4bded 100644 --- a/connector_whatsapp.go +++ b/connector_whatsapp.go @@ -144,9 +144,15 @@ func (w *WhatsAppConnector) FetchNew() ([]UnifiedMessage, error) { return nil, err } + w.mu.Lock() + defer w.mu.Unlock() + var result []UnifiedMessage for _, msg := range messages { - // WhatsApp bridge doesn't track seen status, so return all recent + // Skip if already marked as seen + if w.lastSeen[msg.ID] { + continue + } // Filter to last 24 hours for "new" if time.Since(msg.Timestamp) < 24*time.Hour { result = append(result, w.convertMessage(msg))