aboutsummaryrefslogtreecommitdiff
path: root/src/app/actions.rs
AgeCommit message (Collapse)Author
2026-08-10feat: add configurable tab bar status (#2586)Can Celik
* feat: show a zoom indicator in the desktop tab bar Reserve the right edge of the tab row for a ZOOM pill while the focused pane is zoomed, matching the accent style of the mode bars. The per-tab Z suffix stays; the pill makes the zoomed state visible at a glance like tmux's status-right flag. * feat: optionally show the hostname in the desktop tab bar Add ui.tab_bar_hostname to display the machine's hostname at the right edge of the tab row, like tmux's #h in status-right. The value resolves where the server renders, so remote sessions show the remote host. Off by default. * fix: strip control characters from the tab bar hostname * fix: hide the hostname when it would squeeze out the tab strip * feat: add configurable tab bar status * fix: harden tab bar status updates * fix: terminate tab bar status process trees * fix: disable status commands on unsupported platforms * fix: skip unchanged status command renders * fix: keep tab bar status opt-in by default --------- Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-08-09feat(graphics): add direct pane frame streaming (#2523)Can Celik
* feat(graphics): add direct pane frame streaming * feat(graphics): expose pane visibility * test(graphics): preserve legacy terminal image output * fix(graphics): harden streaming lifecycle * fix(input): preserve mouse releases outside panes
2026-08-08fix: forward pane terminal bells (#2498)akbash
refs #2453 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-04fix(ui): search single-tab names in navigator (#2320)akbash
2026-08-03fix: propagate host color scheme to pane apps (#2214)Can Celik
refs #714
2026-07-28perf: skip rendering hidden pty updatesOgulcan Celik
2026-07-28fix: preserve linked worktree workspace labelsOgulcan Celik
2026-07-27fix: keep focus on the current workspace when another self-closes (#1912)Season Saw
handle_pane_died only clamped the stale active/selected indices after removing a workspace that closed itself, so it never shifted them down when the removed workspace sat before the focused one. With workspaces [x, y, z] and focus on y, removing x left active pointing at z, silently moving the user into a workspace they did not select. Resolve both indices by workspace id across the removal, as close_selected_workspace already does, keeping the clamp as the fallback for when the removed workspace was the focused one. Also scroll the focused workspace back into view, which the explicit-close path already did and this one did not. refs #1621 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-07-26fix: preserve focus when closing a non-focused workspace (#1877)Yi-An Lai
refs #1328
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-25fix: copy retained mouse selections with keyboard shortcutsOgulcan Celik
refs #1782
2026-07-24fix: make known-agent exit process-ownedOgulcan Celik
refs #1792 refs #1648
2026-07-19feat: make agent automation a first-class cli primitiveOgulcan Celik
2026-07-19feat: connected tree glyphs, workspace grouping, and search auto-select in ↵Ogulcan Celik
navigator refs #1611
2026-07-17feat: harden named agent cli workflowsOgulcan Celik
refs #1525
2026-07-17perf: adopt libghostty integration improvementsOgulcan Celik
refs #276
2026-07-15feat: add isolated pane graphics streamingOgulcan Celik
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-08fix: avoid render-time plain url scansOgulcan Celik
2026-07-07fix: honor prefix in copy modeOgulcan Celik
refs #681 Based on PR #1092 by @reobin. Co-authored-by: Robin Gagnon <me@reobin.dev>
2026-07-06fix: preserve wrapped pane links (#1099)akbash
refs #1098 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-07-05fix: switch prefix ASCII input source on the foreground client (#1016)ppggff
* fix: switch prefix ASCII input source on the foreground client The macOS prefix ASCII-switch ran in the headless server, whose TISCopyCurrentKeyboardInputSource read is a stale per-process cache (refreshed only via a main-run-loop notification the server never pumps), so prefix could leave the terminal on the wrong input source. Forward it to the foreground client, like clipboard: sync_prefix_input_source emits AppEvent::PrefixInputSource as an intent; the server forwards it to the foreground client and the monolithic app applies it in-process via RealPrefixInputSource, which pumps its main run loop before the stale TIS read. Key it on Mode::wants_ascii_input so multi-level prefix commands keep ASCII until returning to the terminal, and restore the IME for rename text entry. Adds ServerMessage::PrefixInputSource to the already-unreleased protocol 15. refs #774 * fix: keep prefix input-source switch out of the headless server process An App-internal drain (the exhaustive drain at the top of handle_api_request, reachable from prefix-key runtime mutations) can consume a queued PrefixInputSource intent before the server's forwarding drain sees it, applying the TIS switch in the headless server process and stranding the restore state. Gate the in-process switch on App.local_input_source_switch, disabled by the headless server alongside the other local side effects, so a swallowed intent degrades to a skipped switch. Widen the forwarding-bypass maintenance test to the handle_internal_event_with_prefix_sync wrapper. refs #774 * docs: clarify prefix input-source comments and flag docs refs #774 * fix: bump protocol for prefix input source refs #774 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-04refactor: route pane layout tui actions through runtime wrappersOgulcan Celik
2026-06-29feat: emit placement mutation eventsOgulcan Celik
2026-06-29fix: route tui modal mutations through api authorityOgulcan Celik
2026-06-29refactor: route tui mutations through runtime authorityOgulcan Celik
2026-06-25feat: render worktrees as a tree in the mobile switcherOgulcan Celik
2026-06-25feat: agents-first mobile switcher with global header summaryOgulcan Celik
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-15feat: add devin cli detection and restore support (#622)Eric Yue
* feat: add devin cli detection and restore support refs #606 * fix: keep devin integration session-only --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-15fix: keep auto tab labels compactOgulcan Celik
2026-06-15fix: preserve claude session rotationsOgulcan Celik
refs #620
2026-06-14test: harden pane identity regression coverageOgulcan Celik
2026-06-14fix: preserve tab identity across restored sessionsOgulcan Celik
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-13feat: add pane move api and cliOgulcan Celik
refs #299
2026-06-12fix: stabilize public pane and tab idsOgulcan Celik
refs #569
2026-06-10feat: distribute agent detection manifestsOgulcan Celik
2026-06-09feat: use pty-first agent detectionOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-06feat: improve toast ergonomicsOgulcan Celik
refs #486
2026-06-06feat: expose pane zoom apiOgulcan Celik
2026-06-05feat: add pane navigation controlsOgulcan Celik
refs #421 refs #330 related discussions: https://github.com/ogulcancelik/herdr/discussions/422 https://github.com/ogulcancelik/herdr/discussions/438 https://github.com/ogulcancelik/herdr/discussions/442
2026-06-04fix: use live workspace labels in navigatorOgulcan Celik
refs #377
2026-06-02feat: make claude codex opencode hooks session-onlyOgulcan Celik
2026-05-31fix: confirm implicit worktree group closeOgulcan Celik
refs #369
2026-05-31fix: clarify update restart guidanceOgulcan Celik
2026-05-30perf: reduce sidebar git polling overheadOgulcan Celik
refs #353
2026-05-28fix: use live workspace labels in notificationsOgulcan Celik
refs #332