| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-08-05 | fix(layout): return focus to the pane a split was opened from (#2266) | Jon Kinney | |
| Closing a focused pane handed focus to the next pane in tree order. For a pane opened beside another one -- a plugin split, a file viewer, any transient tool pane -- that is rarely where the user was: it lands on some unrelated neighbour rather than the pane that opened it. Track the pane focus came from in TileLayout and prefer it when the focused pane closes, falling back to tree order when there is no history, when it points at the pane being closed, or when it points at a pane that has since gone away. The history lives in the layout, so it can only ever name a pane in the same tab. A one-slot history is only sound if internal focus excursions never write it, so the tree edits that used to bounce focus around now go through target-taking primitives instead. close_pane removes a background pane directly, so detach_pane and take_pane_for_move stop focus-close-refocusing. split_pane splits a target without moving focus: the runtime split path only focuses the new pane once the spawn succeeds, which makes a failed split a pure rollback, and the targeted and unfocused workspace split paths stop fabricating history. insert_pane_near now takes the focus intent, so an unfocused pane move leaves the target tab's history alone. The layout-level focused-split helpers become test-only; production splits all flow through the target-taking path. Co-authored-by: Can Celik <ogulcancelik@gmail.com> | |||
| 2026-08-03 | fix: propagate host color scheme to pane apps (#2214) | Can Celik | |
| refs #714 | |||
| 2026-07-28 | perf: skip rendering hidden pty updates | Ogulcan Celik | |
| 2026-07-28 | fix: preserve linked worktree workspace labels | Ogulcan Celik | |
| 2026-07-25 | perf: eliminate repeated workspace git discovery (#1842) | Can Celik | |
| * perf: eliminate repeated workspace git discovery refs #1838 * fix: keep workspace labels current without extra redraws refs #1838 * fix: retain discovered workspace git metadata refs #1838 | |||
| 2026-07-13 | feat: add configurable sidebar metadata tokens | Ogulcan Celik | |
| 2026-07-04 | refactor: route pane layout tui actions through runtime wrappers | Ogulcan Celik | |
| 2026-06-15 | fix: keep auto tab labels compact | Ogulcan Celik | |
| 2026-06-14 | test: add state invariants for refactor safety | Ogulcan Celik | |
| 2026-06-14 | fix: preserve tab identity across restored sessions | Ogulcan Celik | |
| 2026-06-14 | feat: add plugin v1 system | Ogulcan 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-13 | feat: add pane move api and cli | Ogulcan Celik | |
| refs #299 | |||
| 2026-06-12 | fix: stabilize public pane and tab ids | Ogulcan Celik | |
| refs #569 | |||
| 2026-06-05 | feat: add pane navigation controls | Ogulcan 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-05-30 | perf: reduce sidebar git polling overhead | Ogulcan Celik | |
| refs #353 | |||
| 2026-05-30 | fix: use login shells for macos panes | Ogulcan Celik | |
| refs #350 | |||
| 2026-05-22 | feat: add git worktree workspace management | Ogulcan Celik | |
| refs #137 | |||
| 2026-05-21 | refactor: separate server client boundaries | Ogulcan Celik | |
| 2026-05-20 | feat: add configurable default shell | Ogulcan Celik | |
| refs #196 | |||
| 2026-05-17 | fix: polish terminal-core agent semantics | Ogulcan Celik | |
| 2026-05-17 | feat: add direct terminal attach stream | Ogulcan Celik | |
| 2026-05-17 | refactor: extract terminal state and runtime from panes | Ogulcan Celik | |
| 2026-05-17 | feat: add agent start for server-owned terminals | Ogulcan Celik | |
| 2026-05-17 | feat: add terminal identity and agent cli facade | Ogulcan Celik | |
| 2026-05-16 | fix: respect integration config dirs | Ogulcan Celik | |
| refs #121 | |||
| 2026-05-11 | feat: add optional pane border labels | Ogulcan Celik | |
| 2026-05-09 | fix: refresh git status off the main loop | Ogulcan Celik | |
| fixes #85 | |||
| 2026-05-08 | fix: split panes in target tab without stealing focus | Ogulcan Celik | |
| fixes #75 | |||
| 2026-04-23 | feat(logging): add robust rotating support logs | Ogulcan Celik | |
| 2026-04-21 | perf: reduce headless server render overhead | Ogulcan Celik | |
| 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 | feat: allow hook-reported custom agent labels | Ogulcan Celik | |
| 2026-04-13 | feat add custom shell and pane keybind commands | Ogulcan Celik | |
| 2026-04-10 | feat(tabs): add overflow scrolling and drag reorder | Ogulcan Celik | |
| 2026-04-09 | feat(api): return root panes from workspace and tab creation | Ogulcan Celik | |
| 2026-04-09 | fix(tabs): keep default numeric labels auto-generated | Ogulcan Celik | |
| 2026-04-07 | fix: avoid spawning git for branch lookup | Ogulcan Celik | |
| 2026-04-07 | fix: use byte-based pane scrollback limit | Ogulcan Celik | |
| 2026-04-06 | refactor: use libghostty-native selection text reading | Ogulcan Celik | |
| 2026-04-05 | fix: match ghostty pane default colors to host terminal theme | Can Celik | |
| 2026-04-04 | refactor: make workspace api ids stable | 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: improve tab-aware agent labels | Ogulcan Celik | |
| 2026-04-03 | fix: drop modifier-only keys before pane forwarding | Ogulcan Celik | |
| 2026-04-02 | feat: add tabs within workspaces | Ogulcan Celik | |
| 2026-03-31 | fix: terminate pane sessions on close | Ogulcan Celik | |
| 2026-03-31 | fix: make app rendering event-driven | Ogulcan Celik | |
| 2026-03-30 | refactor sidebar status rollup and preserve pane order | Ogulcan Celik | |
| 2026-03-30 | refactor: rename agent states to working and blocked | Ogulcan Celik | |
