Skip to content

Commit b31d31c

Browse files
committed
Fix update deduplication
1 parent 0645bc5 commit b31d31c

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

backend/routes/messaging.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,17 +1049,16 @@ def _add_update(self, websocket: WebSocket, update: dict):
10491049

10501050
# Skip if this exact update was recently added
10511051
if signature in self.recent_updates[websocket]:
1052+
logger.warning(f"Update was skipped due to duplicate signature {signature}")
10521053
return
10531054

10541055
# Add to pending updates and track signature
10551056
self.pending_updates[websocket].append(update)
10561057
self.recent_updates[websocket].add(signature)
10571058

10581059
# Limit recent updates cache size (keep last 100 signatures per websocket)
1059-
if len(self.recent_updates[websocket]) > 100:
1060-
# Remove oldest entries (simple FIFO by converting to list and keeping last 100)
1061-
# Actually, we'll just clear and rebuild on next flush - simpler approach
1062-
pass
1060+
if len(self.recent_updates[websocket]) > 1:
1061+
self.recent_updates[websocket] = set(list(self.recent_updates[websocket])[-1])
10631062

10641063
async def _flush_updates(self, websocket: WebSocket, db: Session | None = None):
10651064
"""Flush pending updates for a WebSocket connection"""

0 commit comments

Comments
 (0)