Skip to content

fix: harden runtime paths and improve project discovery - #1

Merged
cloudapp3 merged 9 commits into
mainfrom
fix/runtime-hardening-seo
Jul 14, 2026
Merged

fix: harden runtime paths and improve project discovery#1
cloudapp3 merged 9 commits into
mainfrom
fix/runtime-hardening-seo

Conversation

@cloudapp3

Copy link
Copy Markdown
Owner

Summary

  • improve GitHub discovery with a clearer README, pkg.go.dev package docs, comparison links, FAQ, platform/install guidance, and structured community files
  • harden collector, process, updater, CLI/TUI, network diagnostics, HTTP, and WebSocket lifecycle paths found during release-readiness review
  • gate release publishing on formatting, module tidiness, tests, race detection, vet, and CLI smoke checks
  • improve generated release notes and Linux package metadata

Security and compatibility

  • require a token for non-loopback web binds and enforce same-origin/Host validation
  • sanitize terminal-rendered host and process fields while preserving JSON output contracts
  • bound diagnostic inputs, WebSocket clients/queues, and updater/collector lifecycle behavior
  • retain Linux-only ps/kill behavior and cross-platform summary/watch support

Validation

  • go test ./...
  • go test -race ./...
  • go vet ./...
  • go mod tidy -diff
  • go mod verify
  • gofmt and git diff --check
  • locale JSON, workflow/config YAML, JavaScript, and installer shell syntax checks
  • goreleaser check
  • goreleaser release --snapshot --clean
  • go run ./cmd/vminfo version
  • go run ./cmd/vminfo summary --json
  • go run ./cmd/vminfo watch --count 1
  • go run ./cmd/vminfo ps --limit 5

Documentation

The canonical VitePress documentation and comparison pages are maintained in cloudapp3/vmdocs and have already been deployed to https://vminfo.bestcheapvps.org/.

No release tag is created by this PR.

Expand the root package doc (doc.go) and add a package doc for the public
tui package (tui/doc.go) so both render on pkg.go.dev and via 'go doc'.
Remove the redundant one-line package comment from tui/tui.go so each
package has a single authoritative doc.
Honor cancellation while reading connection tables, avoid double-counting Linux guest CPU time, and isolate mutable snapshots returned to callers. Bound process collection by local passwd data and make collector lifecycle shutdown idempotent.
Strip C0, C1, CSI, OSC, and related control sequences from host and process fields before rendering them. Cover compact, panel, process, tree, and confirmation views while removing obsolete rendering helpers.
Reject invalid or misplaced CLI and web options, require authentication for non-loopback web binds, and bound background update cleanup. Sanitize host and process text before terminal output without changing JSON contracts.
Revalidate cached release metadata before installation, honor canceled checks, reject non-regular cache entries, and replace binaries through unique synced temporary files with reliable cleanup.
Bound CLI and API network probes, enforce same-origin and loopback Host checks, cap WebSocket clients and queues, and synchronize startup and shutdown. Render browser process data through DOM text properties instead of untrusted HTML.
Run formatting, module tidiness, tests, race detection, vet, and smoke checks before release publishing, with write permission scoped to the release job. Align contributor validation with CI.
Add install, upgrade, checksum, and documentation guidance to generated releases and align Linux package metadata with the project's current positioning.
Clarify vminfo positioning, installation paths, comparisons, platform support, FAQ, documentation links, and library usage. Add structured issue forms plus security, support, and pull request guidance.
@cloudapp3
cloudapp3 merged commit d4a9580 into main Jul 14, 2026
2 checks passed
@cloudapp3
cloudapp3 deleted the fix/runtime-hardening-seo branch July 14, 2026 15:39
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