aboutsummaryrefslogtreecommitdiff
path: root/src/config
AgeCommit message (Collapse)Author
2026-07-18fix: report unknown config keys (#1575)akbash
* fix: report unknown config keys refs #1573 * fix: preserve mixed config warning context refs #1573 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-18feat: add optional workspace name promptOgulcan Celik
2026-07-16feat: configure collapsed sidebar startup stateOgulcan Celik
refs #1463
2026-07-16feat: add configurable sidebar token stylesOgulcan Celik
2026-07-15feat: add floating popup panesOgulcan Celik
refs #1125
2026-07-14feat: configure sidebar entry gapsOgulcan Celik
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-12fix: clarify config fallback diagnosticsOgulcan Celik
2026-07-11feat: add copy-on-select settingOgulcan Celik
2026-07-11feat: add maki agent support (#1302)Tony Solomonik
* feat: add maki detection support Maki always draws a one-line status bar at the bottom of the screen, so the manifest reads just that row: a braille spinner before the `[BUILD]`/`[PLAN]`/`[BASH]` mode label means working, the bare label means idle. Blocked states come from the panels that replace the input box, the `Permission Required` dialog with its `y Allow`/`n Deny` hint rows and the `Plan complete` form. Maki emits no OSC title or progress, so these screen rules are the only evidence. Also wires `maki` through process-name identification, per-agent sound overrides, and the website manifest catalog. * docs: stage maki detection docs
2026-07-10fix: improve config diagnostic deliveryOgulcan Celik
2026-07-10fix: stop windows installer from rewriting configOgulcan Celik
refs #1162
2026-07-08fix: match shifted indexed number keybindsOgulcan Celik
refs #1184
2026-07-04feat: add mastracode integration (#788)Ward Peeters
* feat: add mastracode integration refs #337 Co-authored-by: Mastra Code (openai/gpt-5.5) <noreply@mastra.ai> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-02fix: draw host cursor on windowsOgulcan Celik
refs #930
2026-06-30fix: reuse remote ssh connectionOgulcan Celik
refs #888
2026-06-30feat: hide single-tab tab rowOgulcan Celik
refs #448
2026-06-30feat: add hidden collapsed sidebar modeOgulcan Celik
refs #842
2026-06-29feat: generate socket protocol schemaOgulcan Celik
2026-06-22fix: let user keybinds displace defaultsOgulcan Celik
refs #747
2026-06-21fix: add configurable pane gapsOgulcan Celik
refs #271
2026-06-19fix: reanchor lifecycle hook generationsOgulcan Celik
refs #684
2026-06-18feat: add background update check togglesOgulcan Celik
refs #677
2026-06-18feat: sync theme with host appearanceOgulcan Celik
refs #675
2026-06-18fix: scope image paste shortcut to remoteOgulcan Celik
refs #647
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-15fix: support key-combo syntax for API send keys (#613)Dillon Mulroy
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-15feat: add devin cli detection and restore support (#622)Eric Yue
* feat: add devin cli detection and restore support refs #606 * fix: keep devin integration session-only --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-14fix: warn on unknown config sectionsOgulcan Celik
2026-06-14feat: add plugin v1 systemOgulcan Celik
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs. Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
2026-06-08fix: improve windows pane behaviorOgulcan Celik
2026-06-07fix(update): keep windows installs on previewOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-06feat: improve toast ergonomicsOgulcan Celik
refs #486
2026-06-05feat: add pane navigation controlsOgulcan Celik
refs #421 refs #330 related discussions: https://github.com/ogulcancelik/herdr/discussions/422 https://github.com/ogulcancelik/herdr/discussions/438 https://github.com/ogulcancelik/herdr/discussions/442
2026-06-03feat: switch input source during prefix mode (#434)sf-jin-ku
On macOS, opt-in under [experimental], temporarily switch the host input source to the current ASCII-capable layout while prefix mode is active so prefix commands register even when a CJK IME is composing, then restore the previous input source when prefix mode exits or is cancelled. No-op when the current source is already ASCII-capable, on non-macOS platforms, or when any input source call fails. Pane text input is unaffected. Also pin next_resize_poll in next_loop_deadline_includes_selection_autoscroll_deadline so the selection autoscroll deadline stays the earliest; the default resize poll could otherwise beat it and flake the assertion. refs #400 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-03fix: support legacy shifted letter keybindingsOgulcan Celik
refs #312
2026-06-02feat: add preview update channelOgulcan Celik
2026-06-01fix: restore agents through pane shellsOgulcan Celik
2026-06-01feat: keep remote bridge alive with an ssh config keepalive fallback (#355)SunskyXH
2026-06-01feat: detect kilo code cliOgulcan Celik
refs #270
2026-06-01feat: add configurable right-click passthroughOgulcan Celik
refs #148
2026-05-31feat: support custom command descriptionsOgulcan Celik
refs #362
2026-05-30fix: use login shells for macos panesOgulcan Celik
refs #350
2026-05-28feat: add pane copy modeOgulcan Celik
refs #231
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-26feat: add global last-pane navigationOgulcan Celik
refs #287
2026-05-25feat: make focus-gain redraw configurableOgulcan Celik
refs #282
2026-05-24feat: persist pane history across restarts (#248)zhugehyuk
refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com>