aboutsummaryrefslogtreecommitdiff
path: root/src/ui/sidebar.rs
AgeCommit message (Collapse)Author
2026-09-01refactor: render the shell in the client (#3487)Can Celik
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations
2026-08-19fix(theme): keep active terminal row visible under cursor (#2989)akbash
refs #2987 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-15fix(theme): keep default active rows subtle and add navigate cursor color ↵Can Celik
(#2838) refs #2792
2026-08-14fix: keep active sidebar rows visible (#2794)Can Celik
refs #2792
2026-08-13fix: keep tab and sidebar clicks when the terminal reports a stray drag (#2736)Michael Hackner
* fix: keep tab and sidebar clicks when the terminal reports a stray drag This works around a Ghostty bug that causes herdr tabs to be unclickable in fullscreen mode. Ghostty on macOS in native fullscreen emits one motion report after a fresh press in the strip where the menu bar reveals, with the row shifted to near the bottom of the grid. The cause is upstream: macOS delivers one mouse event whose y is nearly a window height away from the real pointer, and Ghostty reports it as it arrives (iTerm2 and Terminal.app report the same clicks correctly). Herdr treated the stray report as a real drag and lost the click two ways: it opened a tab reorder with no drop target, making the release a no-op, and it handed the release to the pane under the bogus coordinates. Now, a press on the tab bar or sidebar owns the gesture until release, and a tab drag only starts once the pointer is over a real drop target. refs #796 * fix: scope chrome mouse gestures to their input source * fix: preserve chrome drag input source * fix: preserve concurrent chrome presses --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-06fix(sidebar): highlight active agent in collapsed sidebar (#2382)Ian Ker-Seymer
The collapsed sidebar renders agent rows with an unconditional Style::default().fg(p.overlay0), so the active agent is indistinguishable from the others. The workspace list directly above it, and render_agent_detail in the expanded sidebar, both mark the active entry. Reuse the existing active treatment: resolve the active entry with the same is_active_pane call the expanded agent panel uses, then paint the row background with surface_dim and the position number with text, the same tokens the collapsed workspace rows already use. Assisted-By: devx/717e5259-915f-4a7b-af07-6abe46da5b90
2026-08-05feat(theme): add optional sidebar backgroundOgulcan Celik
2026-08-04feat(ui): add distinct status indicators (#2282)Can Celik
refs #2260
2026-08-04fix(ui): keep collapsed workspace status visible (#2239)akbash
refs #2216 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-03fix: propagate host color scheme to pane apps (#2214)Can Celik
refs #714
2026-07-31fix(sidebar): keep worktree groups packedOgulcan Celik
2026-07-28perf: skip rendering hidden pty updatesOgulcan Celik
2026-07-28fix: preserve linked worktree workspace labelsOgulcan Celik
2026-07-28perf: replace agent spinners with static status marksOgulcan Celik
2026-07-26fix: improve sidebar worktree hierarchy and reordering (#1873)Can Celik
* fix: clarify sidebar worktree hierarchy refs #1694 * feat: reorder worktree groups as a unit refs #1694
2026-07-25perf: eliminate repeated workspace git discovery (#1842)Can Celik
* perf: eliminate repeated workspace git discovery refs #1838 * fix: keep workspace labels current without extra redraws refs #1838 * fix: retain discovered workspace git metadata refs #1838
2026-07-20feat: add plugin-driven agent views and startup hooksOgulcan Celik
2026-07-16feat: add configurable sidebar token stylesOgulcan Celik
2026-07-14feat: configure sidebar entry gapsOgulcan Celik
2026-07-13fix: show renamed single tabs in agents sidebarOgulcan Celik
refs #1369
2026-07-13fix: reap detached custom command children (#1384)akbash
* fix: reap detached custom command children refs #1360 * test: harden child cleanup and sidebar metrics refs #1360 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-12fix: number collapsed agent rows by list positionOgulcan Celik
refs #1344
2026-07-08fix: align collapsed sidebar agent rows (#1182)akbash
refs #1168 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-06-30feat: add hidden collapsed sidebar modeOgulcan Celik
refs #842
2026-06-26fix: measure ui labels by display widthOgulcan Celik
refs #810
2026-06-25feat: render worktrees as a tree in the mobile switcherOgulcan Celik
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-16fix: handle cjk branch truncationOgulcan Celik
refs #644
2026-06-14feat: add plugin v1 systemOgulcan Celik
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs. Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
2026-06-12fix: stabilize public pane and tab idsOgulcan Celik
refs #569
2026-06-07feat: add native windows beta supportOgulcan Celik
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-30fix: use login shells for macos panesOgulcan Celik
refs #350
2026-05-26feat: add pane metadata reportingOgulcan Celik
refs #36
2026-05-23fix: use live cwd for workspace labelsOgulcan Celik
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-20feat: badge outdated integration updatesOgulcan Celik
2026-05-19feat: add hosted product announcementsOgulcan Celik
2026-05-19fix: show agent names in sidebarOgulcan Celik
refs #145
2026-05-19fix: polish pre-release issue fixesOgulcan Celik
refs #152 refs #189 refs #190
2026-05-17fix: polish terminal-core agent semanticsOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-16feat: add hook-owned custom agent status labelsOgulcan Celik
2026-05-14feat: add tmux-style mouse capture configOgulcan Celik
2026-05-11feat: add optional pane border labelsOgulcan Celik
2026-05-09chore: enable clippy lintingOgulcan Celik
2026-05-09Show focus on active agent in agents panel like spaces panel does (#84)YoungTaek
* feat: show focus on active agent in agents panel like spaces panel does * refactor: improve to calculation and binding style
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