aboutsummaryrefslogtreecommitdiff
path: root/src/app/input.rs
AgeCommit message (Collapse)Author
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-16fix: switch updates to manual preview flowOgulcan Celik
2026-04-14feat support double prefix passthroughOgulcan Celik
2026-04-14fix unify app key normalization for enhanced keyboard reportingOgulcan Celik
2026-04-13refactor extract app api and runtime command modulesOgulcan Celik
2026-04-13feat add custom shell and pane keybind commandsOgulcan Celik
2026-04-13fix: tighten tab bar scrolling behaviorOgulcan Celik
2026-04-13fix: reserve q for navigate quit onlyOgulcan Celik
2026-04-10feat(tabs): add overflow scrolling and drag reorderOgulcan Celik
2026-04-09fix: always open pane context menu on right-clickOthavio Quiliao
The Down(Right) handler forwarded the click to the inner pane runtime when mouse reporting was active, then early-returned before creating the context menu state. For panes running a TUI that enables mouse reporting (e.g. Claude Code), right-clicking focused the pane but never opened the herdr context menu, even though right-click on plain shells or Codex still worked. Stop forwarding Down(Right) to the pane runtime altogether. Right-click on a pane now always focuses it and opens the herdr context menu, matching how terminal emulators like Ghostty, Alacritty, Kitty and iTerm2 treat right-click. This means the previous context menu actions (close pane, split, fullscreen, etc.) now also reach the intended pane via focus_pane before the menu is displayed. Remove Up(Right) and Drag(Right) from the middle/right forward branch so the inner TUI never sees an Up or Drag without a matching Down. Middle button forwarding is preserved because it is still used for paste in many terminal protocols. Tighten the existing right-click regression test with assertions that Mode::ContextMenu is entered and context_menu is populated. Without these extra checks the earlier version of the test only verified focus and failed to catch this exact bug.
2026-04-09fix: focus pane on left-click even when mouse reporting is activeOthavio Quiliao
The Down(Left) handler called forward_pane_mouse_button before focus_pane and early-returned when the forward succeeded, which happens for any pane running a TUI that has enabled mouse reporting (e.g. Claude Code). As a result, clicking such a pane forwarded the click to the inner TUI but never updated herdr's focus state, leaving the previous pane highlighted. Reorder the handler to focus first and forward after, matching the pattern already used by handle_terminal_wheel. Shells and TUIs without mouse reporting (e.g. Codex) were unaffected because their forward returned false and the focus update happened in the fallthrough branch. Add a regression test that installs a pane runtime with mouse reporting enabled via the '\x1b[?1002h' DECSET sequence and asserts that a Down(Left) event retargets focus.
2026-04-09fix: autoscroll and clear mouse text selectionsOgulcan Celik
2026-04-09fix(tabs): keep default numeric labels auto-generatedOgulcan Celik
2026-04-09feat: add manual reload keybinds actionOgulcan Celik
2026-04-08feat: add debounced session autosaveOgulcan Celik
2026-04-08test: strengthen session snapshot capture contractOgulcan Celik
2026-04-08feat: add resizable sidebar sectionsOgulcan Celik
2026-04-07fix: restore collapsed sidebar expand toggleOgulcan Celik
2026-04-07fix: use byte-based pane scrollback limitOgulcan Celik
2026-04-06fix: keep sidebar width stable and persist user resizeOgulcan Celik
2026-04-06feat: add all-workspaces scope to agent panelOgulcan Celik
2026-04-06feat: add compact agent detail to collapsed sidebarOgulcan Celik
2026-04-06fix: defer new tab creation until dialog confirmOgulcan Celik
2026-04-06fix(ui): make sidebar spaces list scrollableOgulcan Celik
2026-04-06fix(ui): add sidebar section headers and align workspace drag slotsOgulcan Celik
2026-04-05fix: respect synchronized terminal output batchesOgulcan Celik
2026-04-05refactor: own pane mouse protocol enums outside vt100Can Celik
2026-04-05fix: match ghostty pane default colors to host terminal themeCan Celik
2026-04-05feat: forward ghostty pane focus events on focus changesCan Celik
2026-04-05feat: finish ghostty pane backend integrationCan Celik
2026-04-04feat: add mouse drag reordering for workspacesOgulcan Celik
2026-04-03feat: improve update-ready and release notes uxOgulcan Celik
2026-04-03feat: reuse rename modal for new tab namingOgulcan Celik
2026-04-03refactor modal section spacing layoutOgulcan Celik
2026-04-03fix onboarding spacing and preserve pane state transitionsOgulcan Celik
2026-04-03polish sidebar agent cardsOgulcan Celik
2026-04-03fix sidebar agent list to hide shellsOgulcan Celik
2026-04-03fix workspace identity and tab-aware notificationsOgulcan Celik
2026-04-03fix: drop modifier-only keys before pane forwardingOgulcan Celik
2026-04-02feat: add direct pane navigation keybindsOgulcan Celik
2026-04-02add close action button to keybind helpOgulcan Celik
2026-04-02refactor popup menu and selection list interactionsOgulcan Celik
2026-04-02refactor: unify popup action semantics and geometryOgulcan Celik
2026-04-02feat: refactor keybind discoverability surfacesOgulcan Celik
2026-04-02feat: add tabs within workspacesOgulcan Celik
2026-04-01feat: show release notes after updatesOgulcan Celik
2026-03-31fix: align pane scrolling with tmux and ghosttyOgulcan Celik
2026-03-31fix alt-screen scrollback handlingOgulcan Celik
2026-03-31fix: make app rendering event-drivenOgulcan Celik
2026-03-30fix ghostty macos arrow and modifier key parsingOgulcan Celik