watch: pastes are inert, empty filters say so, the table outranks the wordmark - #16
Merged
Conversation
… wordmark Three legs of one field incident: a file path dropped onto the watch pane typed itself in — its leading slash opened the filter, the rest became the query, zero rows matched, and the frame said 'No agents running' directly under a summary counting seven. In short panes the banner + floor-height window also emitted frames taller than the pane, scrolling the summary and table off the top. - Enable bracketed paste; the key decoder stamps keys between the CSI 200~/201~ markers and handleKey drops them outside the filter and label inputs (inside them, printables only — a pasted newline must not submit). A drop can no longer press keys. - A filter that matches nothing now renders '0 of N agents match … — esc clears the filter' instead of claiming no agents are running. - The frame pins back to the top whenever the cursor fits below the header, and the wordmark banner yields to the agent table when the pane is too short for both — a frame is never taller than the pane. README documents the paste behavior. Co-Authored-By: Claude Fable 5 <[email protected]>
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.
The incident (from the devbox screenshots)
A file path dropped onto the watch pane typed itself in as keystrokes: the leading
/opened the filter, the rest of the path became the query, zero rows matched — and the frame showed "No agents running" directly under a summary line counting2 working · 5 idle. The bottom line of the screenshot is the filter input still holding the dropped path. Separately, in panes too short for the wordmark banner plus the windowed frame, the emitted frame exceeded the pane height and the terminal pushed the summary + agent table off the top.Fixes (three legs, one incident)
?2004h, unwound on exit): the key decoder recognizes the CSI200~/201~markers and stamps everything between them;handleKeydrops pasted keys outside the filter/label inputs, and inside them accepts printables only (a pasted newline must not submit). A dropped file can no longer press keys. Terminals without paste support degrade to current behavior.0 of N agents match "…" — esc clears the filterinstead of "No agents running", which read as the board contradicting its own summary.Evidence
TestDecodeKeysMarksBracketedPaste,TestHandleKeyIgnoresPasteOutsideInputs(replays the drop byte-for-byte),TestViewNamesTheFilterWhenItEmptiesTheTable,TestViewSnapsBackToTop.go test ./... -race, vet,golangci-lint0 issues,tools/parity.sh,bats tests/, darwin build.🤖 Generated with Claude Code