aboutsummaryrefslogtreecommitdiff
path: root/src/app/actions.rs
AgeCommit message (Collapse)Author
2026-04-23feat(logging): add robust rotating support logsOgulcan Celik
2026-04-22feat: add terminal-delivered client notificationsOgulcan Celik
2026-04-21feat: add persistent server-client sessionsCan 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-16feat: allow hook-reported custom agent labelsOgulcan Celik
2026-04-16fix: switch updates to manual preview flowOgulcan Celik
2026-04-10fix: forward OSC 52 clipboard writes from pane childrenOthavio Quiliao
herdr embeds `libghostty-vt` as a headless terminal emulator per pane, and its readonly stream handler silently drops `.clipboard_contents` actions. As a result, any child process that writes OSC 52 to copy to the system clipboard (for example Amp, which enables mouse reporting and handles selection internally) has its sequence swallowed before it can reach the host terminal — the user sees the child's "copied" toast but the system clipboard is never updated. This change adds an `Osc52Forwarder` that observes raw PTY bytes in `process_pty_bytes`, reconstructs completed `ESC ] 52 ; (c|) ; <base64> (BEL|ST)` sequences (write/clear only — queries are dropped since herdr has no path to reply to the child), and returns them through the existing `ProcessBytesResult`. The reader task forwards the bytes to the main loop via a new `AppEvent::ClipboardWrite`, which is written to stdout from `handle_internal_event`. Routing through the main loop keeps stdout writes serialized with `terminal.draw` and the other existing host-terminal emitters, so the new forwarder does not race with rendering. Existing herdr-native selection (mouse drag in panes without mouse reporting) is unchanged and still writes through `selection::write_osc52`.
2026-04-10feat(tabs): add overflow scrolling and drag reorderOgulcan Celik
2026-04-09fix(status): keep background startup idle panes out of doneOgulcan Celik
2026-04-09fix: autoscroll and clear mouse text selectionsOgulcan Celik
2026-04-08feat: add debounced session autosaveOgulcan Celik
2026-04-08feat: add resizable sidebar sectionsOgulcan Celik
2026-04-06fix(ui): make sidebar spaces list scrollableOgulcan Celik
2026-04-05feat: finish ghostty pane backend integrationCan Celik
2026-04-04feat: support custom mp3 notification sound overridesOgulcan Celik
2026-04-04feat: add mouse drag reordering for workspacesOgulcan Celik
2026-04-03feat: improve update-ready and release notes uxOgulcan Celik
2026-04-03fix workspace identity and tab-aware notificationsOgulcan Celik
2026-04-03fix: improve tab-aware agent labelsOgulcan Celik
2026-04-02fix: merge hook authority with tab state updatesOgulcan Celik
2026-04-02feat: add tabs within workspacesOgulcan Celik
2026-04-01feat: add authoritative pi hook integrationCan Celik
2026-03-31feat: poll for updates and show toast notificationsOgulcan Celik
2026-03-30refactor: rename agent states to working and blockedOgulcan Celik
2026-03-28feat: add onboarding and toast notification preferencesOgulcan Celik
2026-03-28refactor workspace identity and configurable navigate actionsOgulcan Celik
2026-03-28fix sound request alerts in active workspaceOgulcan Celik
2026-03-28feat: add per-agent sound overridesOgulcan Celik
2026-03-27feat: sound notifications for agent state changesOgulcan Celik
play a chime when an agent finishes work and an alert when one needs input. only triggers for background workspaces. configurable via sound = true/false under [ui] in config.
2026-03-27initial releaseOgulcan Celik
terminal workspace manager for AI coding agents. single rust binary, runs inside your existing terminal. workspaces, tiled panes, intelligent agent state detection. https://herdr.dev