ShellYard
Last reviewed against v0.9.0 source: app_realtime.go, frontend/src/components/Tools/RealtimeClient.tsx

Realtime — WebSocket / SSE / MQTT

Three transports in one tab. WebSocket subprotocols, SSE auto-reconnect, MQTT QoS 0–2. Saved configs sync across devices.

Three transports share one Realtime tab.

WebSocket

  • Connect with optional subprotocols
  • Send text or binary frames
  • Frames render as a live timeline

Server-Sent Events

  • Subscribe to an SSE endpoint
  • Auto-reconnect on drop
  • Headers and last-event-id tracked

MQTT

  • TCP and TLS
  • Anonymous or user/password
  • QoS 0, 1, 2
  • Multi-topic subscribe + publish
  • Retained-message awareness

Export the frame buffer to JSON for later analysis.

Saved configs

A 240px sidebar lists every saved Realtime config — WS, SSE, and MQTT share one list. Click a row to load it; the panel auto-switches protocol. Save updates in place; Save as… clones with a new name. Two-click inline delete on the row.

Configs persist in the realtime_configs table and sync cross-device alongside your other saved resources.