Compare commits

..

1 Commits

Author SHA1 Message Date
Alexander Whitestone
571475a749 fix: closes #716
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 18s
Review Approval Gate / verify-review (pull_request) Failing after 3s
2026-04-12 12:44:37 -04:00
2 changed files with 9 additions and 9 deletions

1
app.js
View File

@@ -51,7 +51,6 @@ let chatOpen = true;
let memoryFeedEntries = []; // Mnemosyne: recent memory events for feed panel
let _memoryFilterOpen = false; // Mnemosyne: filter panel state
let _clickStartX = 0, _clickStartY = 0; // Mnemosyne: click-vs-drag detection
let recentEvenniaEvents = []; // Evennia: recent mind palace events for display
let loadProgress = 0;
let performanceTier = 'high';

View File

@@ -52,19 +52,20 @@ async def broadcast_handler(websocket: websockets.WebSocketServerProtocol):
continue
disconnected = set()
# Create broadcast tasks for efficiency
tasks = []
# Create broadcast tasks, tracking which client each task targets
task_client_pairs = []
for client in clients:
if client != websocket and client.open:
tasks.append(asyncio.create_task(client.send(message)))
if tasks:
task = asyncio.create_task(client.send(message))
task_client_pairs.append((task, client))
if task_client_pairs:
tasks = [pair[0] for pair in task_client_pairs]
results = await asyncio.gather(*tasks, return_exceptions=True)
for i, result in enumerate(results):
if isinstance(result, Exception):
# Find the client that failed
target_client = [c for c in clients if c != websocket][i]
logger.error(f"Failed to send to a client {target_client.remote_address}: {result}")
target_client = task_client_pairs[i][1]
logger.error(f"Failed to send to client {target_client.remote_address}: {result}")
disconnected.add(target_client)
if disconnected: