aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2026-08-28fix: ignore cursor events in claude hooks (#3342)Can Celik
refs #2832
2026-08-28fix: ignore codex weak blockers above the current prompt (#3339)Can Celik
refs #3301
2026-08-27feat(detect): add muse agent with generic Pick blocked detection (#2489)Ömer Hamid Kamışlı
* 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-25fix: require explicit workspace group close (#3206)akbash
refs #2874 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25fix(cli): accept reordered agent report arguments (#2928)akbash
refs #2926 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25fix: route osc 8 file links to plugin handlers (#2942)akbash
refs #2941 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25fix: keep wayland clipboard copies responsive (#3015)akbash
* 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-25fix: report agent explain file errors as json (#3023)akbash
refs #3022 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25fix: refresh shared agent manifest caches (#3204)akbash
refs #2711 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-24fix(graphics): batch kitty image row lifecycle (#3166)Can Celik
* 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-23fix: keep omp panes working through scheduled continuations (#3122)caner-akca
refs #2851
2026-08-23fix(api): start lifecycle subscriptions from live events (#3134)Can Celik
refs #1270
2026-08-23feat: add per-mode theme overrides (#2324)Alex
* 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-23fix(windows): preserve non-us shifted text (#3055)Can Celik
* fix(windows): preserve non-us shifted text refs #3045 * fix(windows): retain shifted key repeat lifecycle refs #3045
2026-08-22fix: clear Windows Terminal identity in panes (#3127)JJ Liebig
2026-08-22fix: copy selections before delayed mouse release (#3102)akbash
refs #3100 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-21fix: preserve focus after background worktree removal (#3099)akbash
2026-08-21fix: match generated characters in prefix bindings (#3085)Can Celik
refs #3079
2026-08-21fix: keep background Claude MCP tasks working (#3094)Can Celik
2026-08-21fix: preserve multiline paste in terminal attach (#3056)akbash
refs #3054 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-20fix(graphics): isolate oversized kitty images (#3035)akbash
* 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-20fix(windows): detect cursor bundled node process (#3034)akbash
* 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-20fix: add claude screen activity fallbacksOgulcan Celik
refs #1630 refs #2241
2026-08-20fix: synchronize plugin pane pwd (#2985)akbash
* 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-20fix: honor mouse capture config in terminal attach (#2995)akbash
refs #2992 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-20fix(input): preserve mouse forwarding through handoff (#3002)akbash
refs #3000 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-20fix: strip ansi sequences from tab bar status (#3003)akbash
* fix: strip ansi sequences from tab bar status refs #3001 * docs: clarify tab bar escape sequence scope refs #3001 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-19fix(cli): exit quietly when output pipes close (#2996)akbash
refs #2994 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-19fix(theme): keep active terminal row visible under cursor (#2989)akbash
refs #2987 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-19fix(perf): eliminate redundant terminal wake work (#2962)Can Celik
* fix(perf): eliminate redundant terminal wake work * fix(perf): harden release benchmark gate * test(perf): strengthen performance guardrails
2026-08-18feat: make Windows generally availableOgulcan Celik
2026-08-18fix: preserve macOS IME commits in report-all mode (#2947)Can Celik
2026-08-18fix: isolate hidden pane render cadence (#2892)akbash
refs #2890 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-18fix: reap ctrl-click url openers (#2906)akbash
* fix: reap ctrl-click url openers refs #2903 * fix: scope linux opener test import refs #2903 * test: isolate url opener regression refs #2903 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-17fix: sync powershell process working directory (#2879)JJ Liebig
2026-08-17fix: match Windows Ctrl+digit keybindings (#2913)Can Celik
refs #2910
2026-08-16fix(theme): skip host palette queries under wsl (#2852)Can Celik
refs #2440
2026-08-15fix(theme): keep default active rows subtle and add navigate cursor color ↵Can Celik
(#2838) refs #2792
2026-08-15feat: make headless terminal size configurable (#2829)Can Celik
refs #2828
2026-08-15fix(client): handle remote terminal hangup (#2827)Can Celik
refs #2424
2026-08-14fix: detect qwen localized active states (#2818)Can Celik
refs #2756
2026-08-14fix: use verified local packages for windows updates (#2816)JJ Liebig
refs #2751
2026-08-14fix: speed up alternate-screen history reads (#2426)Can Celik
refs #2387
2026-08-14fix: keep active sidebar rows visible (#2794)Can Celik
refs #2792
2026-08-14feat(cli): guide agents to Herdr resourcesOgulcan Celik
2026-08-14fix: reject prompts to blocked agents (#2790)akbash
* fix: reject prompts to blocked agents refs #2788 * docs: clarify agent prompt timing refs #2788 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-14fix: detect all claude half-circle spinner frames (#2762)akbash
refs #2760 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-14fix: wait for new pane shell readiness (#2774)akbash
* fix: wait for new pane shell readiness refs #2773 * refactor: share agent startup bounds refs #2773 * fix: reconcile agent names after startup timeout refs #2773 * fix: cover agent cleanup scheduling skew refs #2773 * fix: bound pane shell readiness retries refs #2773 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-13fix: keep tab and sidebar clicks when the terminal reports a stray drag (#2736)Michael Hackner
* fix: keep tab and sidebar clicks when the terminal reports a stray drag This works around a Ghostty bug that causes herdr tabs to be unclickable in fullscreen mode. Ghostty on macOS in native fullscreen emits one motion report after a fresh press in the strip where the menu bar reveals, with the row shifted to near the bottom of the grid. The cause is upstream: macOS delivers one mouse event whose y is nearly a window height away from the real pointer, and Ghostty reports it as it arrives (iTerm2 and Terminal.app report the same clicks correctly). Herdr treated the stray report as a real drag and lost the click two ways: it opened a tab reorder with no drop target, making the release a no-op, and it handed the release to the pane under the bogus coordinates. Now, a press on the tab bar or sidebar owns the gesture until release, and a tab drag only starts once the pointer is over a real drop target. refs #796 * fix: scope chrome mouse gestures to their input source * fix: preserve chrome drag input source * fix: preserve concurrent chrome presses --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-13fix(graphics): support high-dpi direct file frames (#2680)Can Celik