71 Commits
Author SHA1 Message Date
Can Celik c4653a4f10 fix: keep the server running on hangup and log why it stops (#4965) 2026-10-05 19:21:31 +03:00
Kataoka Katsukiandkataokatsuki bce28752ad test: isolate integration subprocesses from pane env (#4929)
* test: isolate integration subprocesses from pane env

refs #4928

* test: cover pane env isolation for spawned servers

refs #4928

---------

Co-authored-by: kataokatsuki <kataokatsuki@users.noreply.github.com>
2026-10-04 15:49:07 +02:00
Can CelikandJonathan Liebig e7d8220788 fix: preserve sessions after interrupted pane exits (#3418)
* fix: preserve sessions when pane shells are signaled

refs #3415

* fix: preserve shutdown checkpoints across platforms

refs #3415

---------

Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-07 15:14:46 +02:00
JJ Liebig 50ce4ec2dd fix: run the full applicable test suite on windows (#3660)
* fix: run the full applicable test suite on windows

* test: remove redundant test shell assignment

* test: make endpoint and metadata fixtures deterministic

* test: tolerate exited servers during windows probe cleanup
2026-09-05 21:39:32 +03:00
JJ Liebig 99c23cd1ea fix(windows): preserve native pane key identity (#3503) 2026-09-01 21:46:16 +02: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
caner-akca 3a3792622e fix: report the foreground group leader's cwd, not a descendant's (#3386)
refs #3270
2026-08-30 03:02:22 +03:00
akbashandakbash-bot d79fd746a9 fix: require explicit workspace group close (#3206)
refs #2874

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 23:44:56 +03:00
Can Celik 20a500a7f3 fix(api): start lifecycle subscriptions from live events (#3134)
refs #1270
2026-08-23 02:01:24 +03:00
Can Celik 15539d3dec feat: make headless terminal size configurable (#2829)
refs #2828
2026-08-15 15:09:53 +03:00
akbashandakbash-bot 6f311498ae fix: forward pane terminal bells (#2498)
refs #2453

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-08 02:15:56 +03:00
Can CelikandJonathan Liebig b76adc155d fix(input): preserve native key lifecycle across routing (#2142)
refs #2077

Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-08-01 04:27:50 +03:00
Ogulcan Celik e608a75159 fix: make known-agent exit process-owned
refs #1792
refs #1648
2026-07-24 02:50:58 +03:00
Ogulcan Celik e7fc85bfdb fix: preserve kitty printable key releases
refs #1746
2026-07-23 03:47:44 +03:00
Ogulcan Celik a02c3a69bb refactor: centralize new terminal cwd selection
replaces contributions from Pitchfork-and-Torch
2026-07-22 22:41:01 +03:00
Ogulcan Celik 3f80947678 feat: make agent automation a first-class cli primitive 2026-07-19 23:56:07 +03:00
Ogulcan Celik e0758c3211 feat: harden named agent cli workflows
refs #1525
2026-07-17 23:59:56 +03:00
Ogulcan Celik 550e9f8cc0 fix: follow foreground process group leader cwd
refs #1472
2026-07-16 23:13:41 +03:00
Ogulcan Celik 80d2958aba fix(linux): scope foreground process discovery to panes
refs #1399
2026-07-14 23:40:35 +03:00
Ogulcan Celik 5cfe5e5e73 feat: add configurable sidebar metadata tokens 2026-07-13 03:30:13 +03:00
Pitchfork-and-Torch 4f7fcc48d1 fix: follow foreground cwd for new terminals
refs #1245
2026-07-10 15:06:54 +03:00
ppggffandOgulcan Celik 2bc1724c2d fix: switch prefix ASCII input source on the foreground client (#1016)
* fix: switch prefix ASCII input source on the foreground client

The macOS prefix ASCII-switch ran in the headless server, whose
TISCopyCurrentKeyboardInputSource read is a stale per-process cache
(refreshed only via a main-run-loop notification the server never pumps),
so prefix could leave the terminal on the wrong input source.

Forward it to the foreground client, like clipboard: sync_prefix_input_source
emits AppEvent::PrefixInputSource as an intent; the server forwards it to the
foreground client and the monolithic app applies it in-process via
RealPrefixInputSource, which pumps its main run loop before the stale TIS read.
Key it on Mode::wants_ascii_input so multi-level prefix commands keep ASCII
until returning to the terminal, and restore the IME for rename text entry.

Adds ServerMessage::PrefixInputSource to the already-unreleased protocol 15.

refs #774

* fix: keep prefix input-source switch out of the headless server process

An App-internal drain (the exhaustive drain at the top of
handle_api_request, reachable from prefix-key runtime mutations) can
consume a queued PrefixInputSource intent before the server's
forwarding drain sees it, applying the TIS switch in the headless
server process and stranding the restore state. Gate the in-process
switch on App.local_input_source_switch, disabled by the headless
server alongside the other local side effects, so a swallowed intent
degrades to a skipped switch. Widen the forwarding-bypass maintenance
test to the handle_internal_event_with_prefix_sync wrapper.

refs #774

* docs: clarify prefix input-source comments and flag docs

refs #774

* fix: bump protocol for prefix input source

refs #774

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-05 03:25:47 +03:00
Ogulcan Celik 8b74fb8a12 feat: emit placement mutation events 2026-06-29 20:39:54 +03:00
Ogulcan Celik fbd20ad6e4 feat: add plugin v1 system
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs.

Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
2026-06-14 03:47:07 +03:00
Ogulcan Celik d35c642ef3 feat: add pane move api and cli
refs #299
2026-06-13 01:59:24 +03:00
Ogulcan Celik f7a7da03fc fix: stabilize public pane and tab ids
refs #569
2026-06-12 19:10:09 +03:00
Ogulcan Celik 36a1b7f864 feat: distribute agent detection manifests 2026-06-10 15:33:45 +03:00
Ogulcan Celik ee51c5e5fb feat: use pty-first agent detection 2026-06-09 04:26:19 +03:00
Ogulcan Celik 4001fd2ec8 feat: improve toast ergonomics
refs #486
2026-06-06 17:42:38 +03:00
Ogulcan Celik fc4e1bbf6b perf: reduce sidebar git polling overhead
refs #353
2026-05-30 23:58:34 +03:00
Ogulcan Celik 8c6a9e1f65 fix: cfg linux-only api test helpers 2026-05-29 21:03:39 +03:00
Ogulcan Celik 9e302984cc feat: expose foreground cwd in pane info
refs #345
2026-05-29 20:38:55 +03:00
Ogulcan Celik 2d8b4e2db4 feat: expose agent session refs in api 2026-05-28 05:06:27 +03:00
Ogulcan Celik 427c2606d8 fix: deliver agent status subscriptions from event hub 2026-05-26 21:53:50 +03:00
Ogulcan Celik 3750e0bae2 feat: add pane metadata reporting
refs #36
2026-05-26 17:10:28 +03:00
kangal-botandkangal-bot 33e71ed2f5 fix: emit matching agent status subscriptions (#295)
refs #288

Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-26 01:35:28 +03:00
Ogulcan Celik 420925d141 fix: support scrolling direct agent attaches 2026-05-24 21:30:04 +03:00
Ogulcan Celik 9817820af1 feat: add worktree cli and socket api 2026-05-23 15:19:36 +03:00
Ogulcan Celik 06bcd06a17 feat: use local keybindings for remote attach 2026-05-21 15:17:37 +03:00
Ogulcan Celik d1576ade07 test: stabilize done agent status api test 2026-05-21 03:03:22 +03:00
Ogulcan Celik ed478be983 fix: bridge remote clipboard image paste
refs #205
2026-05-20 02:51:59 +03:00
Ogulcan Celik e7f94a3f35 feat: support hermes agent integration
refs #144
2026-05-19 00:26:05 +03:00
Ogulcan Celik f7fe0f203e fix: polish terminal-core agent semantics 2026-05-17 01:41:17 +03:00
Ogulcan Celik e4de58b37f feat: add agent start for server-owned terminals 2026-05-17 01:41:16 +03:00
Ogulcan Celik 86adf88351 feat: add terminal identity and agent cli facade 2026-05-17 01:41:16 +03:00
Ogulcan Celik 73dba97521 fix: forward pane cursor shape
fixes #116
2026-05-15 20:53:55 +03:00
Ogulcan Celik f7b6467afe test: update api ping protocol version 2026-05-13 14:40:00 +03:00
Ogulcan Celik 8375922c06 ci: run checks on macos 2026-05-12 15:05:36 +03:00
Ogulcan Celik 793f127e54 feat(remote): add network-efficient thin client transport
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-08 22:20:04 +03:00
Ogulcan Celik b0aa7b2cdd fix: preserve osc8 hyperlinks in client rendering
fixes #73
2026-05-07 21:48:50 +03:00