fix: lots of web updates
This commit is contained in:
parent
44fc05af81
commit
25c985cc65
@ -1,45 +0,0 @@
|
|||||||
# termtap Test Coverage Summary
|
|
||||||
|
|
||||||
Generated from:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
go test -coverprofile=/tmp/termtap.cover ./...
|
|
||||||
go tool cover -func=/tmp/termtap.cover
|
|
||||||
```
|
|
||||||
|
|
||||||
## Package coverage snapshot
|
|
||||||
|
|
||||||
| Package | Coverage |
|
|
||||||
|---|---:|
|
|
||||||
| `cmd/tap` | 100.0% |
|
|
||||||
| `internal/app` | 98.1% |
|
|
||||||
| `internal/cli` | 93.4% |
|
|
||||||
| `internal/process` | 95.8% |
|
|
||||||
| `internal/proxy` | 90.0% |
|
|
||||||
| `internal/tui` | 96.2% |
|
|
||||||
| `examples/echo` | 0.0% (example app; intentionally not covered) |
|
|
||||||
| `internal/model` | no test files (pure data structs) |
|
|
||||||
|
|
||||||
Total statements in module: **77.9%**.
|
|
||||||
|
|
||||||
## Notable lower-coverage targets (production code)
|
|
||||||
|
|
||||||
- `internal/proxy/handlers.go:handleConnect` — 75.9%
|
|
||||||
- `internal/proxy/certs.go:writeFileAtomically` — 76.2%
|
|
||||||
- `internal/proxy/certs.go:load` — 90.5%
|
|
||||||
- `internal/proxy/certs.go:create` — 80.8%
|
|
||||||
- `internal/proxy/certs.go:IsTrustedBySystem` — 76.9%
|
|
||||||
- `internal/cli/run.go:runCert` — 87.5%
|
|
||||||
|
|
||||||
## Interpretation
|
|
||||||
|
|
||||||
- Core runtime paths (`internal/app`, `internal/process`, `internal/tui`) are high confidence.
|
|
||||||
- Proxy package has broad behavior coverage including HTTP and HTTPS MITM integration flow, and now clears 90% package coverage.
|
|
||||||
- CLI command routing and fatal/stdout/stderr seams are covered, including `Run` success/error branches.
|
|
||||||
- TUI pane rendering coverage now includes error/PID branch behavior.
|
|
||||||
|
|
||||||
## Next optional improvements
|
|
||||||
|
|
||||||
1. Add deeper CONNECT tunnel write/flush/read failure permutations inside `handleConnect` loop.
|
|
||||||
2. Add additional deterministic edge cases for `IsTrustedBySystem` non-unknown-authority verify failures.
|
|
||||||
3. Optionally add non-unix signal file coverage in CI matrix (currently unix-focused).
|
|
||||||
@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>web</title>
|
<title>Tap | Debug your Backend</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export function HeroSection() {
|
|||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
className="rounded-md border border-slate-800 px-5 py-2.5 text-slate-200 transition-colors hover:border-emerald-400 focus-visible:border-emerald-400"
|
className="rounded-md border border-slate-800 px-5 py-2.5 text-slate-200 transition-colors hover:border-emerald-400 focus-visible:border-emerald-400"
|
||||||
href="https://github.com"
|
href="https://github.com/haydenhargreaves/termtap"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -8,18 +8,28 @@ export function InstallSection() {
|
|||||||
>
|
>
|
||||||
<SectionLabel label="// INSTALL" />
|
<SectionLabel label="// INSTALL" />
|
||||||
|
|
||||||
|
<p className="mt-4 text-sm text-slate-500">
|
||||||
|
Download the binary for your OS from{' '}
|
||||||
|
<a
|
||||||
|
className="text-emerald-400 underline-offset-2 hover:underline"
|
||||||
|
href="https://github.com/haydenhargreaves/termtap/releases"
|
||||||
|
>
|
||||||
|
GitHub Releases
|
||||||
|
</a>
|
||||||
|
:
|
||||||
|
</p>
|
||||||
|
|
||||||
<div className="mt-4 rounded-md border border-slate-800 bg-slate-900 px-4 py-3 text-xs md:text-sm">
|
<div className="mt-4 rounded-md border border-slate-800 bg-slate-900 px-4 py-3 text-xs md:text-sm">
|
||||||
<span className="text-slate-500">$ brew install </span>
|
<span className="text-emerald-400">https://github.com/haydenhargreaves/termtap/releases</span>
|
||||||
<span className="text-emerald-400">termtap</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p className="mt-3 text-xs leading-6 text-slate-500">
|
<p className="mt-3 text-xs leading-6 text-slate-500">
|
||||||
or download a binary from{' '}
|
Choose your OS/architecture asset, unpack it, and move <code className="px-0 text-slate-200">tap</code>
|
||||||
<a className="text-slate-200 underline-offset-2 hover:underline" href="https://github.com">
|
into your PATH. Run{' '}
|
||||||
GitHub releases
|
<code className="px-0 text-slate-200">tap cert </code>
|
||||||
</a>
|
if you need the HTTPS trust path.
|
||||||
.
|
|
||||||
</p>
|
</p>
|
||||||
|
<p className="text-slate-600 text-xs">Supported: macOS, Linux, Windows</p>
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export function SiteHeader({ page, onNavigate }: SiteHeaderProps) {
|
|||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
className={`${sharedLinkClasses} text-slate-500`}
|
className={`${sharedLinkClasses} text-slate-500`}
|
||||||
href="https://github.com"
|
href="https://github.com/haydenhargreaves/termtap"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -21,7 +21,7 @@ export function StatusSection() {
|
|||||||
<p className="mt-4 max-w-3xl text-xs leading-6 text-slate-500 md:text-sm">
|
<p className="mt-4 max-w-3xl text-xs leading-6 text-slate-500 md:text-sm">
|
||||||
Expect rough edges, occasional breaking changes, and missing features. Bug reports and
|
Expect rough edges, occasional breaking changes, and missing features. Bug reports and
|
||||||
feedback on{' '}
|
feedback on{' '}
|
||||||
<a className="text-slate-200 underline-offset-2 hover:underline" href="https://github.com">
|
<a className="text-slate-200 underline-offset-2 hover:underline" href="https://github.com/haydenhargreaves/termtap">
|
||||||
GitHub
|
GitHub
|
||||||
</a>{' '}
|
</a>{' '}
|
||||||
are very welcome.
|
are very welcome.
|
||||||
|
|||||||
@ -111,20 +111,22 @@ export function DocsPage() {
|
|||||||
|
|
||||||
<DocsSection id="install" number="01" title="Install">
|
<DocsSection id="install" number="01" title="Install">
|
||||||
<p>
|
<p>
|
||||||
Download the latest binary from{' '}
|
Download the binary for your OS from{' '}
|
||||||
<a className="text-emerald-400 underline-offset-2 hover:underline" href="https://github.com/termtap/releases">
|
<a className="text-emerald-400 underline-offset-2 hover:underline" href="https://github.com/haydenhargreaves/termtap/releases">
|
||||||
GitHub Releases
|
GitHub Releases
|
||||||
</a>
|
</a>
|
||||||
:
|
:
|
||||||
</p>
|
</p>
|
||||||
<CommandBlock>
|
<CommandBlock>
|
||||||
<span className="text-slate-400">$ curl -L -o termtap.tar.gz </span>
|
<span className="text-emerald-400">https://github.com/haydenhargreaves/termtap/releases</span>
|
||||||
<span className="text-emerald-400">https://github.com/termtap/releases/latest</span>
|
|
||||||
</CommandBlock>
|
</CommandBlock>
|
||||||
<p className="text-slate-500 text-sm">
|
<p className="text-slate-500 text-sm">
|
||||||
Unpack the binary, place it on your PATH, and run <code className="px-0 text-slate-200">tap cert </code>
|
Choose your OS/architecture asset, unpack it, and move <code className="px-0 text-slate-200">tap </code>
|
||||||
|
into your PATH. Run{' '}
|
||||||
|
<code className="px-0 text-slate-200">tap cert </code>
|
||||||
if you need the HTTPS trust path.
|
if you need the HTTPS trust path.
|
||||||
</p>
|
</p>
|
||||||
|
<p className="text-slate-600 text-xs">Supported: macOS, Linux, Windows</p>
|
||||||
<p className="text-slate-600 text-xs">
|
<p className="text-slate-600 text-xs">
|
||||||
If demand for other install methods grows, they can be added later.
|
If demand for other install methods grows, they can be added later.
|
||||||
</p>
|
</p>
|
||||||
@ -234,7 +236,7 @@ export function DocsPage() {
|
|||||||
</ul>
|
</ul>
|
||||||
<p className="text-slate-500 text-sm">
|
<p className="text-slate-500 text-sm">
|
||||||
Last updated: 2026-04-19. Questions?{' '}
|
Last updated: 2026-04-19. Questions?{' '}
|
||||||
<a className="text-slate-300 underline-offset-2 hover:underline" href="https://github.com">
|
<a className="text-slate-300 underline-offset-2 hover:underline" href="https://github.com/haydenhargreaves/termtap">
|
||||||
Open an issue.
|
Open an issue.
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@ -246,7 +248,7 @@ export function DocsPage() {
|
|||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
className="transition-colors hover:text-slate-200 focus-visible:text-slate-200"
|
className="transition-colors hover:text-slate-200 focus-visible:text-slate-200"
|
||||||
href="https://github.com"
|
href="https://github.com/haydenhargreaves/termtap"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user