How a browser reaches a machine
A browser talks to a workspace's in-guest daemon through a per-workspace preview URL minted from the provider. TLS ends at the provider's edge. The edge checks its signed token, and the daemon checks its own token on top, because the daemon binds 0.0.0.0 and that token is what guards the port.
Tokens and time
Preview tokens expire after 60 minutes. wsp reuses a minted URL while it is under about 50 minutes old, then swaps tokens; the hostname never changes. The edge drops sockets that stay quiet for about 30 seconds, so clients send an app-level heartbeat every 10. A paused workspace's URL goes dark, and the same URL routes again about a second after wake.
What wsp doctor measures
wsp doctor walks the whole loop against one live machine and prints what it measured. One run, client in India, machine in us-west:
step time note
-----------------------------------------------------------------------------
golden image 0ms reused v1 (snap_dl414bbklze6)
fork workspace 15.4s machine ZGVza3RvcC1wb29sLWktMGZk…
deploy daemon 5889ms tar upload + in-guest npm install (node-pty compile) + start on 0.0.0.0:7070
mint previewUrl 1125ms expires in 60min, host c66506663eaa315a9131-7070.preview.getsolari.com
ws connect + first op 1354ms TLS + upgrade + authed manifest.get through the preview edge
heartbeats (3 x 10s) 30.4s socket alive past the ~30s idle sweep
inbox round trip 3277ms REST touch -> inbox.file over the preview socket (~2s watcher quiet window)
kill + verify zero 947ms workspace deleted, no machines left on the account
-----------------------------------------------------------------------------
TOTAL 58.4s
The golden image builds once, 28 seconds in that session, and every later fork reuses it. Doctor bills while it runs, since it forks a real machine.
Running the daemon on your own computer
Running wsp-daemon locally, for tests or for hacking on it, makes macOS and Windows ask about incoming connections, because 0.0.0.0 accepts from the network. For local runs, bind loopback and point it at a token file of your own, since the in-guest one lives under /root:
printf '%s' dev > /tmp/wsp-daemon-token
wsp-daemon --host 127.0.0.1 --token-path /tmp/wsp-daemon-token
The file is read at every connection's auth frame, so the host can rotate it while the daemon runs. Only in-guest deployments need the 0.0.0.0 default, since the preview edge dials eth0.
Capability flags
Backends implement the machine interface plus a capabilities descriptor. Clients read the flags instead of assuming. A backend without preview URLs loses browser reach and the UI says so instead of pretending. The flags and what Solari reports are on Providers and capabilities.