Repository navigation
fork: carry perf, sidebar toggle, OSC 22, bench and version patches on upstream v0.9.3 - #3
Merged
Merged
Conversation
Version::parse rejected the fork's 0.8.0-graphics.N Cargo version, so Version::current() panicked during plugin manifest validation and the server died at startup (silently, since the daemon's stderr goes to /dev/null). Strip pre-release/build metadata before parsing. Claude-Session: https://claude.ai/code/session_01BiqNLZmPTaFBipDdZVe3D3 (cherry picked from commit e930c6a)
Claude-Session: https://claude.ai/code/session_01PhjPW9BYZaJtCuScY6pzdM (cherry picked from commit dd536e0)
Port of e3aa761 onto the upstream upload and transport split. - kitty_graphics: write_kitty_upload deflates raw RGB/RGBA inline uploads (o=z) when that shrinks them; PNG, small and incompressible payloads stay raw. The temp-file path keeps raw pixels for Ghostty. - client: server readers feed a dedicated two-slot channel consumed by the last arm of the biased Unix select (events::next_loop_event), so frame bursts block the reader and the server's render slot instead of queueing ahead of keystrokes. Windows keeps its existing channels. Claude-Session: https://claude.ai/code/session_01ApRKSwFTijvcbtt8EG9Erx (cherry picked from commit cab7a8a)
… toggle cli fork-local: upstream keeps sidebar state in the client, so the server forwards the toggle to the foreground client as an endpoint control and the client runs the same path as the toggle_sidebar keybinding Claude-Session: https://claude.ai/code/session_01ApRKSwFTijvcbtt8EG9Erx (cherry picked from commit ebdf55f)
Forward each pane's latest OSC 22 shape to client shells as an endpoint.pane-pointer-shape.v1 control, seed newly connected shells with the current shapes, and let the client resolve the hovered pane on every mouse move so the host cursor only changes when needed. The shape resets outside panes, outside terminal mode, when the endpoint is lost and on terminal restore. Claude-Session: https://claude.ai/code/session_01ApRKSwFTijvcbtt8EG9Erx (cherry picked from commit cca140a)
When a pane enables SGR-pixels (1016) and the host sends a cell position, size the encoder from the terminal's pixel dimensions and encode the cell's centre in surface pixels instead of downgrading to plain SGR cell numbers. Pixel input and panes without 1016 are unchanged; the SGR downgrade remains only when the terminal has no pixel dimensions. Refs herdrdev#4750.
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.
Commits 1-5 produce a tree identical to the tested merge branch
patt/perf-graphics-upstream-2026-10-05(cca140a);git diff 98d96faf patt/perf-graphics-upstream-2026-10-05is empty. Commit 6 re-ports the SGR-pixels fix on top after an adversarial review found upstream only fixed the focused-pane case (herdrdev#4750); targetedpane::tests (383) and clippy pass.e3aa7611perf: kitty graphics input lag8048026bdd536e00bench: input-latency harness36e66991e930c6a1fix: pre-release version parsing62e901d0aef49f7dfeat:ui.sidebar.toggle86c7782bclient.sidebar.toggle; the server no longer owns sidebar state after herdrdev#3487ae7575ebfeat: OSC 22 pointer shapes98d96faf21511f34fix: SGR-pixels coordinates21e7b5b3fa653722,40a856ec,0f0aa005,134c42fbv0.8.0-graphics.Nbumpsgit range-diff 346411f..patt/perf-graphics master..patt/patches
https://claude.ai/code/session_01ApRKSwFTijvcbtt8EG9Erx