aboutsummaryrefslogtreecommitdiff
path: root/tests/support
AgeCommit message (Collapse)Author
2026-07-23fix: preserve kitty printable key releasesOgulcan Celik
refs #1746
2026-07-17feat: harden named agent cli workflowsOgulcan Celik
refs #1525
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-06-29feat: emit placement mutation eventsOgulcan Celik
2026-05-31refactor: centralize pty fd ownershipOgulcan Celik
refs #357 refs #327
2026-05-30perf: reduce sidebar git polling overheadOgulcan Celik
refs #353
2026-05-25feat: hand off ptys during updatesOgulcan Celik
2026-05-21feat: use local keybindings for remote attachOgulcan Celik
2026-05-20fix: bridge remote clipboard image pasteOgulcan Celik
refs #205
2026-05-13test: update protocol fixturesOgulcan Celik
2026-05-09chore: enable clippy lintingOgulcan Celik
2026-05-08feat(remote): add network-efficient thin client transportOgulcan Celik
Add SSH stdio remote attach, negotiate terminal-ANSI render encoding, move blit encoding server-side for remote clients, and split control/render writer delivery for safer backpressure. Fixes #76
2026-04-22test: reduce persistence integration test sleeps and harness duplicationOgulcan Celik
2026-04-22fix: clean up shared-checkout test serversOgulcan Celik
2026-04-21fix: restore headless test reliability on macosOgulcan Celik
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