feat: implement session storage for tabs state management and optimize tab reset logic on search space change

This commit is contained in:
DESKTOP-RTLN3BA\$punk 2026-03-27 02:08:36 -07:00
parent f263cf91a7
commit e47c786e40
2 changed files with 18 additions and 3 deletions

View file

@ -268,9 +268,14 @@ export function LayoutDataProvider({ searchSpaceId, children }: LayoutDataProvid
}, [pendingNewChat, params?.chat_id, router, searchSpaceId, resetCurrentThread]);
// Reset transient slide-out panels and tabs when switching search spaces.
// Use a ref to skip the initial mount — only reset when the space actually changes.
const prevSearchSpaceIdRef = useRef(searchSpaceId);
useEffect(() => {
setActiveSlideoutPanel(null);
resetTabs();
if (prevSearchSpaceIdRef.current !== searchSpaceId) {
prevSearchSpaceIdRef.current = searchSpaceId;
setActiveSlideoutPanel(null);
resetTabs();
}
}, [searchSpaceId, resetTabs]);
const searchSpaces: SearchSpace[] = useMemo(() => {