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):
"""Emit an event to the session's SSE stream."""
eventQueue = _sessionEvents.get(sessionId)
if eventQueue:
await eventQueue.put({"type": eventType, "data": data, "timestamp": getIsoTimestamp()})
"""Emit an event to the session's SSE stream.
Creates the queue on-demand so events are never silently dropped."""
if sessionId not in _sessionEvents:
_sessionEvents[sessionId] = asyncio.Queue()
await _sessionEvents[sessionId].put({"type": eventType, "data": data, "timestamp": getIsoTimestamp()})
class TeamsbotService: