aboutsummaryrefslogtreecommitdiff
path: root/src/server/render_stream.rs
AgeCommit message (Collapse)Author
2026-09-16fix: keep remote surface updates incremental (#4209)Can Celik
refs #3769 refs #3745
2026-09-14fix: avoid resending terminal cells for metadata updates (#4137)Can Celik
2026-09-09fix: avoid full-screen copies for retained client updates (#3837)Can Celik
refs #3822
2026-09-02feat: support independent multi-client tab views (#3526)Can Celik
2026-09-01refactor: render the shell in the client (#3487)Can Celik
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations
2026-08-09test: guard pane-scaled render performanceOgulcan Celik
refs #2550
2026-07-28perf: replace agent spinners with static status marksOgulcan Celik
2026-07-25perf: avoid full pane renders for spinner animation (#1868)Can Celik
2026-07-24fix: preserve kitty graphics during host repaintsOgulcan Celik
refs #1628
2026-07-16refactor: extract active tab surface renderingOgulcan Celik
2026-07-15feat: add floating popup panesOgulcan Celik
refs #1125
2026-07-08fix: avoid render-time plain url scansOgulcan Celik
2026-07-06fix: preserve wrapped pane links (#1099)akbash
refs #1098 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-08fix: reduce scroll CPU in headless serverOgulcan Celik
refs #512
2026-06-08fix: improve windows pane behaviorOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-02perf: retain terminal render updatesOgulcan Celik
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-21fix: keep cjk ime agent allow-list safeOgulcan Celik
refs #149
2026-05-21feat(experimental): add reveal_hidden_cursor_for_cjk_ime opt-in for CJK IME ↵ChihGodlee
tracking When the focused pane requests ?25l (cursor hidden) but paints its own cursor — common in TUIs like Claude Code, pi, and codex — macOS native input methods stop tracking the candidate-window position. CJK users (Chinese / Japanese / Korean) cannot see candidate windows follow as they type. Setting [experimental] reveal_hidden_cursor_for_cjk_ime = true exposes the focused pane's cursor anchor to the outer terminal regardless of the pane's hidden-cursor request, restoring IME tracking for CJK input. [experimental] cjk_ime_agents is an optional allow-list. When empty, the reveal applies to any focused pane. When non-empty (e.g. ["claude", "codex"]), the reveal only applies if the focused pane's detected agent matches one of the listed names. This lets users enable the workaround only for AI-agent TUIs that paint their own cursor, leaving plain shells and other programs untouched. Accepted names: pi, claude, codex, gemini, cursor, cline, opencode, copilot, kimi, kiro, droid, amp, grok, hermes. Unknown names are ignored. When the pane reports no cursor position (cursor_state returns None for some TUIs), the anchor falls back to the pane's top-left so a stable IME hint is always available. [experimental] cjk_ime_cursor_shape (default "steady_block") controls the DECSCUSR shape rendered for the revealed cursor; six variants are accepted: block, steady_block, underline, steady_underline, bar, steady_bar. Trade-off when enabled: a hardware cursor will be visible in the outer terminal for apps that hide the cursor without painting a replacement. Default false preserves the behavior set in 2c95071. Pair the reveal with cjk_ime_agents to scope it to specific TUIs. Manually verified on macOS 26.5 aarch64 with system Pinyin IME against Claude Code: candidate window tracks cursor with flag enabled, returns to anchored-at-start behavior with flag disabled. refs #149
2026-05-17feat: add direct terminal attach streamOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-15fix: forward pane cursor shapeOgulcan Celik
fixes #116
2026-05-13feat: support kitty graphics in attached clientsOgulcan Celik
2026-05-12fix: omit cursor for mobile switcher overlayOgulcan Celik
2026-05-12fix: hide mobile switcher cursorOgulcan Celik
2026-05-11fix: hide pane cursor while scrolled backOgulcan Celik
2026-05-08refactor(server): extract headless render stream helpersOgulcan Celik