aboutsummaryrefslogtreecommitdiff
path: root/src/server
AgeCommit message (Collapse)Author
2026-05-26Add tmux-style double-click word copy (#296)Zack Drach
* feat: add tmux-style double-click copy Double-clicking terminal output now selects and copies the token under the cursor, similar to tmux. The copied token briefly stays highlighted as feedback, and token detection handles common shell output like paths, URLs, variables, CJK text, and surrounding punctuation. Mouse events are still forwarded unchanged when the child terminal has mouse reporting enabled. refs #142 * fix: tighten double-click copy refs #142 --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-25feat: gate live handoff behind explicit flagOgulcan Celik
2026-05-25feat: make focus-gain redraw configurableOgulcan Celik
refs #282
2026-05-25feat: hand off ptys during updatesOgulcan Celik
2026-05-24fix: support scrolling direct agent attachesOgulcan Celik
2026-05-24fix: avoid app event queue stallsOgulcan Celik
refs #265
2026-05-23feat: restore agent sessionsOgulcan Celik
refs #233
2026-05-23fix: preserve local keybindings in remote sessionsOgulcan Celik
2026-05-22feat: show named session command hintsGolden-Pigeon
refs #199
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-21feat: use local keybindings for remote attachOgulcan 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-20fix: support kitty unicode placeholdersOgulcan Celik
refs #136
2026-05-20fix: explain foreground server modeOgulcan Celik
2026-05-20fix: bridge remote clipboard image pasteOgulcan Celik
refs #205
2026-05-20fix: stop auto-opening release notes on startupOgulcan Celik
2026-05-19feat: add hosted product announcementsOgulcan Celik
2026-05-19feat: support hermes agent integrationOgulcan Celik
refs #144
2026-05-17feat: add selection autoscroll and fix stale selection on transitions (#129)leeeanh
When dragging to select text near pane edges, a 30ms recurring tick now continues scrolling and extending the selection while the mouse is idle. The autoscroll stops on MouseUp, key input, navigate action, cursor leaving the hot zone, scrollback boundary, missing metrics, or pane rect change. Also fixes pre-existing bugs where workspace/tab/pane transitions failed to clear selection state, which could cause stale selections to persist across views. Selection clearing on pane death is scoped to only the dying pane. Also fixes anchor_screen_pos returning pane-relative coordinates instead of screen coordinates, which caused false drag detection and spurious edge autoscroll on same-cell events when the pane has a non-zero origin. refs #128 Co-authored-by: leeanh <mac@macs-MacBook-Pro.local>
2026-05-17feat: add direct terminal attach streamOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-17feat: add homebrew update handlingOgulcan Celik
refs #127
2026-05-16feat: add hook-owned custom agent status labelsOgulcan Celik
2026-05-15fix: force redraw on terminal focus gainOgulcan Celik
2026-05-15fix: forward pane cursor shapeOgulcan Celik
fixes #116
2026-05-15feat: add system toast deliveryOgulcan Celik
2026-05-14fix: allow larger kitty graphics framesOgulcan Celik
2026-05-14feat: add tmux-style mouse capture configOgulcan Celik
2026-05-13fix: gate kitty graphics behind configOgulcan Celik
2026-05-13feat: support kitty graphics in attached clientsOgulcan Celik
2026-05-12test: add ime input regressionsOgulcan 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-11fix: drain client control messages during shutdownOgulcan Celik
2026-05-11fix: resize background tabs on terminal resizeOgulcan Celik
2026-05-11fix: stabilize integration agent state reportsOgulcan Celik
2026-05-10fix: make update server stop saferOgulcan Celik
2026-05-10fix: preflight running servers before updateOgulcan Celik
2026-05-09chore: enable clippy lintingOgulcan Celik
2026-05-09fix: refresh git status off the main loopOgulcan Celik
fixes #85
2026-05-09chore: remove unused headless cursor importOgulcan Celik
2026-05-08refactor(server): extract headless render stream helpersOgulcan Celik
2026-05-08refactor(server): split headless client transportOgulcan Celik
2026-05-08feat(remote): add network-efficient thin client transportOgulcan Celik
Add SSH stdio remote attach, negotiate terminal-ANSI render encoding, move blit encoding server-side for remote clients, and split control/render writer delivery for safer backpressure. Fixes #76
2026-05-07fix: preserve osc8 hyperlinks in client renderingOgulcan Celik
fixes #73
2026-05-02fix: anchor ime cursor to focused pane positionOgulcan Celik
2026-05-02fix: mark visible done panes seen on terminal focusOgulcan Celik