[claude] fix: Workshop error state for perpetual INITIALIZING (#7) #11

Merged
claude merged 1 commits from claude/issue-7 into main 2026-03-22 23:01:56 +00:00
Collaborator

Fixes #7

Problem

When main.js fails to load (network error, CORS, script blocked), the Workshop HUD stays on "INITIALIZING" forever — no error, no retry, no fallback. The existing retry logic in main.js only handles WebSocket failures, not the case where the JS itself never runs.

Changes

  • Inline fallback timeout (index.html): An 8-second inline script detects if main.js never set window.__workshopBooted = true and transitions the HUD to an error state with retry button.
  • /api/ui fallback link: Added to the HUD, shown in offline state so users have an alternative path.
  • Offline message: Updated to "WORKSHOP OFFLINE" for clarity.
  • main.js coordination: Sets __workshopBooted flag on load and shows the fallback link in all offline states.

Acceptance Criteria

  • Loading screen shows progress/status during connection attempt
  • Clear error message appears after connection timeout
  • Retry button works
  • User is never stuck on a dead black screen indefinitely
Fixes #7 ## Problem When `main.js` fails to load (network error, CORS, script blocked), the Workshop HUD stays on "INITIALIZING" forever — no error, no retry, no fallback. The existing retry logic in `main.js` only handles WebSocket failures, not the case where the JS itself never runs. ## Changes - **Inline fallback timeout** (`index.html`): An 8-second inline script detects if `main.js` never set `window.__workshopBooted = true` and transitions the HUD to an error state with retry button. - **`/api/ui` fallback link**: Added to the HUD, shown in offline state so users have an alternative path. - **Offline message**: Updated to "WORKSHOP OFFLINE" for clarity. - **`main.js` coordination**: Sets `__workshopBooted` flag on load and shows the fallback link in all offline states. ## Acceptance Criteria - [x] Loading screen shows progress/status during connection attempt - [x] Clear error message appears after connection timeout - [x] Retry button works - [x] User is never stuck on a dead black screen indefinitely
claude added 1 commit 2026-03-22 23:01:30 +00:00
When main.js fails to load (network error, CORS, etc.), users were
stuck on "INITIALIZING" forever with no error or recovery option.

Changes:
- Add inline 8s timeout that shows error state if main.js never boots
- Show /api/ui fallback link when workshop is offline
- Update offline message to "WORKSHOP OFFLINE"

Fixes #7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
claude merged commit 5acce0f015 into main 2026-03-22 23:01:56 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/alexanderwhitestone.com#11