aboutsummaryrefslogtreecommitdiff
path: root/src/app/input
AgeCommit message (Collapse)Author
2026-05-20feat: add configurable default shellOgulcan Celik
refs #196
2026-05-20fix: stop auto-opening release notes on startupOgulcan Celik
2026-05-20feat: surface agent integrations in onboardingOgulcan Celik
2026-05-19feat: add hosted product announcementsOgulcan Celik
2026-05-19fix: handle rename prompt editing shortcutsOgulcan Celik
refs #204
2026-05-18fix: allow zoomed pane focus (#167)kangal-bot
refs #151 Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-18fix: preserve alt backspace in panes (#165)kangal-bot
refs #155 Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-18feat: configure sidebar min/max width via [ui] (#135)CHIH,GODLEE
* feat: configure sidebar min/max width via [ui] Expose the previously hardcoded MIN_SIDEBAR_WIDTH / MAX_SIDEBAR_WIDTH clamps as [ui] sidebar_min_width / sidebar_max_width. Defaults remain 18 / 36 so existing configs are unchanged. Hot-reload is wired through the existing [ui] block; reload re-clamps the live width to the new bounds so tightening takes effect immediately. Reject inverted bounds (min > max) at every entry point so a bad config can never reach u16::clamp(min, max), which panics: App::new falls back to defaults, and apply_live_config treats the whole [ui] section as invalid and returns a partial reload report. refs #132 * test: keep sidebar reload width within bounds refs #132 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-05-17feat: add selection autoscroll and fix stale selection on transitions (#129)leeeanh
When dragging to select text near pane edges, a 30ms recurring tick now continues scrolling and extending the selection while the mouse is idle. The autoscroll stops on MouseUp, key input, navigate action, cursor leaving the hot zone, scrollback boundary, missing metrics, or pane rect change. Also fixes pre-existing bugs where workspace/tab/pane transitions failed to clear selection state, which could cause stale selections to persist across views. Selection clearing on pane death is scoped to only the dying pane. Also fixes anchor_screen_pos returning pane-relative coordinates instead of screen coordinates, which caused false drag detection and spurious edge autoscroll on same-cell events when the pane has a non-zero origin. refs #128 Co-authored-by: leeanh <mac@macs-MacBook-Pro.local>
2026-05-17chore: rename fullscreen keybinding to zoomOgulcan Celik
2026-05-17fix: polish terminal-core agent semanticsOgulcan Celik
2026-05-17feat: add direct terminal attach streamOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-16feat: add immediate new tab optionOgulcan Celik
refs #123
2026-05-16feat: add scrollback editor keybindOgulcan Celik
refs #122
2026-05-16fix: keep split resize hitboxes off pane contentOgulcan Celik
fixes #120
2026-05-15feat: add indexed keybind familiesOgulcan Celik
2026-05-15fix(input): only host-scroll plain page key pressesOgulcan Celik
2026-05-15feat: add system toast deliveryOgulcan Celik
2026-05-14fix(input): scroll pane scrollback with pageup/pagedown and parse enhanced ↵Ogulcan Celik
tilde sequences
2026-05-14feat: add tmux-style mouse capture configOgulcan Celik
2026-05-12feat: add agent cycling and tab wheel switchingOgulcan Celik
fixes #92
2026-05-11feat: add notification target keybindOgulcan Celik
2026-05-11feat: add optional pane border labelsOgulcan Celik
2026-05-09chore: enable clippy lintingOgulcan Celik
2026-05-08fix: clear agent toast after focusOgulcan Celik
2026-05-08feat: make agent toasts focus panesOgulcan Celik
2026-05-06fix: persist agent panel scope in configOgulcan Celik
2026-05-05feat: add mobile terminal layoutOgulcan Celik
2026-04-29fix: restore double prefix passthrough in client modeOgulcan Celik
2026-04-28fix: resize w claude code no flicker (#61)Yifeng He
* fix: mouse resize panel failed with claude-code no flicker * test: run pane mouse reporting drag tests inside tokio runtime Switch the new horizontal/vertical drag tests to `#[tokio::test]` so `PaneRuntime::test_with_screen_bytes` has a reactor when it calls `tokio::spawn`. CI was panicking with "there is no reactor running". * test: refresh git state in workspace drop slot test Workspace::test_new caches the parent repo's git branch at construction time. On master CI the herdr checkout has ref: refs/heads/master in HEAD, so the cache is populated and workspace_row_height returns 2. On PR CI actions/checkout uses a detached merge ref, git_branch returns None, row height becomes 1, and the drop-slot tie-break flips workspace_drop_index_at_row(2) from Some(0) to Some(1). Refresh git state after pointing identity_cwd at the per-test temp repo so the cache reflects the temp repo's HEAD.
2026-04-26feat: refine live config lifecycleOgulcan Celik
2026-04-26feat: add live config reloadOgulcan Celik
2026-04-23feat(logging): add robust rotating support logsOgulcan Celik
2026-04-22feat: add terminal-delivered client notificationsOgulcan Celik
2026-04-22chore: remove unused test importsOgulcan Celik
2026-04-21fix: close global menu before detachOgulcan 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