aboutsummaryrefslogtreecommitdiff
path: root/src/platform
AgeCommit message (Collapse)Author
2026-07-07fix: guard windows process tree cyclesOgulcan Celik
refs #1083
2026-07-06fix: write pane copies to native windows clipboard (#1082)akbash
refs #1067 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-05fix: support custom command keybindings on windowsOgulcan Celik
refs #1041
2026-07-05fix: switch prefix ASCII input source on the foreground client (#1016)ppggff
* fix: switch prefix ASCII input source on the foreground client The macOS prefix ASCII-switch ran in the headless server, whose TISCopyCurrentKeyboardInputSource read is a stale per-process cache (refreshed only via a main-run-loop notification the server never pumps), so prefix could leave the terminal on the wrong input source. Forward it to the foreground client, like clipboard: sync_prefix_input_source emits AppEvent::PrefixInputSource as an intent; the server forwards it to the foreground client and the monolithic app applies it in-process via RealPrefixInputSource, which pumps its main run loop before the stale TIS read. Key it on Mode::wants_ascii_input so multi-level prefix commands keep ASCII until returning to the terminal, and restore the IME for rename text entry. Adds ServerMessage::PrefixInputSource to the already-unreleased protocol 15. refs #774 * fix: keep prefix input-source switch out of the headless server process An App-internal drain (the exhaustive drain at the top of handle_api_request, reachable from prefix-key runtime mutations) can consume a queued PrefixInputSource intent before the server's forwarding drain sees it, applying the TIS switch in the headless server process and stranding the restore state. Gate the in-process switch on App.local_input_source_switch, disabled by the headless server alongside the other local side effects, so a swallowed intent degrades to a skipped switch. Widen the forwarding-bypass maintenance test to the handle_internal_event_with_prefix_sync wrapper. refs #774 * docs: clarify prefix input-source comments and flag docs refs #774 * fix: bump protocol for prefix input source refs #774 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-03perf(linux): cache foreground process group scansOgulcan Celik
refs #936
2026-07-02fix: open scrollback editor on windows without shOgulcan Celik
refs #914
2026-06-30fix: keep remote sessions alive across disconnectsOgulcan Celik
2026-06-20fix: support agent env hintsOgulcan Celik
refs #679 related #699
2026-06-10fix: validate clipboard image payloadsOgulcan Celik
refs #534
2026-06-10fix: support paste in modal inputsOgulcan Celik
refs #302
2026-06-08fix: improve windows pane behaviorOgulcan Celik
2026-06-07ci: tighten windows branch validationOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik
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-05-29feat: expose foreground cwd in pane infoOgulcan Celik
refs #345
2026-05-27fix: raise macos server fd limitOgulcan Celik
refs #327
2026-05-26feat: open pane links with ctrl-clickOgulcan Celik
refs #307
2026-05-26fix: reduce idle agent checker CPUOgulcan Celik
refs #300
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-21fix: avoid agent detection from runtime argumentsOgulcan Celik
refs #238
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-20fix: cap clipboard image readsOgulcan Celik
2026-05-20fix: bridge remote clipboard image pasteOgulcan Celik
refs #205
2026-05-15fix: remove macos notification icon handlingOgulcan Celik
2026-05-15fix: improve macos system notificationsOgulcan Celik
2026-05-15feat: add system toast deliveryOgulcan Celik
2026-05-12ci: run checks on macosOgulcan Celik
2026-05-12fix: detect macos foreground jobs by process groupOgulcan Celik
fixes #100
2026-05-06fix: clear native agent detection after shell returnsOgulcan Celik
fixes #66
2026-04-21feat: add persistent server-client sessionsCan Celik
Make herdr persistent by default. Launching herdr now starts or reattaches to a background session server. Clients can detach and reattach while panes and agent processes keep running. Session mode now supports multi-client attach, auto-detect startup, and a thin-client/headless-server split. This also refactors the large app, ui, input, pane, config, workspace, and persistence modules into smaller focused submodules, while preserving behavior and colocating tests with the code they exercise. Upgrade notes: - persistence mode is now the default - in-app quit detaches the current client instead of stopping the server - use `herdr server stop` to stop the background session - use `--no-session` for the old single-process behavior - default socket paths now live under the config directory
2026-04-11fix: prefer native clipboard tools over osc52 fallbackOgulcan Celik
2026-04-01fix: avoid codex false positives from macos process env parsingOgulcan Celik
2026-03-31fix: terminate pane sessions on closeOgulcan Celik
2026-03-28feat: add per-agent sound overridesOgulcan Celik
2026-03-28fix wrapped foreground job agent detectionOgulcan Celik
2026-03-27fix: use KERN_PROCARGS2 for macOS process name resolutionOgulcan Celik
proc_name() fails on macOS Sequoia due to undersized buffer (MAXCOMLEN+1 = 17 bytes). Even with a larger buffer, it returns the kernel comm name ('node') rather than the effective process title ('pi') set via Node.js process.title. Replace with sysctl(KERN_PROCARGS2) which reads argv[0] and reflects runtime title changes, matching what ps(1) displays. Falls back to pbi_comm from proc_pidinfo if sysctl fails.
2026-03-27initial releaseOgulcan Celik
terminal workspace manager for AI coding agents. single rust binary, runs inside your existing terminal. workspaces, tiled panes, intelligent agent state detection. https://herdr.dev