aboutsummaryrefslogtreecommitdiff
path: root/src/app/input/sidebar.rs
AgeCommit message (Collapse)Author
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-15fix: keep auto tab labels compactOgulcan Celik
2026-06-12fix: stabilize public pane and tab idsOgulcan Celik
refs #569
2026-06-01feat: add expanded sidebar collapse control (#291)Turgay Bulut
* feat: add expanded sidebar collapse control refs #278 * fix: place sidebar collapse control inside content refs #278 --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-20fix: clarify keybinding conflict warningsOgulcan Celik
refs #154
2026-05-20feat: badge outdated integration updatesOgulcan Celik
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-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-06fix: persist agent panel scope in configOgulcan Celik
2026-05-05feat: add mobile terminal layoutOgulcan 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-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