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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user