Skip to content

feat(site): document tunnel stop and start - #98

Merged
shrwnsan merged 2 commits into
mainfrom
site/tunnel-lifecycle
Oct 27, 2026
Merged

shrwnsan merged 2 commits into
mainfrom
site/tunnel-lifecycle

Conversation

@shrwnsan

@shrwnsan shrwnsan commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

What does this do?

Brings the site up to v0.9.0: the new tunnel stop / tunnel start lifecycle is now documented where people actually read it, and the proof section reflects the release instead of stopping at 0.8.17.

Changes

Manual page (/docs)

  • Browser tunnels: a park/resume paragraph (what a parked tunnel keeps and refuses, same-port/same-URL resume, --all forms, stopped (by request) in status, restart refusing to implicitly start) plus two copyable synopsis lines for stop/start.
  • Security: 529 tests as of v0.9.0.

Landing page

  • Release chart: 2026-10-27 point added (cumulative 32). ViewBox extended (0 -10 728 260), axis/gridlines extended to match, endpoint dot + value label moved, data-table row added, and the hover mapping in chart.js updated to the new viewBox (including the y-offset it now carries). Header copy: 30 of 32 releases shipped since Aug 24.
  • Release feed: 0.9.0 leads (tunnel stop / tunnel start — park a tunnel without tearing it down…); oldest item (0.8.11) rotates out.
  • Stale counts: 417 tests and counting → 529; the auditable-lines claim recomputed with the same scope as before (bin + scripts + install.sh + uninstall.sh): 7,194 → 7,733 sh (Go unchanged, 217).

llms.txt

  • The agent brief's abstract gains the park/resume clause; line-count updated.

Verification

  • python3 scripts/check-site.py → OK 9 checks.
  • bash tests/run-tests.sh → 529/529 pass (site tooling tests included).
  • Rendered both pages locally and checked: chart geometry (endpoint at the correct date/value, no clipping after the viewBox change), hover tooltip mapping at the new and mid-chart points (2026-10-27 · 32 releases, 2026-09-11 · 27 releases), feed order, and the /docs synopsis styling.
  • Release count in the chart cross-checked against the tag history; deploy-time update-metrics.py (stat card + version) is unaffected and will re-inject on deploy.

Follow-up (9d7fb46): every version surface reads 0.9.0

A full-page sweep found the versioned surfaces the first pass missed, now fixed:

  • JSON-LD softwareVersion "0.8.17" → "0.9.0" on both pages (the landing one is deploy-injected; the manual page's never was — that's the root cause of the staleness).
  • The manual page's title badge v0.8.17 → v0.9.0, now marked data-metric="cli-version" so deploys fill it.
  • The landing's committed stat-card fallbacks (releases dd 31 → 32) and the "shell tests · 348 → 417 in five weeks" card — window lapsed; now "348 → 529 in eight weeks" (348 = v0.8.11 on 2026-09-03, verified against the changelog).
  • update-metrics.py now injects into the manual page too (softwareVersion + badge), so this class of staleness dies at the next tag. The span helper tolerates attributes beside data-metric; the landing contract (releases dd, updated span) is unchanged and check-site.py still passes 9/9, suite 529/529.

Feed entries for 0.8.x releases stay as-is — they are history, not claims.

shrwnsan and others added 2 commits October 27, 2026 17:23
The man page's Browser tunnels section gains the park/resume verbs:
what stop keeps (registry + hosts mapping, parked across logins and
reboots), what start restores (same local port, same URL, no sudo),
the --all forms, and the restart-refuses-parked rule — with copyable
stop/start synopsis lines.

The proof section catches up to v0.9.0: the cumulative-release chart
gains the 2026-10-27 point (32) with the extended axis and hover
mapping to match, the release feed leads with 0.9.0, and the stale
counts are refreshed (529 tests, 7,733 sh + 217 Go). llms.txt picks
up the lifecycle clause and the current line count.

Co-authored-by: ZCode <noreply@zcode.com>
A full-page sweep found the versioned surfaces the content refresh
missed: the JSON-LD softwareVersion on both pages, the manual page's
version badge, the landing's committed stat-card fallbacks, and the
'tests in five weeks' stat whose window had lapsed (348 at v0.8.11 →
529 at v0.9.0, eight weeks).

Rather than re-rot at the next release, the manual page joins the
deploy-time refresh: update-metrics.py now also injects the latest
version into the docs page's softwareVersion and its badge (new
data-metric="cli-version" span), so a release tag is all the site
needs. The span helper tolerates attributes beside data-metric, and
the landing contract (stat card, updated span) is unchanged —
check-site.py still passes 9/9.

Co-authored-by: ZCode <noreply@zcode.com>
@shrwnsan
shrwnsan merged commit 6fd8bc7 into main Oct 27, 2026
1 check passed
@shrwnsan
shrwnsan deleted the site/tunnel-lifecycle branch October 27, 2026 13:28
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