fix: create SSE event queue on-demand so transcript/chat events are never silently dropped

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
patrick-motsch 2026-02-17 23:44:12 +01:00
parent a3c92ae8d5
commit a27307263f

View file

@ -55,10 +55,11 @@ _sessionEvents: Dict[str, asyncio.Queue] = {}
async def _emitSessionEvent(sessionId: str, eventType: str, data: Any): async def _emitSessionEvent(sessionId: str, eventType: str, data: Any):
"""Emit an event to the session's SSE stream.""" """Emit an event to the session's SSE stream.
eventQueue = _sessionEvents.get(sessionId) Creates the queue on-demand so events are never silently dropped."""
if eventQueue: if sessionId not in _sessionEvents:
await eventQueue.put({"type": eventType, "data": data, "timestamp": getIsoTimestamp()}) _sessionEvents[sessionId] = asyncio.Queue()
await _sessionEvents[sessionId].put({"type": eventType, "data": data, "timestamp": getIsoTimestamp()})
class TeamsbotService: class TeamsbotService: