Skip to content

docs: refresh for navigation levels, scrolling, paste, and macOS install - #55

Merged
jp2195 merged 2 commits into
mainfrom
docs/post-review-refresh
Aug 5, 2026
Merged

docs: refresh for navigation levels, scrolling, paste, and macOS install#55
jp2195 merged 2 commits into
mainfrom
docs/post-review-refresh

Conversation

@jp2195

@jp2195 jp2195 commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Brings the docs back in line with the behaviour changes from the live-firewall review (#53), and adds the macOS Gatekeeper guidance that was missing.

Corrections — docs that were actively wrong

Objects sub-tabs. Objects moved from Tab to [ / ], so keybindings.md, views/objects.md, getting-started.md and the README navigation section all documented the wrong key.

Go version. CLAUDE.md claimed the pin was 1.26.4; go.mod and every CI workflow are on 1.26.5.

Additions — behaviour that existed but wasn't documented

  • Navigation as three levels: numbers for groups, Tab for views, [ / ] for sub-tabs within a view. Previously described as two levels.
  • Dashboard scrolling — keys and the scroll indicator, in both keybindings.md and views/dashboard.md.
  • Login in-flight stateEnter is deliberately ignored while authenticating (PAN-OS counts every keygen as a login attempt; repeat presses during an MFA push trip the lockout), Esc cancels.
  • Bracketed paste — a short section so users don't assume it's broken. Depends on fix(tui): support pasting into text inputs #54.
  • Interfaces detail panel — sections are distributed whole and the split is height-balanced, so which section lands in which column varies with the data.

macOS Gatekeeper

New README section. Installing with curl avoids the "developer cannot be verified" dialog entirely: the quarantine flag is set by the downloading program, and curl doesn't set it.

Verified rather than assumed — installed v1.5.3 from the release URL and confirmed the extracted binary carries no com.apple.quarantine and runs with no prompt. xattr -d com.apple.quarantine ./pyre is documented for anyone who already downloaded through a browser.

Notarization is the real fix but needs a paid Apple Developer account, so it is deliberately not claimed here.

One code change

fix(tui): align dashboard scroll keys with table navigation — dashboard scrolling had picked Ctrl+F/Ctrl+B with no g, while tables use Ctrl+D/Ctrl+U and g/G. Found while writing the docs; two different scroll-key sets in one app isn't worth documenting, so the bindings now come from the shared KeyMap and stay in step automatically. Covered by a test.

Verification

  • Every documented key cross-checked against the implementation.
  • All relative doc links resolve.
  • Scroll keys (Ctrl+D, G, g) confirmed against a live PA-440 at 80x24.
  • gofmt, go vet, golangci-lint (0 issues), go test -race ./... all clean.

Merge order

Contains no paste code — only the paste docs. Merge after #54, or the paste section will describe unreleased behaviour.

jp2195 added 2 commits August 4, 2026 15:49
Dashboard scrolling matched its keys as literal strings and picked
Ctrl+F/Ctrl+B for paging with no `g` for top, while table navigation
uses Ctrl+D/Ctrl+U and g/G. Two different sets of scroll keys in the
same app is not something worth documenting, so match the tables
instead.

Bindings now come from the shared KeyMap rather than string literals,
which keeps the two in step automatically.
Bring the docs back in line with the behaviour changes from the live
firewall review, and add the macOS Gatekeeper guidance that was missing.

Navigation is now described as three levels with three key sets —
numbers for groups, Tab for views, [ / ] for sub-tabs within a view.
Objects switched from Tab to [ / ], so keybindings.md, views/objects.md,
getting-started.md and the README navigation section all said the wrong
thing.

Dashboards scroll when the panel stack is taller than the terminal, and
that was undocumented; keybindings.md and views/dashboard.md now cover
the keys and the scroll indicator.

The login screen has an in-flight state worth documenting: Enter is
deliberately ignored while authenticating, because PAN-OS counts every
keygen as a login attempt and repeat presses during an MFA push lock the
account out. Esc cancels.

Bracketed paste now works in text inputs, so it gets a short section
rather than users assuming it is broken.

README gains a macOS section: installing with curl avoids Gatekeeper
entirely, because the quarantine flag is set by the downloading program
and curl does not set it. Verified by installing v1.5.3 from the release
URL and confirming the extracted binary carries no com.apple.quarantine
and runs without a prompt. `xattr -d` is documented for anyone who
already downloaded through a browser. Notarization is the real fix but
needs a paid Apple Developer account, so it is deliberately not claimed
here.

Also corrects the Go pin in CLAUDE.md (1.26.4 -> 1.26.5, matching go.mod
and CI), notes that CI runs golangci-lint and that go vet alone will not
predict it, and records the invariants this work established: CDATA op
output must go through api.InnerText, HasData gates the shared spinner,
tables share one column grid, detail panels size to contentWidth, and
tea.PasteMsg needs explicit routing.
@github-actions github-actions Bot added documentation Improvements or additions to documentation tui labels Aug 4, 2026
@jp2195
jp2195 merged commit 132b451 into main Aug 5, 2026
14 checks passed
@jp2195
jp2195 deleted the docs/post-review-refresh branch August 5, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation tui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant