docs: refresh for navigation levels, scrolling, paste, and macOS install - #55
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Tabto[/], sokeybindings.md,views/objects.md,getting-started.mdand the README navigation section all documented the wrong key.Go version.
CLAUDE.mdclaimed the pin was1.26.4;go.modand every CI workflow are on1.26.5.Additions — behaviour that existed but wasn't documented
Tabfor views,[/]for sub-tabs within a view. Previously described as two levels.keybindings.mdandviews/dashboard.md.Enteris deliberately ignored while authenticating (PAN-OS counts every keygen as a login attempt; repeat presses during an MFA push trip the lockout),Esccancels.macOS Gatekeeper
New README section. Installing with
curlavoids the "developer cannot be verified" dialog entirely: the quarantine flag is set by the downloading program, andcurldoesn't set it.Verified rather than assumed — installed v1.5.3 from the release URL and confirmed the extracted binary carries no
com.apple.quarantineand runs with no prompt.xattr -d com.apple.quarantine ./pyreis 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 pickedCtrl+F/Ctrl+Bwith nog, while tables useCtrl+D/Ctrl+Uandg/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 sharedKeyMapand stay in step automatically. Covered by a test.Verification
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.