Commit Graph

21 Commits

Author SHA1 Message Date
Ogulcan Celik fe693f613a feat: add optional pane border labels 2026-05-11 23:34:20 +03:00
Ogulcan Celik 3a9888cd56 feat: add ansi pane read format 2026-05-09 22:07:52 +03:00
Ogulcan Celik bb0dad86f8 fix: split panes in target tab without stealing focus
fixes #75
2026-05-08 15:37:01 +03:00
Ogulcan Celik ded6d7bfa6 feat: add human session attach and list output 2026-04-29 21:58:22 +03:00
Franz Bettag 5baf231e07
Add named persistent sessions (#57)
* feat: add named persistent sessions

* feat: add session management commands

* fix: tighten named session stop and override precedence

* fix: handle session help and stop test race

* test: isolate default session env test

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-04-28 20:11:11 +03:00
Ogulcan Celik 5a61ae2f9d feat: add status command 2026-04-27 22:54:02 +03:00
Can Celik 3397e1ce29
feat: add persistent server-client sessions
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-21 16:30:04 +03:00
Ogulcan Celik 0b831c8627 feat: allow hook-reported custom agent labels 2026-04-16 22:17:09 +03:00
Ogulcan Celik c45a3b2dc1 feat(api): return root panes from workspace and tab creation 2026-04-09 21:59:18 +03:00
Ogulcan Celik bb2c579df2 feat(cli): support labels when creating tabs and workspaces 2026-04-09 04:42:35 +03:00
Ogulcan Celik a3ecb4e3b4 feat(api): expose done as agent status 2026-04-09 03:31:37 +03:00
Ogulcan Celik 25974892c7 fix: make pane run use bracketed-paste-aware send input 2026-04-07 23:22:57 +03:00
Ogulcan Celik 0276da6f2a fix: make pane run submit commands atomically 2026-04-07 15:09:09 +03:00
Ogulcan Celik 5e05460816 docs: clarify herdr pane split and wait output usage 2026-04-07 02:48:13 +03:00
Ogulcan Celik 831894facf refactor: make workspace api ids stable 2026-04-04 01:50:34 +03:00
Ogulcan Celik 544c7ebebb feat: add tabs to socket api 2026-04-03 00:04:35 +03:00
Ogulcan Celik e434904d10 docs: refresh tabs and keybind docs 2026-04-02 23:38:14 +03:00
Ogulcan Celik fff21d6490 docs: refresh readme and socket api positioning 2026-03-30 15:33:12 +03:00
Ogulcan Celik bf6b6d779a feat(api): use compact public workspace and pane ids 2026-03-29 19:54:52 +03:00
Ogulcan Celik a5847a8039 feat(cli): add workspace and pane management commands 2026-03-29 19:29:23 +03:00
Ogulcan Celik 8b7848aac3 feat(api): add socket subscriptions and lifecycle events 2026-03-29 17:20:53 +03:00