Keep parent tab highlighted when focus is on a sub-agent

The top tab bar compared against focusedID, so stepping into a
sub-agent dropped the parent tab's highlight even though the user
was still inside that thread. activeAgentID already walks the
parent chain to the top-level root for the sidebar's agent tree
— reuse it for the tab strip too.
This commit is contained in:
2026-05-15 15:26:06 +01:00
parent 4b4e7543e8
commit 1fb919c22a
2 changed files with 12 additions and 1 deletions

View File

@@ -6,6 +6,13 @@ loosely follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Fixed
- Top tab bar now keeps the top-level agent's tab highlighted
when focus is on one of its sub-agents (or on a Processes pane
entry, matching the existing agent-tree behavior). Previously
the tab would lose its highlight as soon as you stepped into a
child agent, even though you were still within that thread.
## [0.0.2] - 2026-05-15
### Added

View File

@@ -24,7 +24,11 @@ func (st *uiState) drawTabBar() {
}
st.mu.Lock()
palOpen := st.palette != nil
focus := st.focusedID
// Highlight the top-level agent tab even when focus has stepped
// into a sub-agent (or a Processes pane entry). activeAgentID walks
// the parent chain to the root, so the user always sees which tab
// their current thread belongs to.
focus := st.activeAgentID
st.mu.Unlock()
if palOpen {
return