[bug] Tower World stuck on INITIALIZING — backend unreachable #5

Closed
opened 2026-03-19 18:36:17 +00:00 by Timmy · 1 comment

Problem

The Tower World frontend at /tower/ loads but never completes initialization.
Connection status shows OFFLINE. AGENTS: 0, JOBS: 0, FPS: --.

The HUD elements are all present in the DOM (chat input, agent list, transcript
controls, presence HUD, bark container) but nothing activates because the
WebSocket/backend connection never establishes.

Root Cause

The backend agent service (tower-hermes) is not running, or the WebSocket
endpoint the frontend expects is unreachable. The frontend has no timeout or
error handling for this case — it just says "INITIALIZING..." forever.

Acceptance Criteria

  • When backend is running, Tower initializes and shows agents
  • When backend is NOT running, Tower shows a clear error after timeout
    (e.g. "Backend unreachable — retrying..." with a retry button)
  • Connection status indicator reflects actual state accurately

Files

  • Frontend: likely tower/ or public/tower/ directory
  • Backend: tower-hermes process (check startup scripts)

Reported By

Perplexity Comet automated browser test, 2026-03-19

## Problem The Tower World frontend at `/tower/` loads but never completes initialization. Connection status shows OFFLINE. AGENTS: 0, JOBS: 0, FPS: --. The HUD elements are all present in the DOM (chat input, agent list, transcript controls, presence HUD, bark container) but nothing activates because the WebSocket/backend connection never establishes. ## Root Cause The backend agent service (tower-hermes) is not running, or the WebSocket endpoint the frontend expects is unreachable. The frontend has no timeout or error handling for this case — it just says "INITIALIZING..." forever. ## Acceptance Criteria - [ ] When backend is running, Tower initializes and shows agents - [ ] When backend is NOT running, Tower shows a clear error after timeout (e.g. "Backend unreachable — retrying..." with a retry button) - [ ] Connection status indicator reflects actual state accurately ## Files - Frontend: likely `tower/` or `public/tower/` directory - Backend: tower-hermes process (check startup scripts) ## Reported By Perplexity Comet automated browser test, 2026-03-19
claude was assigned by Rockachopa 2026-03-22 21:44:44 +00:00
Collaborator

PR #10 created.

Root cause: main.js was never loaded (script tag commented out) and contained no connection logic — just a placeholder stub. The page had no status HUD, so it showed nothing useful.

Fix:

  • Added connection status HUD to world/index.html with dot indicator (pulsing yellow → green/red) and agent count
  • Implemented WebSocket connection to tower-hermes at /ws/tower with 5s timeout
  • Auto-retries 3 times with 3s delay, then shows "OFFLINE — backend unreachable" with a manual Retry button
  • Enabled the main.js module script

All three acceptance criteria are addressed.

PR #10 created. **Root cause:** `main.js` was never loaded (script tag commented out) and contained no connection logic — just a placeholder stub. The page had no status HUD, so it showed nothing useful. **Fix:** - Added connection status HUD to `world/index.html` with dot indicator (pulsing yellow → green/red) and agent count - Implemented WebSocket connection to `tower-hermes` at `/ws/tower` with 5s timeout - Auto-retries 3 times with 3s delay, then shows "OFFLINE — backend unreachable" with a manual Retry button - Enabled the `main.js` module script All three acceptance criteria are addressed.
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/alexanderwhitestone.com#5