| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-04-21 | feat: add persistent server-client sessions | Can 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-16 | fix: switch updates to manual preview flow | Ogulcan Celik | |
| 2026-04-14 | feat support double prefix passthrough | Ogulcan Celik | |
| 2026-04-14 | fix unify app key normalization for enhanced keyboard reporting | Ogulcan Celik | |
| 2026-04-13 | refactor extract app api and runtime command modules | Ogulcan Celik | |
| 2026-04-13 | feat add custom shell and pane keybind commands | Ogulcan Celik | |
| 2026-04-13 | fix: tighten tab bar scrolling behavior | Ogulcan Celik | |
| 2026-04-13 | fix: reserve q for navigate quit only | Ogulcan Celik | |
| 2026-04-10 | feat(tabs): add overflow scrolling and drag reorder | Ogulcan Celik | |
| 2026-04-09 | fix: always open pane context menu on right-click | Othavio 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-09 | fix: focus pane on left-click even when mouse reporting is active | Othavio 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-09 | fix: autoscroll and clear mouse text selections | Ogulcan Celik | |
| 2026-04-09 | fix(tabs): keep default numeric labels auto-generated | Ogulcan Celik | |
| 2026-04-09 | feat: add manual reload keybinds action | Ogulcan Celik | |
| 2026-04-08 | feat: add debounced session autosave | Ogulcan Celik | |
| 2026-04-08 | test: strengthen session snapshot capture contract | Ogulcan Celik | |
| 2026-04-08 | feat: add resizable sidebar sections | Ogulcan Celik | |
| 2026-04-07 | fix: restore collapsed sidebar expand toggle | Ogulcan Celik | |
| 2026-04-07 | fix: use byte-based pane scrollback limit | Ogulcan Celik | |
| 2026-04-06 | fix: keep sidebar width stable and persist user resize | Ogulcan Celik | |
| 2026-04-06 | feat: add all-workspaces scope to agent panel | Ogulcan Celik | |
| 2026-04-06 | feat: add compact agent detail to collapsed sidebar | Ogulcan Celik | |
| 2026-04-06 | fix: defer new tab creation until dialog confirm | Ogulcan Celik | |
| 2026-04-06 | fix(ui): make sidebar spaces list scrollable | Ogulcan Celik | |
| 2026-04-06 | fix(ui): add sidebar section headers and align workspace drag slots | Ogulcan Celik | |
| 2026-04-05 | fix: respect synchronized terminal output batches | Ogulcan Celik | |
| 2026-04-05 | refactor: own pane mouse protocol enums outside vt100 | Can Celik | |
| 2026-04-05 | fix: match ghostty pane default colors to host terminal theme | Can Celik | |
| 2026-04-05 | feat: forward ghostty pane focus events on focus changes | Can Celik | |
| 2026-04-05 | feat: finish ghostty pane backend integration | Can Celik | |
| 2026-04-04 | feat: add mouse drag reordering for workspaces | Ogulcan Celik | |
| 2026-04-03 | feat: improve update-ready and release notes ux | Ogulcan Celik | |
| 2026-04-03 | feat: reuse rename modal for new tab naming | Ogulcan Celik | |
| 2026-04-03 | refactor modal section spacing layout | Ogulcan Celik | |
| 2026-04-03 | fix onboarding spacing and preserve pane state transitions | Ogulcan Celik | |
| 2026-04-03 | polish sidebar agent cards | Ogulcan Celik | |
| 2026-04-03 | fix sidebar agent list to hide shells | Ogulcan Celik | |
| 2026-04-03 | fix workspace identity and tab-aware notifications | Ogulcan Celik | |
| 2026-04-03 | fix: drop modifier-only keys before pane forwarding | Ogulcan Celik | |
| 2026-04-02 | feat: add direct pane navigation keybinds | Ogulcan Celik | |
| 2026-04-02 | add close action button to keybind help | Ogulcan Celik | |
| 2026-04-02 | refactor popup menu and selection list interactions | Ogulcan Celik | |
| 2026-04-02 | refactor: unify popup action semantics and geometry | Ogulcan Celik | |
| 2026-04-02 | feat: refactor keybind discoverability surfaces | Ogulcan Celik | |
| 2026-04-02 | feat: add tabs within workspaces | Ogulcan Celik | |
| 2026-04-01 | feat: show release notes after updates | Ogulcan Celik | |
| 2026-03-31 | fix: align pane scrolling with tmux and ghostty | Ogulcan Celik | |
| 2026-03-31 | fix alt-screen scrollback handling | Ogulcan Celik | |
| 2026-03-31 | fix: make app rendering event-driven | Ogulcan Celik | |
| 2026-03-30 | fix ghostty macos arrow and modifier key parsing | Ogulcan Celik | |
