README.md raw

browser demo

A dedicated worker owns the wasm client; the page only sends it a URI and shows the status. This is the deployment shape: no always-on service worker, no tab required beyond the document, and closing the tab closes the relay WebSocket (which closes the bridge's node socket).

make web
(cd bin/web && python3 -m http.server 8080)

Then open <http://127.0.0.1:8080/>, paste the gateway URI printed by nostrino-bridge, and sync. The gateway and relay must be reachable from the browser; ws:// is fine for localhost, a public relay needs wss://.

The worker is cancelled with the page's cancel button or by terminating it. The wasm build's nostrino.cancel() aborts the current sync; the bridge releases the node connection when the stream resets or the socket closes.