Commit Graph
1509 Commits
Author SHA1 Message Date
akbash 987b070fbf fix: stop treating claude background shells as working (#3468) 2026-09-02 18:00:44 +03:00
JJ Liebig da49cb8a9d fix: preserve mouse selection during pane output (#3538) 2026-09-02 16:20:01 +02:00
Can Celik d08e44686d fix(client): detach when terminal geometry is unavailable (#3531)
refs #3519
2026-09-02 16:09:19 +03: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 18e69891dc fix(windows): keep openssh mouse input draining (#3512)
refs #3459
2026-09-02 00:57:08 +02:00
akbashandakbash-bot 0032c3b427 fix(windows): preserve remote multiline paste (#3282)
refs #3209

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-02 00:02:25 +02:00
JJ Liebig 99c23cd1ea fix(windows): preserve native pane key identity (#3503) 2026-09-01 21:46:16 +02:00
HopkinsandJJ Liebig 98307c509e fix(build): guide users when zig is missing (#2281)
build.rs now reports how to install Zig 0.15.2 (brew install zig@0.15
on macOS, ziglang.org elsewhere) and mentions the ZIG environment
variable instead of panicking with a bare NotFound error.

Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-01 21:26:58 +02:00
JJ Liebig da8c7b05f9 fix(windows): recognize durable wmi daemon jobs (#3507) 2026-09-01 21:20:26 +02:00
JJ Liebig 5616196942 fix(windows): reject malformed process environments (#3500)
* fix(windows): reject malformed process environments

refs #3430

* fix(windows): validate registry environment strings

refs #3430

* fix(windows): preserve hidden environment variables

refs #3430
2026-09-01 21:14:22 +02:00
JJ Liebig e2b85c7361 fix(nix): fetch crates from static CDN (#3504)
refs #3505
2026-09-01 19:37:08 +03:00
JJ Liebig facf0aafca fix(windows): parse openssh mouse reports with physical escape (#3502)
* fix(windows): parse openssh mouse reports with physical escape

* fix(windows): require sgr mouse prefix

* fix(windows): preserve escape ordering and modifiers
2026-09-01 17:39:23 +02:00
Ogulcan Celik dbc398f580 test: allow slow documentation snapshot fixtures 2026-09-01 15:53:16 +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
Ogulcan Celik 8a6d697308 refactor: separate website presentation from runtime 2026-09-01 14:48:45 +03:00
Ogulcan Celik b54a78aa51 ci: trigger private website deploys 2026-09-01 13:22:45 +03:00
JJ Liebig 5158adab10 fix(windows): launch powershell agent shims with arguments (#3455) 2026-08-31 23:22:40 +02:00
JJ Liebig ef2674bab8 fix(windows): enable mouse reporting over openssh (#3461)
refs #2810
2026-08-31 21:22:56 +02:00
kangal-bot d2cb096166 docs: publish preview documentation 2026-08-31 16:26:43 +00:00
akbashandakbash-bot 69585b01d0 test: stabilize headless metadata expiry check (#3453)
refs #3451

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-31 18:18:51 +02:00
b1ff4582e9 fix(windows): detect pi bundled cli (#3207)
* fix(windows): detect pi bundled cli

refs #3205

* fix(windows): match exact pi cli paths

refs #3205

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
preview-2026-08-31-b1ff4582e968
2026-08-31 17:03:38 +02:00
JJ Liebig 0cbd1a5aa8 fix: make test-one work on Windows (#3442) 2026-08-31 14:56:35 +02:00
Ogulcan Celik 4dd9aa5ed4 ci: trigger ai reviews and add maintainer 2026-08-31 12:46:29 +03:00
Lane 2290257acb fix: detect copilot background agents as working (#3403)
refs #3291
2026-08-30 23:00:28 +03:00
akbashandakbash-bot 4a3b04f59b fix: encode antigravity windows hook command (#3352)
refs #3348

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-30 03:03:25 +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
caner-akca 03ce02e1a7 fix: reject oversized git ref files in workspace status reads (#3373)
* fix: reject oversized git ref files in workspace status reads

refs #3343

* fix: treat oversized loose refs as unavailable instead of absent

refs #3343

* fix: classify git ref read errors instead of probing path existence

A loose ref behind a metadata or I/O error (for example an unsearchable
refs/heads directory) previously read as absent, because Path::exists()
also returns false on metadata errors, letting a stale same-name
packed-refs OID enter the workspace status fingerprint. The reader now
classifies the open error itself: NotFound and NotADirectory mean the
loose ref is absent (packed-refs fallback stays legitimate), every other
error marks the ref unavailable with no fallback. This also removes the
racy second existence probe.

refs #3343

* fix: reject empty loose git refs

refs #3343

* fix: reject dangling loose git refs

refs #3343

* fix: reject dangling git refs with invalid target paths

refs #3343
2026-08-30 01:40:49 +03:00
caner-akca f807b69735 fix: detect claude mcp elicitation dialogs as blocked (#3383)
refs #3283
2026-08-30 01:18:16 +03:00
Can Celik c2637dc182 fix: handle associated text on special keys (#3350)
refs #3328
2026-08-29 00:06:44 +03:00
Alex 82e6a80eb3 fix: keep OSC evidence through first agent acquisition (#3326) 2026-08-28 22:18:53 +03:00
Can Celik 095f1337d6 fix: trust worktree repositories per request (#3344)
refs #3044
2026-08-28 18:25:07 +03:00
Ogulcan Celik 13a9f6402f ci: restrict release workflows to canonical repository 2026-08-28 18:05:29 +03:00
Can Celik c5051933f8 fix: ignore cursor events in claude hooks (#3342)
refs #2832
2026-08-28 18:03:07 +03:00
Can Celik f457cff4f2 fix: ignore codex weak blockers above the current prompt (#3339)
refs #3301
2026-08-28 17:04:39 +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 da5357d23f fix(cli): accept reordered agent report arguments (#2928)
refs #2926

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 22:38:14 +03:00
Ogulcan Celik 13df1da983 docs: move changelog curation to release prep 2026-08-25 22:19:02 +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
Can Celikandkataokatsuki 7d56b4c51b fix(graphics): batch kitty image row lifecycle (#3166)
* fix(graphics): coalesce terminal kitty placements

A Unicode-placeholder image arrives as one placement per viewport row it
covers, and after 624dfd47 the budgeted encoder emitted one placement per
frame, so every redraw painted images one row per frame.

* fix(graphics): coalesce only pure kitty re-displays

Keep pixel uploads and superseded-image deletes in a transaction of
their own: a placement joins the coalesced transaction only when its
image is uploaded and its source already maps to that image, and
nothing joins after an upload or a delete.

* fix(graphics): batch kitty image row lifecycle

---------

Co-authored-by: kataokatsuki <kataokatsuki@users.noreply.github.com>
2026-08-24 04:49:44 +03:00
Ogulcan Celik d6dae88345 fix: serve a google-eligible favicon 2026-08-23 03:44:56 +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
AlexandOgulcan Celik db6f301f13 feat: add per-mode theme overrides (#2324)
* feat: add per-mode theme overrides

allow [theme.custom.light] and [theme.custom.dark] blocks so custom
overrides can differ per resolved appearance when auto_switch flips.
precedence: theme defaults, then [theme.custom], then the block for
the active mode. configs without the new blocks resolve unchanged.

refs #837

* docs: complete per-mode theme documentation

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-23 00:18:56 +03:00