Re-applies the four ResourceUsageStatusSegment fixes from #1464 on top of
current main. Original PR was branched off the #1415 merge commit and
would have silently reverted #1451 (focus right pane after clicking an
agent), which reworks navigateToTab to thread paneKey through and call
activateTabAndFocusPane.
Findings:
- Orphan kill race re-adds the killed row (await kill before refresh).
- Duplicate sessions interval inside open-gated effect (removed).
- Kill-confirm Dialog mounted inside PopoverContent (hoisted to sibling).
- daemonUnreachable required at least one snapshot failure (also treat
null snapshot + sessions error as unreachable).
Co-authored-by: hermes <bot@hermes>
* perf(tasks): narrow task page cache subscriptions
Avoid re-rendering the full Tasks page for unrelated GitHub and Linear cache writes by selecting only the cache entries the page can render, and by returning null from dialog/drawer selectors while those surfaces are closed.
* fix: satisfy task selector lint
Skip the expensive expanded-tree refresh after deferred file explorer watcher payloads when the replayed events can be reconciled with targeted directory refreshes. Keep the fallback for unreplayable rename payloads.
Dedupes in-flight GitHub and Linear metadata lookups behind the existing short TTL caches, and prevents cleared caches from being repopulated by stale in-flight responses.
Batch terminal pane splitter flex writes behind requestAnimationFrame so high-rate drag pointermove bursts do at most one layout write per frame, while flushing the latest size before final refit.
Centralize the xterm refresh after successful WebGL attachment so resumed, reparented, or setting-toggled panes do not show a stale empty WebGL canvas until the next output or resize.
Debounce Monaco markdown doc-link decoration refreshes so rapid content changes coalesce into one full-model scan, while preserving immediate initial render and cleanup behavior.
* rename Activity tab label to Agent View
Renames the user-visible tab label from 'Activity' to 'Agent View' in
the sidebar nav and the activity-page titlebar (plus matching tooltip
and aria-label). Internal view ID, store slice names, and component
filenames remain 'activity' to avoid behavioral risk — this is a pure
copy change.
* rename activity view labels to agents
---------
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
* Drop the per-workspace AGENTS toggle in the sidebar
The chevron header above each card's inline agent list re-litigated a
decision the global "inline-agents" view option already controls, and
sat one row above the agent it labelled — so aiming for the agent and
hitting the chevron collapsed the section the user wanted to interact
with. Collapsed state was session-only, so there was no payoff for the
misclick.
Always render the inline agent list when the global toggle is on; never
render it when it's off. The wrapper keeps a stopPropagation handler so
clicks on the empty row gutter don't reach WorktreeCard's outer
activate/edit-meta handlers, plus role="group" + aria-label="Agents" so
screen-reader users still get a labeled region.
Also drops the leading pl-1 on DashboardAgentRow so the freed row gets
a touch more horizontal room. DashboardAgentRow's only call site is
this inline list, so there's no asymmetry to fix elsewhere.
* Added more tests
---------
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>