Ogulcan Celik
f7b6467afe
test: update api ping protocol version
2026-05-13 14:40:00 +03:00
Ogulcan Celik
8375922c06
ci: run checks on macos
2026-05-12 15:05:36 +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
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
13fe950fe4
test: stabilize shell-based api and cli wrapper tests
2026-04-10 14:26:31 +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
a3ecb4e3b4
feat(api): expose done as agent status
2026-04-09 03:31:37 +03:00
Ogulcan Celik
4f6bdd8272
test: split socket lifecycle subscription coverage
2026-04-08 14:06:50 +03:00
Ogulcan Celik
d33a4be830
test: re-enable stable socket api integration tests
2026-04-08 13:58:13 +03:00
Ogulcan Celik
25974892c7
fix: make pane run use bracketed-paste-aware send input
2026-04-07 23:22:57 +03:00
Can Celik
41dd733ca7
feat: finish ghostty pane backend integration
2026-04-05 01:23:06 +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
Can Celik
ca4270b31f
feat: add authoritative pi hook integration
2026-04-01 19:32:26 +03:00
Ogulcan Celik
063ffc2b70
feat: show release notes after updates
2026-04-01 02:26:03 +03:00
Ogulcan Celik
e97413d8fa
fix: avoid codex false positives from macos process env parsing
2026-04-01 02:01:35 +03:00
Ogulcan Celik
e857710d73
fix: align pane scrolling with tmux and ghostty
2026-03-31 23:03:11 +03:00
Ogulcan Celik
7c8f12e8f2
feat: poll for updates and show toast notifications
2026-03-31 14:23:14 +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
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