# feat: Live Share links: snowbound.paperclover.net/\<code\> opens the share in Snowbound · clo/snowbound

[View on GitCafe](https://git.cafe/clo/snowbound/commit/3dff91e5b8938209f2a7b38e8323227ba4a12a71)

Repository: [clo/snowbound](https://git.cafe/clo/snowbound)

Visibility: public

Requested revision: 3dff91e5b8938209f2a7b38e8323227ba4a12a71

Requested commit: 3dff91e5b8938209f2a7b38e8323227ba4a12a71

Commit: 3dff91e5b8938209f2a7b38e8323227ba4a12a71

Tree: 9a786b5f53250d5fbe2d52b51897ac41e3457e1f

Author: clover caruso

Committer: clover caruso

## Message

```
feat: Live Share links: snowbound.paperclover.net/<code> opens the share in Snowbound

Live Share's dialog gains Copy Link beside Copy: https://snowbound.paperclover.net/
followed by the code. That address is a new small service, snowbound-site (a
second binary in crates/relay): it serves the hosted web build's folder, and
for a path that is a code, read as loosely as the app reads one, a page with
Open in Snowbound (snowbound://join/<code>), and Open in Web once --web names
where the web build joins. It listens on 127.0.0.1:23593 behind Caddy, with a
systemd unit and pm2 notes in crates/relay/README.md; release_relay.py builds
it beside the relay. It takes over from tools/web/serve.py, with the same cache
rules (b/<hash>/ kept for good, index.html checked every load), and
release_web.py --deploy now also builds it for the VPS and restarts pm2's
snowbound-site only when its binary changed. The relay's unit now listens on
23592.

snowbound:// opens the share: macOS's bundle declares the scheme and the app
takes application:openURLs:, Windows registers it for this user beside the
OneNote file types, and Linux's desktop entry handles x-scheme-handler/
snowbound with %U (files arrive as file:// URLs, which the app now reads).
A link pasted into Open Shared Notebook works as its code does. The code
module moves to the relay crate, which the site and the app both read it
from.

Assisted-by: claude-opus-5.5

```

## Parents

- [02acde3ba6bf8683a349deb02c298332a7c4f4ed](https://git.cafe/clo/snowbound/commit/02acde3ba6bf8683a349deb02c298332a7c4f4ed?format=markdown)

[Source at this commit](https://git.cafe/clo/snowbound/tree/3dff91e5b8938209f2a7b38e8323227ba4a12a71?format=markdown)
