Commit Graph
113 Commits
Author SHA1 Message Date
Can Celik 6c0bb273d5 feat: support independent multi-client tab views (#3526) 2026-09-02 14:24:33 +03:00
Can Celik 207be3c771 refactor: render the shell in the client (#3487)
* 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-09-01 15:48:22 +03:00
Can Celik d2c317adc4 fix: keep active sidebar rows visible (#2794)
refs #2792
2026-08-14 05:01:12 +03:00
Can CelikandDavid Heinemeier Hansson e48d83067a feat: add configurable tab bar status (#2586)
* feat: show a zoom indicator in the desktop tab bar

Reserve the right edge of the tab row for a ZOOM pill while the
focused pane is zoomed, matching the accent style of the mode bars.
The per-tab Z suffix stays; the pill makes the zoomed state visible
at a glance like tmux's status-right flag.

* feat: optionally show the hostname in the desktop tab bar

Add ui.tab_bar_hostname to display the machine's hostname at the right
edge of the tab row, like tmux's #h in status-right. The value resolves
where the server renders, so remote sessions show the remote host. Off
by default.

* fix: strip control characters from the tab bar hostname

* fix: hide the hostname when it would squeeze out the tab strip

* feat: add configurable tab bar status

* fix: harden tab bar status updates

* fix: terminate tab bar status process trees

* fix: disable status commands on unsupported platforms

* fix: skip unchanged status command renders

* fix: keep tab bar status opt-in by default

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-08-10 01:20:09 +03:00
Can Celik 02fe7d7659 feat: support bottom tab bar placement (#2118)
* feat: support bottom tab bar placement

* fix: preserve mouse cleanup under bottom mode bar

refs #2117
2026-07-31 18:15:55 +03:00
Ogulcan Celik 81f355fada perf: replace agent spinners with static status marks 2026-07-28 14:56:53 +03:00
Can Celik 8843bbb0c4 fix: improve sidebar worktree hierarchy and reordering (#1873)
* fix: clarify sidebar worktree hierarchy

refs #1694

* feat: reorder worktree groups as a unit

refs #1694
2026-07-26 02:45:44 +03:00
Can Celik b01fc37e66 perf: avoid full pane renders for spinner animation (#1868) 2026-07-25 23:20:08 +03:00
Ogulcan Celik d30ab1b54f feat: add plugin-driven agent views and startup hooks 2026-07-20 00:55:36 +03:00
Ogulcan Celik 08409d167d fix: show current workspace name in close confirmation
refs #1364
2026-07-19 22:11:31 +03:00
Ogulcan Celik e298e45890 feat: add optional workspace name prompt 2026-07-18 01:55:46 +03:00
Ogulcan Celik 8dcb75a5c0 refactor: extract active tab surface rendering 2026-07-16 22:47:10 +03:00
Ogulcan Celik 2c7c8beb07 feat: add floating popup panes
refs #1125
2026-07-15 04:02:14 +03:00
Ogulcan Celik 5b91dae12f feat: configure sidebar entry gaps 2026-07-14 20:41:20 +03:00
Ogulcan Celik 5cfe5e5e73 feat: add configurable sidebar metadata tokens 2026-07-13 03:30:13 +03:00
Ogulcan Celik 3e8f9df14e fix: improve config diagnostic delivery 2026-07-10 17:28:31 +03:00
Ogulcan Celik c8850a2e3e feat: add copy mode search and tmux word motions
refs #1230
2026-07-10 04:22:10 +03:00
Ogulcan Celik 2a1a8d64de feat: hide single-tab tab row
refs #448
2026-06-30 14:10:12 +03:00
Ogulcan Celik f54d8e8c0a feat: add hidden collapsed sidebar mode
refs #842
2026-06-30 04:00:33 +03:00
Ogulcan Celik 32e3d7b7fd fix: compact indexed keybind help ranges
refs #817
2026-06-26 18:13:31 +03:00
Ogulcan Celik b44ca3b39e fix: measure ui labels by display width
refs #810
2026-06-26 14:11:27 +03:00
Ogulcan Celik 14d8e93391 feat: render worktrees as a tree in the mobile switcher 2026-06-25 23:36:31 +03:00
Ogulcan Celik 4421c0febb fix: add configurable pane gaps
refs #271
2026-06-21 14:03:59 +03:00
Ogulcan Celik 42ec722131 feat: gate kimi integration install behind minimum agent version 2026-06-10 20:12:05 +03:00
Ogulcan Celik 4001fd2ec8 feat: improve toast ergonomics
refs #486
2026-06-06 17:42:38 +03:00
Ogulcan Celik 6b3f646281 fix: use live workspace labels in navigator
refs #377
2026-06-04 23:29:08 +03:00
Turgay BulutandCan Celik 4db4ffad99 feat: add expanded sidebar collapse control (#291)
* feat: add expanded sidebar collapse control

refs #278

* fix: place sidebar collapse control inside content

refs #278

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-01 04:15:26 +03:00
Ogulcan Celik 389b61660f fix: unify update-ready release notes scrolling 2026-06-01 03:00:17 +03:00
Ogulcan Celik 8cf0e9b35b fix: confirm implicit worktree group close
refs #369
2026-05-31 21:18:40 +03:00
Ogulcan Celik bdc189e32e feat: support custom command descriptions
refs #362
2026-05-31 00:02:08 +03:00
Ogulcan Celik 324e625c60 fix: wrap update preview copy 2026-05-29 00:48:10 +03:00
Ogulcan Celik 7626a9adc8 feat: add pane copy mode
refs #231
2026-05-28 23:12:50 +03:00
kangal-bot 858c36974b feat: configure mobile width threshold (#317) 2026-05-27 15:09:31 +03:00
Ogulcan Celik 1b980eaa9d feat: show clipboard copy feedback 2026-05-26 15:50:06 +03:00
Ogulcan Celik 80a314a908 feat: add session navigator
refs #157
2026-05-24 02:59:39 +03:00
Ogulcan Celik 8d855cd9ef fix: use live cwd for workspace labels 2026-05-23 17:28:14 +03:00
Ogulcan Celik 0148c1379b feat: add git worktree workspace management
refs #137
2026-05-22 02:23:35 +03:00
Ogulcan Celik 1f2f939862 fix: keep notifications below floating overlays
refs #228
2026-05-21 21:27:20 +03:00
Ogulcan Celik 866aaf740e refactor: separate server client boundaries 2026-05-21 20:22:57 +03:00
Ogulcan Celik 836fd7e585 feat: add keybinding v2
refs #154
refs #201
refs #202
refs #219
2026-05-20 18:55:41 +03:00
Ogulcan Celik fb93e37475 feat: surface agent integrations in onboarding 2026-05-20 00:00:16 +03:00
Ogulcan Celik d2074b12f1 feat: add hosted product announcements 2026-05-19 23:06:48 +03:00
CHIH,GODLEEandOgulcan Celik 3189ede2b9 feat: configure sidebar min/max width via [ui] (#135)
* feat: configure sidebar min/max width via [ui]

Expose the previously hardcoded MIN_SIDEBAR_WIDTH / MAX_SIDEBAR_WIDTH
clamps as [ui] sidebar_min_width / sidebar_max_width. Defaults remain
18 / 36 so existing configs are unchanged. Hot-reload is wired through
the existing [ui] block; reload re-clamps the live width to the new
bounds so tightening takes effect immediately.

Reject inverted bounds (min > max) at every entry point so a bad config
can never reach u16::clamp(min, max), which panics: App::new falls back
to defaults, and apply_live_config treats the whole [ui] section as
invalid and returns a partial reload report.

refs #132

* test: keep sidebar reload width within bounds

refs #132

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-05-18 15:27:43 +03:00
Ogulcan Celik a36da363f1 refactor: extract terminal state and runtime from panes 2026-05-17 01:41:16 +03:00
Ogulcan Celik 8d4cc05be0 feat: add homebrew update handling
refs #127
2026-05-17 00:18:14 +03:00
Ogulcan Celik ed4253d603 feat: add tmux-style mouse capture config 2026-05-14 02:50:00 +03:00
Ogulcan Celik 4600309051 feat: support kitty graphics in attached clients 2026-05-13 14:15:26 +03:00
Ogulcan Celik fb9aff5408 feat: render kitty graphics in local panes 2026-05-13 14:15:26 +03:00
Ogulcan Celik 520f4272d0 feat: add agent cycling and tab wheel switching
fixes #92
2026-05-12 00:24:13 +03:00
Ogulcan Celik fe693f613a feat: add optional pane border labels 2026-05-11 23:34:20 +03:00