DevTools

In dev mode, the Vite plugin injects an in-browser overlay that shows active streams, RPC history, and connection status. Toggle with Ctrl+Shift+L.

The overlay is stripped from production builds. Disable it in dev with:

realtime({ devtools: false })

What you can see

  • Active WebSocket connection state
  • All RPC calls with timing, arguments, and responses
  • Active stream subscriptions and their current values
  • Published events flowing through topics
  • Connection/reconnection events
  • Volatile (fire-and-forget) sends - the last 100 calls and the running drop counter

Volatile RPC tracking

Since svelte-realtime 0.5.8, .fireAndForget(...) calls populate two dev-only structures on the client __devtools object:

  • __devtools.volatile - ring buffer (100 entries, drop-oldest) of recent fire-and-forget sends, each carrying {path, args, time, seq}. Send-only - there is no matching completion event because the wire shape carries no id and the server never replies.
  • __devtools.volatileDropped - monotonic counter of all dropped sends (offline + backpressure). Dev-mode emits a one-shot console.warn on the first backpressure drop per session so devs notice in development; subsequent drops silently tick the counter.

Inspect from the browser console:

__devtools.volatile;          // last 100 fire-and-forget sends
__devtools.volatileDropped;   // total dropped (offline + over volatileBackpressureBytes)

A non-zero volatileDropped under healthy conditions suggests either a stuck connection (raise configure({ volatileBackpressureBytes })) or a misuse pattern (calling .fireAndForget() while offline expecting it to queue - it does not).

Was this page helpful?