649 Commits

Author SHA1 Message Date
Ogulcan Celik 4219aec638 fix: update nix release hash v0.6.5 2026-05-29 21:50:53 +03:00
Ogulcan Celik 20e26271c9 release: v0.6.5 2026-05-29 21:41:57 +03:00
Ogulcan Celik faaddfe18d docs: finalize release docs 2026-05-29 21:35:16 +03:00
Ogulcan Celik 8c6a9e1f65 fix: cfg linux-only api test helpers 2026-05-29 21:03:39 +03:00
Ogulcan Celik 1f2b0f71b5 fix: keep restored agent panes after exit 2026-05-29 21:01:03 +03:00
Ogulcan Celik 9e302984cc feat: expose foreground cwd in pane info
refs #345
2026-05-29 20:38:55 +03:00
Ogulcan Celik 77242943ba fix: keep split host color replies out of panes
refs #344

refs #279
2026-05-29 19:48:55 +03:00
Ogulcan Celik 324e625c60 fix: wrap update preview copy 2026-05-29 00:48:10 +03:00
Ogulcan Celik 1bb2676388 fix: clarify gh star prompt 2026-05-29 00:43:25 +03:00
Ogulcan Celik f4f17803c6 fix: prefer osc52 clipboard writes in wsl
refs #333
2026-05-28 23:23:18 +03:00
Ogulcan Celik 7626a9adc8 feat: add pane copy mode
refs #231
2026-05-28 23:12:50 +03:00
Ogulcan Celik 28222b2089 fix: use live workspace labels in notifications
refs #332
2026-05-28 15:23:04 +03:00
Coder Wayne a90c90aa4a docs: align qodercli naming and surface Qoder CLI brand on homepage (#331) 2026-05-28 12:30:08 +03:00
Ogulcan Celik 2d8b4e2db4 feat: expose agent session refs in api 2026-05-28 05:06:27 +03:00
Ogulcan Celik 986e4a1776 fix: clamp session socket timeouts 2026-05-28 05:03:38 +03:00
Ogulcan Celik 37bdff5bbe fix: seed workspace rename from live cwd 2026-05-28 04:51:05 +03:00
Ogulcan Celik 67e48c0cc9 fix: route terminal replies outside pane input
refs #306
2026-05-28 04:50:28 +03:00
Ogulcan Celik bf9cc20124 fix: preserve live handoff terminal state 2026-05-28 04:12:53 +03:00
Ogulcan Celik 789738cada docs: mark live handoff experimental 2026-05-27 22:59:22 +03:00
Ogulcan Celik 5ee6235bce fix: gate releases on nix flake checks 2026-05-27 22:07:46 +03:00
github-actions[bot] 1e7095b4a9 docs: update website manifest for v0.6.4 2026-05-27 18:42:34 +00:00
Ogulcan Celik 8180d76b30 release: v0.6.4 v0.6.4 2026-05-27 21:37:18 +03:00
Ogulcan Celik 8e7317e223 fix: raise macos server fd limit
refs #327
2026-05-27 21:36:26 +03:00
Ogulcan Celik 3325304f89 ci: fix build checks and mobile nav 2026-05-27 21:16:16 +03:00
Ogulcan Celik 7ebc72f3f5 feat: add website release notes 2026-05-27 20:51:48 +03:00
github-actions[bot] 4ec4d56fcf docs: update website manifest for v0.6.3 2026-05-27 15:54:30 +00:00
Ogulcan Celik 8d8eac3f85 release: v0.6.3 v0.6.3 2026-05-27 18:49:33 +03:00
Ogulcan Celik 61ee25e89e docs: finalize next release docs 2026-05-27 18:41:34 +03:00
Ogulcan Celik b56eeb991e fix: release opencode integration on dispose
refs #314
2026-05-27 18:06:20 +03:00
Ogulcan Celik d205725449 docs: add qoder support docs 2026-05-27 17:51:09 +03:00
Coder Wayne bfb9e756a0 feat: add Qoder CLI integration (#309)
* feat: add qodercli agent integration

Recognize qodercli as an agent in herdr panes, with basic Idle/Working/
Blocked screen-state detection mirroring the existing claude / codex
patterns. Adds an IntegrationTarget::Qodercli variant, install_target
wiring for shell hooks under src/integration/assets/qodercli/, the
herdr integration install qodercli CLI surface, and sound-override
coverage so qodercli notifications follow the same routing rules as
other agents.

refs #308

* fix: detect qodercli permission required as blocked

refs #308

* fix: detect qodercli ask-user prompt as blocked

refs #308

* refactor: extract has_qodercli_blocked_prompt helper aligning detect_claude

refs #308

* fix: tighten qodercli working state detection

Combine spinner-row strictness and explicit cancel-hint matching, and
stop matching the bare word 'working'. This avoids false positives when
narrative output (logs, commit messages, Markdown) contains the word
'working' or when a stale braille glyph is sitting in the scrollback
from a previous frame.

- has_qodercli_spinner_row: require row-start braille glyph + space +
  alphabetic char so only an active spinner row triggers Working.
- has_qodercli_working_hint: match '(esc to cancel,' as a positive
  signal that survives spinner masking (e.g. when a hook icon replaces
  the spinner glyph).

refs #308

* fix: short-circuit qodercli press-again banners to idle

refs #308

* fix: detect qodercli AskUser dialog by its 'Asking User' title

refs #308

* feat: recognize qodercli, qoderclicn, qoder, qodercn process names

Map qodercli, qoderclicn, qoder, and qodercn process names all to the
Qodercli agent. Covers both international (qodercli/qoder) and CN
(qoderclicn/qodercn) Qoder CLI binary names.

refs #308

* feat: register qodercli hook in qoder settings.json with stdin payload

Address the integration-layer feedback on #308:

- `herdr integration install qodercli` now writes the bundled hook into
  ~/.qoder/hooks/herdr-agent-state.sh AND registers it in
  ~/.qoder/settings.json under the schema documented at
  https://docs.qoder.com/zh/cli/hooks (and confirmed against the
  packages/core/src/hooks/types.ts type definitions in qodercli's own
  source tree). The hooks object is keyed by event name —
  SessionStart / UserPromptSubmit / PreToolUse / PermissionRequest /
  Stop / SessionEnd — with each entry holding a matcher and a list of
  `{ type: "command", command, timeout }` invocations, mirroring how
  install_claude already wires claude code's settings.json.
- The bundled assets/qodercli/herdr-agent-state.sh now reads the hook
  payload from stdin (per HookInput in qodercli's types.ts:
  session_id, transcript_path, cwd, hook_event_name, agent_id, ...).
  No environment variable is consulted to identify the event;
  SubagentStop and subagent release events return early so a recap or
  away-summary frame cannot revive an idle pane, mirroring
  assets/claude/herdr-agent-state.sh.
- uninstall_qodercli reverses the same set of entries while preserving
  any foreign hook entries the user may have configured by hand.
- Tests cover write / idempotency / uninstall-preserves-others and
  lock the stdin contract via a bundled-asset assertion.

refs #308

---------

Co-authored-by: coderwayne <jlu1318079810@163.com>
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-27 17:42:26 +03:00
kangal-bot 858c36974b feat: configure mobile width threshold (#317) 2026-05-27 15:09:31 +03:00
Ogulcan Celik 9a89e3dc18 fix: update website social links 2026-05-27 01:55:13 +03:00
Ogulcan Celik 5fbc85a07e fix: update website og card 2026-05-27 01:08:42 +03:00
Ogulcan Celik 7dbe2c7964 fix: harden session stop socket handling 2026-05-27 01:01:23 +03:00
Ogulcan Celik 61bec49572 feat: refactor website homepage 2026-05-27 00:33:25 +03:00
Ogulcan Celik cfffe6599e docs: clarify dual licensing 2026-05-26 23:28:56 +03:00
Ogulcan Celik eac2314e6c fix: handle package-manager remote updates 2026-05-26 22:51:28 +03:00
Ogulcan Celik 427c2606d8 fix: deliver agent status subscriptions from event hub 2026-05-26 21:53:50 +03:00
kangal-bot 31e973502a fix: buffer split host color replies (#310)
refs #306

Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-26 19:59:15 +03:00
kangal-bot 5210b08e7d chore: approve contributor wayneleelwc 2026-05-26 15:27:42 +00:00
Ogulcan Celik af399094f5 feat: open pane links with ctrl-click
refs #307
2026-05-26 18:26:12 +03:00
Ogulcan Celik 3750e0bae2 feat: add pane metadata reporting
refs #36
2026-05-26 17:10:28 +03:00
Ogulcan Celik 1b980eaa9d feat: show clipboard copy feedback 2026-05-26 15:50:06 +03:00
Ogulcan Celik 57c880f0eb feat: add global last-pane navigation
refs #287
2026-05-26 14:50:13 +03:00
Ogulcan Celik 9eec3029e1 fix: reduce idle agent checker CPU
refs #300
2026-05-26 14:44:22 +03:00
Ogulcan Celik 62b9795771 fix: skip bot comments in contributor approval workflow 2026-05-26 13:53:37 +03:00
Ogulcan Celik 843653c0f5 fix: detect codex background terminal waits 2026-05-26 13:53:37 +03:00
Zack Drach 6c4a947244 Add tmux-style double-click word copy (#296)
* feat: add tmux-style double-click copy

Double-clicking terminal output now selects and copies the token under the cursor, similar to tmux. The copied token briefly stays highlighted as feedback, and token detection handles common shell output like paths, URLs, variables, CJK text, and surrounding punctuation.

Mouse events are still forwarded unchanged when the child terminal has mouse reporting enabled.

refs #142

* fix: tighten double-click copy

refs #142

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-26 13:40:29 +03:00
kangal-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