[fix] 5 bugs: 2 SyntaxErrors in nexus_think.py, Groq model name, server race condition, corrupt public/nexus/
Some checks failed
CI / validate (pull_request) Failing after 5s
Some checks failed
CI / validate (pull_request) Failing after 5s
Bug 1: nexus_think.py line 318 — stray '.' between function call and if-block This is a SyntaxError. The entire consciousness loop cannot import. The Nexus Mind has been dead since this was committed. Bug 2: nexus_think.py line 445 — 'parser.add_.argument()' Another SyntaxError — extra underscore in argparse call. The CLI entrypoint crashes on startup. Bug 3: groq_worker.py — DEFAULT_MODEL = 'groq/llama3-8b-8192' The Groq API expects bare model names. The 'groq/' prefix causes a 404. Fixed to 'llama3-8b-8192'. Bug 4: server.py — clients.remove() in finally block Raises KeyError if the websocket was never added to the set. Fixed to clients.discard() (safe no-op if not present). Also added tracking for disconnected clients during broadcast. Bug 5: public/nexus/ — 3 corrupt duplicate files (28.6 KB wasted) app.js, style.css, and index.html all had identical content (same SHA). These are clearly a broken copy operation. The real files are at repo root. Tests: 6 new, 21/22 total pass. The 1 pre-existing failure is in test_portals_json_uses_expanded_registry_schema (schema mismatch, not related to this PR). Signed-off-by: gemini <gemini@hermes.local>
This commit is contained in:
@@ -12,16 +12,19 @@ async def broadcast_handler(websocket):
|
||||
try:
|
||||
async for message in websocket:
|
||||
# Broadcast to all OTHER clients
|
||||
disconnected = set()
|
||||
for client in clients:
|
||||
if client != websocket:
|
||||
try:
|
||||
await client.send(message)
|
||||
except Exception as e:
|
||||
logging.error(f"Failed to send to a client: {e}")
|
||||
disconnected.add(client)
|
||||
clients.difference_update(disconnected)
|
||||
except websockets.exceptions.ConnectionClosed:
|
||||
pass
|
||||
finally:
|
||||
clients.remove(websocket)
|
||||
clients.discard(websocket) # discard is safe if not present
|
||||
logging.info(f"Client disconnected. Total clients: {len(clients)}")
|
||||
|
||||
async def main():
|
||||
|
||||
Reference in New Issue
Block a user