[silo-mod] Live connection stuck on "Reconnecting..." with no diagnostics #2

Closed
opened 2026-02-08 21:16:30 +00:00 by forbes · 0 comments
Owner

The Selection View shows Live: Reconnecting... indefinitely in orange. The REST API works fine (Database Activity populates), so this is isolated to whatever live/push mechanism the client is attempting.

Problem

  • No error detail surfaced — user cannot tell if it is DNS, SSL, 502, auth, or a missing server endpoint
  • No backoff visible — unclear if it is retrying or stuck
  • No timeout — never transitions to a "Disconnected" terminal state
  • Nothing logged to FreeCAD console

Root cause investigation needed

The spec's 75 endpoints do not include a websocket or SSE endpoint. Either:

  • silod has an undocumented /api/ws or /api/events endpoint, or
  • The client is attempting to connect to something that does not exist yet

Clarify which, then fix accordingly (see Issue 3 if server-side work is needed).

Proposed client-side fixes (regardless of server state)

  • Reconnect with exponential backoff: 1s, 2s, 4s, ..., capped at 60s
  • Show attempt count: Reconnecting (3/10)...
  • After max retries, show Disconnected with a manual Retry button
  • Log each attempt to FreeCAD console with timestamp and error
  • Tooltip on the status line showing last error message

Acceptance criteria

  • Backoff implemented with configurable max retries
  • Terminal "Disconnected" state reachable
  • FreeCAD console receives structured log per reconnect attempt
  • Graceful behavior when the server has no live endpoint at all (do not retry forever against a 404)
The Selection View shows `Live: Reconnecting...` indefinitely in orange. The REST API works fine (Database Activity populates), so this is isolated to whatever live/push mechanism the client is attempting. ## Problem - No error detail surfaced — user cannot tell if it is DNS, SSL, 502, auth, or a missing server endpoint - No backoff visible — unclear if it is retrying or stuck - No timeout — never transitions to a "Disconnected" terminal state - Nothing logged to FreeCAD console ## Root cause investigation needed The spec's 75 endpoints do not include a websocket or SSE endpoint. Either: - `silod` has an undocumented `/api/ws` or `/api/events` endpoint, or - The client is attempting to connect to something that does not exist yet Clarify which, then fix accordingly (see Issue 3 if server-side work is needed). ## Proposed client-side fixes (regardless of server state) - Reconnect with exponential backoff: 1s, 2s, 4s, ..., capped at 60s - Show attempt count: `Reconnecting (3/10)...` - After max retries, show `Disconnected` with a manual **Retry** button - Log each attempt to FreeCAD console with timestamp and error - Tooltip on the status line showing last error message ## Acceptance criteria - [ ] Backoff implemented with configurable max retries - [ ] Terminal "Disconnected" state reachable - [ ] FreeCAD console receives structured log per reconnect attempt - [ ] Graceful behavior when the server has no live endpoint at all (do not retry forever against a 404)
forbes added the bugpriority:high labels 2026-02-08 21:16:30 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo-mod#2