Skip to content

feat(share): server-run tunnel, share UI, terms consent; v0.0.6 - #12

Merged
codejunction merged 2 commits into
mainfrom
feature/share-enhancement
Oct 1, 2026
Merged

codejunction merged 2 commits into
mainfrom
feature/share-enhancement

Conversation

@codejunction

@codejunction codejunction commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release 0.0.6.

  • Server-run share. The server starts and stops cloudflared itself (shelldeck/share.py), so a share keeps running until it's stopped (sd share stop, Stop sharing, or Ctrl+C in the sd share that started it). The 60s CLI lease is gone, and sd share attaches to a share that's already running.
  • Share UI. A Share button and Share… palette entry open a dialog with the QR code, copy link and new link. A Sharing pill shows while a share runs. Any host browser can allow or deny a waiting device (toast, dialog or Devices); the first answer wins over the sd share prompt.
  • Terms of sharing. Before the first share, the dialog (checkbox) and sd share ([y/N]) show the risks: you share at your own risk, keep links private, Cloudflare sees the traffic, and don't share from corporate or restricted networks. POST /api/share returns 409 terms_required until POST /api/share/terms is accepted. The consent is stored in <config>/share-consent (owner-only, like the password) and asked again when TERMS_VERSION is bumped.
  • Groundwork for the phone app (the app itself isn't in this PR): server-side agent state, remote logins that don't take the one-device slot, /api/push Expo tokens, and the ?embed=1 single-terminal view.
  • Docs: CHANGELOG, README, CLAUDE.md, version 0.0.6 and uv lock.

Test plan

  • uv run ruff check
  • uv run pytest -q: 62 passed, including new terms tests for the API and CLI
  • Edge (playwright-cli): the Share dialog shows the terms, and Start sharing is disabled until the box is checked
  • Real tunnel start and stop with cloudflared, after merge or on an RC

- server runs cloudflared; share lives until stopped (`sd share stop`)
- Share dialog + Sharing pill, QR, new link, allow/deny from any host browser
- terms of sharing gate first share; consent kept in <config>/share-consent
- server-side agent state, remote logins, push tokens, embed view (app groundwork)
@codejunction
codejunction merged commit 77953cb into main Oct 1, 2026
10 checks passed
@codejunction
codejunction deleted the feature/share-enhancement branch October 1, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant