Add SSE heartbeat and reconnect guidance for reverse-proxy deployments #17

Closed
opened 2026-05-17 12:06:02 +00:00 by MrSphay · 2 comments
Owner

Created from local project scan after reviewing existing issues #1-#13.

Current status: /events opens a Server-Sent Events stream and sends a single connected message, but it does not send heartbeat comments/events. Reverse proxies such as Pangolin, Nginx, or Cloudflare can close idle SSE connections between 15-minute sweeps, leaving dashboards stale until the browser reconnects or reloads.

Code references:

  • server.mjs: /events route around line 311 writes only the initial connected event.
  • server.mjs: roadcast() only emits on sweep lifecycle updates.

Acceptance criteria:

  • Send a lightweight SSE heartbeat at a configurable interval shorter than common proxy idle timeouts.
  • Clear heartbeat timers when clients disconnect.
  • Include
    etry: or equivalent reconnect guidance for the browser.
  • Document recommended reverse-proxy settings for SSE buffering/timeouts.
  • Add a small server-level test or smoke check for heartbeat cleanup.
Created from local project scan after reviewing existing issues #1-#13. Current status: /events opens a Server-Sent Events stream and sends a single connected message, but it does not send heartbeat comments/events. Reverse proxies such as Pangolin, Nginx, or Cloudflare can close idle SSE connections between 15-minute sweeps, leaving dashboards stale until the browser reconnects or reloads. Code references: - server.mjs: /events route around line 311 writes only the initial connected event. - server.mjs: roadcast() only emits on sweep lifecycle updates. Acceptance criteria: - Send a lightweight SSE heartbeat at a configurable interval shorter than common proxy idle timeouts. - Clear heartbeat timers when clients disconnect. - Include etry: or equivalent reconnect guidance for the browser. - Document recommended reverse-proxy settings for SSE buffering/timeouts. - Add a small server-level test or smoke check for heartbeat cleanup.
Author
Owner

In Bearbeitung durch Codex auf Branch codex/issue-17-sse-heartbeat. Scope: SSE Heartbeat/Reconnect fuer Reverse-Proxies: heartbeat interval, retry guidance, cleanup, Doku, statische/smoke Regression. Runner-only: keine lokalen npm/node Laeufe.

In Bearbeitung durch Codex auf Branch codex/issue-17-sse-heartbeat. Scope: SSE Heartbeat/Reconnect fuer Reverse-Proxies: heartbeat interval, retry guidance, cleanup, Doku, statische/smoke Regression. Runner-only: keine lokalen npm/node Laeufe.
Author
Owner

PR geoeffnet: #34\n\nStatus: mergeable. Scope: /events sendet jetzt retry guidance und konfigurierbare Heartbeat-Kommentare, Timer werden beim Disconnect geraeumt, X-Accel-Buffering gesetzt und Reverse-Proxy-Hinweise dokumentiert. Runner-only: keine lokalen npm/node Tests.

PR geoeffnet: https://git.wilkensxl.de/MrSphay/intelligence-terminal/pulls/34\n\nStatus: mergeable. Scope: /events sendet jetzt retry guidance und konfigurierbare Heartbeat-Kommentare, Timer werden beim Disconnect geraeumt, X-Accel-Buffering gesetzt und Reverse-Proxy-Hinweise dokumentiert. Runner-only: keine lokalen npm/node Tests.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MrSphay/intelligence-terminal#17