aboutsummaryrefslogtreecommitdiff
path: root/src/main.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-16chore: clean up local repo guidanceOgulcan Celik
2026-04-11feat: support transparent panel chromeOgulcan Celik
2026-04-07fix: support IME input for Chinese and other UTF-8 charactersacumen7
Phase 1: UTF-8 encoding support - Modified encode_text_input() to handle characters without modifiers - Added unit tests for Chinese character encoding Phase 2: IME composition support - Removed REPORT_ALL_KEYS_AS_ESCAPE_CODES keyboard flag - Prevents keyboard protocol from interfering with IME - Allows digit keys to be captured by input method for candidate selection Fixes issue where IME input was not working properly. Supports Chinese, Japanese, Korean, and other UTF-8 input methods. Maintains compatibility with all existing features. Tested: - All 388 unit tests pass - Chinese IME input with pinyin works correctly - All navigate mode shortcuts work normally - All terminal applications work normally
2026-04-07fix: use byte-based pane scrollback limitOgulcan Celik
2026-04-05refactor: remove vt100 backend and make ghostty defaultCan Celik
2026-04-05fix: match ghostty pane default colors to host terminal themeCan Celik
2026-04-05feat: finish ghostty pane backend integrationCan Celik
2026-04-04feat: support custom mp3 notification sound overridesOgulcan Celik
2026-04-03fix: isolate debug runtime paths and block duplicate herdr instancesOgulcan Celik
2026-04-03feat: add tabs to socket apiOgulcan Celik
2026-04-02feat: add direct pane navigation keybindsOgulcan Celik
2026-04-02feat: add tabs within workspacesOgulcan Celik
2026-04-01feat: add claude, codex, and opencode integrationsCan Celik
2026-04-01feat: add authoritative pi hook integrationCan Celik
2026-04-01feat: show release notes after updatesOgulcan Celik
2026-03-31fix: make app rendering event-drivenOgulcan Celik
2026-03-30refactor keyboard protocol parsing and forwardingOgulcan Celik
2026-03-29refactor: two-section sidebar with agent detail panel, theme system with 9 ↵Ogulcan Celik
built-in themes sidebar layout: - top section: workspace list with accent bar, git branch, state dots - bottom section: agent detail panel sorted by urgency with braille spinners - active workspace always highlighted (subtle bg in terminal mode, brighter in nav) - palette-driven colors throughout (no hardcoded colors in ui.rs) theme system: - 9 built-in themes: catppuccin (default), tokyo-night, dracula, nord, gruvbox, one-dark, solarized, kanagawa, rose-pine - config: theme.name selects base, theme.custom overrides individual tokens - 15 color tokens: accent, surface0/1, overlay0/1, text, subtext0, mauve, green, yellow, red, blue, teal, peach - legacy ui.accent still works for backward compatibility infrastructure: - Palette struct on AppState, ready for future theme system extensions - git_branch() reads .git/HEAD for branch detection - PaneDetail struct with urgency sorting for agent panel - spinner_tick counter for braille animation (~8fps on 60fps render loop)
2026-03-29feat(cli): add workspace and pane management commandsOgulcan Celik
2026-03-29feat(api): add socket subscriptions and lifecycle eventsOgulcan Celik
2026-03-29feat: add initial socket api for workspace and pane controlOgulcan Celik
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-28feat: block nested herdr instances by defaultOgulcan Celik
2026-03-28feat: add onboarding and toast notification preferencesOgulcan Celik
2026-03-28add config diagnostics and split configuration docsOgulcan Celik
2026-03-28refactor workspace identity and configurable navigate actionsOgulcan Celik
2026-03-28fix prefix key defaults and binding parsingOgulcan 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