Commit Graph
450 Commits
Author SHA1 Message Date
Eric YueandJJ Liebig ab15da285e fix: require exact session names before deletion (#4233)
* fix: require exact session names before deletion

refs #3819

* test: isolate session deletion regression tests

refs #3819

---------

Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-16 14:41:41 +02:00
Can Celik d1a53b2c0e fix: keep local usable when remote machines stall (#4234)
refs #3903
2026-09-16 15:16:45 +03:00
Can Celik 266b8e3802 fix: preserve macos services across logout (#4202)
refs #4100
2026-09-15 21:37:49 +03:00
Can Celik 4428e1664d fix: preserve unloaded sessions before replacement (#4190)
refs #4125
2026-09-15 21:17:32 +03:00
akbashandakbash-bot 963f78f46c fix: preserve live selections during pane output (#4193)
refs #3841

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-15 16:20:51 +02:00
5e38e5fb5f fix: protect integration configs from failed writes (#3973)
* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

* fix: atomically write integration configs

refs #3970

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-14 22:13:52 +02:00
Can Celik 03749ae397 fix: default pane splits to the calling pane (#4123) 2026-09-14 18:16:13 +03:00
Can Celik c77af1892f fix: clean up idle ssh bridges and back off flapping connections (#4083)
* fix: clean up idle ssh bridges and back off flapping connections

* chore: keep ssh liveness smoke tooling local
2026-09-14 03:55:53 +03:00
Can Celik 21c1f8cf85 fix: hide only kitty image placements overlapping overlays (#4081) 2026-09-14 03:02:14 +03:00
3b478e69dc fix: scope agent views to the selected machine (#3784)
* fix: scope agent views to the selected machine

refs #3732

* fix: preserve stable agent view ordering

refs #3732

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-14 02:11:07 +04:00
Can Celik f8e59221cb feat: add ctrl-hover highlighting and fix wrapped links (#4074)
refs #1282
2026-09-13 23:05:30 +03:00
JJ Liebig 5916765845 feat: install windows remote host packages (#3687)
* feat: install windows remote host packages

refs #3651

* docs: clarify windows saved reconnect package behavior

refs #3651

* fix: include windows installer in nix sources

refs #3651

* fix: preserve paths in windows scp transfers

refs #3651

* refactor: isolate windows remote package setup

refs #3651
2026-09-13 22:19:20 +03:00
Can CelikandCameron fc1cb77f05 feat: add Letta Code detection and restore (#3107)
refs #3106

Co-authored-by: Cameron <cameron@pfiffer.org>
2026-09-13 17:36:47 +02:00
a5e1c94157 fix: restrict claude session hooks to native sources (#4046)
refs #4018

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13 15:04:22 +02:00
Can Celik fc44f61a10 fix: disconnect stalled terminal observers (#4039) 2026-09-13 13:47:53 +03:00
akbashandakbash-bot aa6b531a42 fix: update grok session after new (#2683)
* fix: update grok session after new

refs #2681

* fix: avoid powershell args shadowing

refs #2681

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-13 02:04:27 +02:00
Mark JaquithandJonathan Liebig fb5525fc22 fix: opencode v2 lifecycle reporting (#3757)
* fix: support opencode v2 lifecycle reporting

* fix: repair Japanese docs

* fix: ignore payload-less OpenCode events

* fix: harden opencode v2 integration install and reporting

Follow-ups on top of the V2 lifecycle support:

- create `cli.json` when OpenCode has no V1 TUI preferences (`tui.json` or
  `kv.json`) to migrate, instead of only registering into an existing file
- settle stalled socket attempts with a plain connect timer, and resend the
  latest lifecycle state after a failed delivery so the pane cannot get stuck
- resolve the OpenCode state directory from `XDG_STATE_HOME`
- remove the managed `herdr-opencode` directory on uninstall
- document failed executions reporting `blocked`, keep the integration test
  environment independent of an inherited `XDG_STATE_HOME`, and simplify
  `reconcileBlockers` to reassign its map

---------

Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-11 22:36:18 +02:00
Can Celik a0474ae770 fix: preserve whole-word selection while dragging (#3969)
refs #1836
2026-09-11 22:58:01 +03:00
JJ Liebig 871ff8b91f fix: flush Windows Codex paste burst before prompt submit (#3961)
Codex's Windows input reader does not surface bracketed paste. It buffers
the prompt as a paste burst and rewrites a following Enter into a newline
until the burst idles out, so the previous size-based delay only reduced
the chance of losing the submit. Append a non-character key after the
paste so Codex flushes the burst synchronously, giving every prompt a
deterministic submit boundary.

refs #3187
2026-09-11 17:04:06 +02:00
Can Celik 5827145940 feat: support conditional sidebar token hiding (#3925) 2026-09-11 00:55:19 +03:00
Can Celik 043b804c44 feat: route cli commands to saved ssh machines (#3918) 2026-09-10 23:33:27 +03:00
Can Celik 1682cab326 fix: restore plugin focus events for client navigation (#3850)
refs #3824
2026-09-09 22:04:47 +03:00
b9ce96869e feat: navigate and highlight workspaces across machines (#3755)
* fix: highlight workspace navigation with saved machines

refs #3754

* feat: navigate workspaces across connected machines

refs #3754

* feat: navigate workspaces across machines

refs #3754

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-09 02:35:31 +03:00
JJ LiebigandOgulcan Celik 8996fc54fe fix: support preinstalled windows remote hosts (#3661)
* fix: support windows hosts in saved ssh machines

refs #3651

* fix: keep windows ssh bridge writes blocking

refs #3651

* fix: close saved windows ssh bootstrap input

refs #3651

* refactor: simplify remote bridge helpers

refs #3651

* refactor: isolate remote bridge platform behavior

refs #3651

* fix: close captured ssh input under windows consoles

refs #3651

* test: remove redundant remote command assertions

refs #3651

refs #3701

* test: handle framed ssh commands in machine setup

refs #3651

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-09 00:08:42 +03:00
68c7b78ec2 fix: collapse worktree groups with saved machines (#3781)
* fix: collapse worktree groups with saved machines

refs #3778

* fix: scope worktree collapse by machine

refs #3778

* fix: collapse machines without switching focus

refs #3778

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-08 17:51:59 +03:00
Ogulcan Celik b99002ac99 release: v0.9.0 2026-09-07 22:12:53 +03:00
Ogulcan Celik 9be481fea6 docs: prepare 0.9.0 release documentation 2026-09-07 22:04:55 +03:00
Ogulcan Celik 702aa1e455 fix: require explicit consent for remote server replacement 2026-09-07 19:33:11 +03:00
4828181304 feat: make ui.pane_borders a three-state auto/always/off mode (#3234)
* feat: make ui.pane_borders a three-state auto/always/off mode

Legacy booleans keep parsing (true = auto, false = off); "always" frames
a lone pane while pane_outer_borders is enabled.

* fix: align pane border reload test and documentation

---------

Co-authored-by: Rudolf Schmidt <me@rudionrails.com>
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-07 14:04:54 +02:00
Can Celik c7b79294e2 feat: add conditional styles for sidebar tokens (#3693) 2026-09-06 23:44:15 +03:00
Can Celik 9e9bc8a144 feat: manage multiple ssh machines from one client (#3670) 2026-09-06 02:27:06 +03:00
JJ LiebigandCan Celik 8162e26509 fix(windows): use active release directory on PATH (#3618)
* fix(windows): use active release directory on PATH

refs #3611

* fix(windows): expand variables in PATH comparisons

refs #3611

* fix(windows): restrict installer channel detection

refs #3611

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-09-05 01:47:00 +03:00
Ogulcan Celik a2b128978a feat: enable kitty graphics by default 2026-09-04 21:59:13 +03:00
JJ Liebig 3150bd92d6 fix(integration): resolve Devin config on Windows (#3595)
refs #2724
2026-09-04 01:05:35 +02:00
JJ Liebig 8633a398e6 fix: reliably submit delayed agent prompts (#3506) 2026-09-02 13:34:03 +02:00
Can Celik 6c0bb273d5 feat: support independent multi-client tab views (#3526) 2026-09-02 14:24:33 +03:00
Can Celik cc88b3b8e5 feat: add stable client endpoint compatibility (#3509)
* feat: add stable client endpoint compatibility

* fix: keep portable-pty patch checks composable

* ci: run maintenance checks in pull requests

* fix: reject endpoint errors from terminal clients

* feat: keep compatible servers running across updates
2026-09-02 02:45:20 +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
Can Celik 095f1337d6 fix: trust worktree repositories per request (#3344)
refs #3044
2026-08-28 18:25:07 +03:00
Can Celik c5051933f8 fix: ignore cursor events in claude hooks (#3342)
refs #2832
2026-08-28 18:03:07 +03:00
7b675f42af feat(detect): add muse agent with generic Pick blocked detection (#2489)
* feat(detect): add muse agent with generic Pick blocked detection

Add Muse agent manifests and runtime detection for idle/working/blocked
states. Blocked Pick is generic on footer 'Enter to select' so any
question title/message triggers, fixing missed waiting answer where
previous AND-gated rule required specific hint combos. Cover process
names muse, muse-bin, muse-code variants and YOLO footer.

refs #herdr

* fix(detect): tighten muse manifest and agent lookup

- manifests: change working_esc_interrupt and blocked_approval
  from whole_recent to bottom_non_empty_lines(8) to use captured
  bottom-buffer controls instead of incidental whole-pane text
- manifests: anchor idle_prompt line_regex to ^\s*⟩\s*$ so working
  chrome "⟩ ..." does not match idle
- runtime: restrict muse lookup to explicit aliases
  (muse|muse-bin|muse-code|muse-cli), remove starts_with("muse")
  fallback that misclassified museum/muse-helper/muser; add
  positive/negative identification tests
- keep website mirror identical; verified with agent_detection
  manifest check --require-website

refs #2489
refs #2456

* fix(detect): address mjdouglas vendor findings for muse

- manifests: widen pick_request_blocked to bottom_non_empty_lines(8) and add
  Enter to toggle for multi-select; add menu_request_blocked for user-opened
  pickers (enter confirm/esc go back/esc close/space toggle); add
  workspace_trust_blocked for Do you trust dialog; tighten blocked_approval
  to footer chrome Allow once/Always allow/Yes proceed; split idle_prompt
  into any gate for empty and typed draft and not-gate pick/menu anchors;
  change idle_status_fallback from YOLO to model \u00b7 effort \u00b7 cwd shape
- runtime: replace bare muse-bin alias with muse-bin-<version> digit check
  to match versioned launcher binary and avoid museum/muse-binary false
  positives
- cross-checked with vendor-side captures reported on PR #2489 against
  strings in shipped muse-bin binary

refs #2489

* fix(detect): handle path-qualified muse-bin versioned binary

lookup_agent now uses path_basename before matching so a launcher
exec with absolute argv0 like /usr/local/lib/muse/muse-bin-0.1.0-R708.1
is correctly identified. is_muse_versioned_binary also checks basename
so direct path-qualified names succeed without relying on the
argv0_argv fallback path. Prevents missed Muse detection when screen
state and sound overrides are not applied.

refs #2489

* fix(detect): add enter save to muse menu detection

Evidence documents /theme with enter save footer which was not
matched. Add enter save to menu_request_blocked any list and to
idle_prompt not-gate (highlighted row ⟩ <choice> shares glyph) and
keep website mirror in sync. Update evidence comment counts from
four to five.

refs #2489

* docs: add Muse to supported agents table

Muse detection (manifest, process identification, sound)
was added earlier but docs/next agents table omitted the row.
Add Muse as screen manifest / none (no integration hook,
consistent with Amp/Kiro/Maki) to en/ja/zh-cn translations.

* fix(detect): resize agent arrays for new upstream variant

Agent::ALL and SCREEN_MANIFEST_AGENTS gained an entry from master
but kept stale size annotations, breaking compilation after rebase.

refs #2489

* docs: add muse detection entry to next changelog

refs #2489

* docs: add muse sound override to config reference

refs #2489

* fix(detect): prevent false muse blocked states

refs #2489

---------

Co-authored-by: Omer Hamid Kamisli <ohkamisli@poikus.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-27 14:30:24 +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
akbashandakbash-bot 9ff467bda4 fix: route osc 8 file links to plugin handlers (#2942)
refs #2941

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 22:02:37 +03:00
6e8b138d0f fix: keep wayland clipboard copies responsive (#3015)
* fix: keep wayland clipboard copies responsive

refs #3014

* fix: preserve clipboard fallback after wl-copy failure

refs #3014

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-25 02:59:57 +03:00
akbashandakbash-bot 0e548bcf72 fix: report agent explain file errors as json (#3023)
refs #3022

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 01:44:10 +03:00
akbashandakbash-bot cafd9e5dd0 fix: refresh shared agent manifest caches (#3204)
refs #2711

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 01:08:36 +03:00
caner-akca 2bbb7c9172 fix: keep omp panes working through scheduled continuations (#3122)
refs #2851
2026-08-23 02:19:22 +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 c9601b9396 fix(windows): add local cmd installer bootstrap (#3133)
* fix(windows): add local cmd installer bootstrap

refs #2751

* fix(windows): bound installer downloads

refs #2751
2026-08-23 00:37:31 +03:00