fix(sidebar): auto-expand parent node when navigating to subagent session (#893)
When a user navigates to a subagent (child) session, the parent session node in the left sidebar was not automatically expanded, making the child session invisible in the tree. This change adds a useEffect that detects when the current session has a parentID and automatically adds that parentID to expandedParents, ensuring the subagent session is visible in the sidebar hierarchy.
This commit is contained in:
@@ -732,6 +732,23 @@ export const SessionSidebar: React.FC<SessionSidebarProps> = ({
|
|||||||
});
|
});
|
||||||
}, [addProject, tauriIpcAvailable]);
|
}, [addProject, tauriIpcAvailable]);
|
||||||
|
|
||||||
|
// Auto-expand parent session when navigating to a subagent (child) session
|
||||||
|
React.useEffect(() => {
|
||||||
|
if (!currentSessionId) return;
|
||||||
|
const current = sessions.find((s) => s.id === currentSessionId);
|
||||||
|
const parentID = (current as Session & { parentID?: string | null })?.parentID;
|
||||||
|
if (!parentID) return;
|
||||||
|
setExpandedParents((prev) => {
|
||||||
|
if (prev.has(parentID)) return prev;
|
||||||
|
const next = new Set(prev);
|
||||||
|
next.add(parentID);
|
||||||
|
try {
|
||||||
|
safeStorage.setItem(SESSION_EXPANDED_STORAGE_KEY, JSON.stringify(Array.from(next)));
|
||||||
|
} catch { /* ignored */ }
|
||||||
|
return next;
|
||||||
|
});
|
||||||
|
}, [currentSessionId, sessions, safeStorage]);
|
||||||
|
|
||||||
const toggleParent = React.useCallback((sessionId: string) => {
|
const toggleParent = React.useCallback((sessionId: string) => {
|
||||||
setExpandedParents((prev) => {
|
setExpandedParents((prev) => {
|
||||||
const next = new Set(prev);
|
const next = new Set(prev);
|
||||||
|
|||||||
Reference in New Issue
Block a user