Ogulcan Celik
9f210e9738
chore: enable clippy linting
2026-05-09 23:16:24 +03:00
Ogulcan Celik
3a9888cd56
feat: add ansi pane read format
2026-05-09 22:07:52 +03:00
Ogulcan Celik
793f127e54
feat(remote): add network-efficient thin client transport
...
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-05-08 22:20:04 +03:00
Ogulcan Celik
b0aa7b2cdd
fix: preserve osc8 hyperlinks in client rendering
...
fixes #73
2026-05-07 21:48:50 +03:00
Franz Bettag and Ogulcan Celik
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
Ogulcan Celik
3d1ef155bf
feat: add live config reload
2026-04-26 02:07:33 +03:00
Ogulcan Celik
0d5cab85f7
fix: reduce default support log noise
2026-04-25 21:39:19 +03:00
Ogulcan Celik
4075041804
feat(logging): add robust rotating support logs
2026-04-23 00:48:22 +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
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
acf5bbad51
fix: harden unix socket api waits
2026-04-08 03:17:44 +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
5e05460816
docs: clarify herdr pane split and wait output usage
2026-04-07 02:48:13 +03:00
Ogulcan Celik
5ed262a43a
fix: isolate debug runtime paths and block duplicate herdr instances
2026-04-03 17:11:20 +03:00
Ogulcan Celik
544c7ebebb
feat: add tabs to socket api
2026-04-03 00:04:35 +03:00
Can Celik
ca4270b31f
feat: add authoritative pi hook integration
2026-04-01 19:32:26 +03:00
Ogulcan Celik
ea57a65321
fix: make app rendering event-driven
2026-03-31 02:03:45 +03:00
Ogulcan Celik
0426bf53d7
refactor: rename agent states to working and blocked
2026-03-30 13:43:41 +03:00
Ogulcan Celik
8b7848aac3
feat(api): add socket subscriptions and lifecycle events
2026-03-29 17:20:53 +03:00
Ogulcan Celik
fd1e3b8b05
feat: add initial socket api for workspace and pane control
...
add unix socket request/response api scaffolding
implement initial workspace and pane commands:
- ping
- workspace.list
- workspace.get
- workspace.create
- pane.list
- pane.get
- pane.read
- pane.send_text
- pane.send_keys
- pane.wait_for_output
improve pane read semantics:
- visible trims trailing blank viewport rows
- recent reads from parser scrollback/current screen
- wait_for_output returns matched snapshot plus matched_line
add real subprocess integration tests for socket api
2026-03-29 04:23:22 +03:00