aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2026-05-27fix: release opencode integration on disposeOgulcan Celik
refs #314
2026-05-27feat: add Qoder CLI integration (#309)Coder Wayne
* 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-27feat: configure mobile width threshold (#317)kangal-bot
2026-05-27fix: harden session stop socket handlingOgulcan Celik
2026-05-26fix: handle package-manager remote updatesOgulcan Celik
2026-05-26fix: deliver agent status subscriptions from event hubOgulcan Celik
2026-05-26fix: buffer split host color replies (#310)kangal-bot
refs #306 Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-26feat: open pane links with ctrl-clickOgulcan Celik
refs #307
2026-05-26feat: add pane metadata reportingOgulcan Celik
refs #36
2026-05-26feat: show clipboard copy feedbackOgulcan Celik
2026-05-26feat: add global last-pane navigationOgulcan Celik
refs #287
2026-05-26fix: reduce idle agent checker CPUOgulcan Celik
refs #300
2026-05-26fix: detect codex background terminal waitsOgulcan Celik
2026-05-26Add tmux-style double-click word copy (#296)Zack Drach
* 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-26fix: emit matching agent status subscriptions (#295)kangal-bot
refs #288 Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-25fix: avoid aplay for linux mp3 soundsOgulcan Celik
refs #290
2026-05-25feat: gate live handoff behind explicit flagOgulcan Celik
2026-05-25feat: make focus-gain redraw configurableOgulcan Celik
refs #282
2026-05-25fix: spawn restored agents directlyOgulcan Celik
2026-05-25test: shorten update test socket paths on macosOgulcan Celik
2026-05-25feat: hand off ptys during updatesOgulcan Celik
2026-05-25fix: avoid pane history replay during agent restoreOgulcan Celik
2026-05-24fix: support scrolling direct agent attachesOgulcan Celik
2026-05-24feat: persist pane history across restarts (#248)zhugehyuk
refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-24fix: avoid app event queue stallsOgulcan Celik
refs #265
2026-05-24feat: make navigate movement keybinds configurableOgulcan Celik
refs #193
2026-05-24feat: add session navigatorOgulcan Celik
refs #157
2026-05-24test: make restore wrapper test portableOgulcan Celik
2026-05-24test: skip short-lived restore fallback pty test on macosOgulcan Celik
2026-05-23feat: restore agent sessionsOgulcan Celik
refs #233
2026-05-23feat: add optional nix flake supportOgulcan Celik
refs #208 refs #221 refs #264
2026-05-23fix: use live cwd for workspace labelsOgulcan Celik
2026-05-23test: normalize worktree source path assertionOgulcan Celik
2026-05-23feat: add worktree cli and socket apiOgulcan Celik
2026-05-23feat: add omp integrationOgulcan Celik
2026-05-23feat: add state detection heuristics for GitHub Copilot CLI (#256)LaneBirmingham
* feat: add github copilot cli state detection Add robust state detection heuristics for the GitHub Copilot CLI by matching specific interactive prompt combinations, freeform inputs, and thinking status frames. refs #232 * docs: keep copilot docs staged for next release --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-23fix: detect kiro approval prompts as blockedOgulcan Celik
refs #255
2026-05-23fix: preserve local keybindings in remote sessionsOgulcan Celik
2026-05-23feat: configure new terminal cwdOgulcan Celik
2026-05-22fix: arbitrate stale agent state evidenceOgulcan Celik
refs #249
2026-05-22fix: answer pane default color queriesOgulcan Celik
refs #253
2026-05-22fix: detect cursor agent symlink aliasesOgulcan Celik
refs #225
2026-05-22fix: accept unicode keybindingsOgulcan Celik
refs #247
2026-05-22fix: detect kimi code cli statesOgulcan Celik
refs #215
2026-05-22feat: show named session command hintsGolden-Pigeon
refs #199
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-22feat: add configurable mouse scroll linesOgulcan Celik
refs #236
2026-05-21fix: avoid agent detection from runtime argumentsOgulcan Celik
refs #238
2026-05-21fix: keep notifications below floating overlaysOgulcan Celik
refs #228
2026-05-21refactor: separate server client boundariesOgulcan Celik