Commit Graph
928 Commits
Author SHA1 Message Date
Ogulcan Celik 0bc6fbae67 feat: render mobile switcher in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 3e721588ec feat: render release notes in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik e7981e3034 feat: render product announcements in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 3993385098 feat: render onboarding in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 2a77c88dd1 feat: render startup diagnostics in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 02a67220ff fix: preserve client worktree trust defaults 2026-09-01 15:39:57 +03:00
Ogulcan Celik 4b9508b9c9 feat: add client-owned scrollback and copy mode 2026-09-01 15:39:57 +03:00
Ogulcan Celik 91d6153dd2 feat: render popup terminals in client shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 7c1d16d00c feat: run client shell custom commands 2026-09-01 15:39:57 +03:00
Ogulcan Celik c07e2b8db4 feat: add client-owned shell settings and notifications 2026-09-01 15:39:57 +03:00
Ogulcan Celik 140dacd088 feat: complete client-owned shell chrome 2026-09-01 15:39:57 +03:00
Ogulcan Celik c68b37e4d5 feat: add client-owned shell mouse controls 2026-09-01 15:39:57 +03:00
Ogulcan Celik 05a17aa7a8 feat: add opt-in client-rendered shell 2026-09-01 15:39:57 +03:00
Ogulcan Celik 8a6d697308 refactor: separate website presentation from runtime 2026-09-01 14:48: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
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>
2026-08-31 17:03:38 +02: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
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
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
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
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
Can Celik 1d604329b0 fix(windows): preserve non-us shifted text (#3055)
* fix(windows): preserve non-us shifted text

refs #3045

* fix(windows): retain shifted key repeat lifecycle

refs #3045
2026-08-23 00:01:57 +03:00
JJ Liebig c714e4c20e fix: clear Windows Terminal identity in panes (#3127) 2026-08-22 23:34:38 +03:00
akbashandakbash-bot 1c76079f8b fix: copy selections before delayed mouse release (#3102)
refs #3100

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-22 01:52:03 +03:00
akbash 25e35f079e fix: preserve focus after background worktree removal (#3099) 2026-08-21 22:42:08 +03:00
Can Celik 2d5f91dd0c fix: match generated characters in prefix bindings (#3085)
refs #3079
2026-08-21 21:09:52 +03:00
Can Celik f72a5ef99e fix: keep background Claude MCP tasks working (#3094) 2026-08-21 21:05:22 +03:00
akbashandakbash-bot 8fe09d5ddf fix: preserve multiline paste in terminal attach (#3056)
refs #3054

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-21 15:16:43 +03:00
akbashandakbash-bot 624dfd4796 fix(graphics): isolate oversized kitty images (#3035)
* fix(graphics): isolate oversized kitty images

refs #3033

* fix(graphics): budget pane image cleanup

refs #3033

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-20 23:09:42 +03:00
akbashandakbash-bot 9d7b6c24c4 fix(windows): detect cursor bundled node process (#3034)
* fix(windows): detect cursor bundled node process

refs #3032

* docs: clarify cursor detection scope

* fix(windows): constrain cursor runtime detection

refs #3032

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-20 15:24:17 +03:00
Ogulcan Celik ffc4e26316 fix: add claude screen activity fallbacks
refs #1630
refs #2241
2026-08-20 03:52:59 +03:00
7d35ebe7c4 fix: synchronize plugin pane pwd (#2985)
* fix: synchronize plugin pane pwd

refs #2984

* refactor: isolate plugin pwd platform policy

refs #2984

* docs: fix changelog conflict resolution

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-20 02:29:43 +03:00