diff --git a/apps/studio/components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider.tsx b/apps/studio/components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider.tsx index 3ab23f1a555..965c35a5ec1 100644 --- a/apps/studio/components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider.tsx +++ b/apps/studio/components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider.tsx @@ -15,30 +15,28 @@ export const LayoutSidebarProvider = ({ children }: PropsWithChildren) => { const assistantComponent = useCallback(() => , []) useRegisterSidebar(SIDEBAR_KEYS.AI_ASSISTANT, assistantComponent, {}, 'i') - const router = useRouter() const { sidebars } = useSidebarManagerSnapshot() - const appliedUrlSidebarRef = useRef(null) + + // Set sidebar state initially based on URL query param + const router = useRouter() const sidebarParamRaw = router.query.sidebar const sidebarParam = useMemo( () => (typeof sidebarParamRaw === 'string' ? sidebarParamRaw : null), [sidebarParamRaw] ) - const registeredSidebar = sidebarParam ? sidebars[sidebarParam] : undefined useEffect(() => { if (!router.isReady) return if (!sidebarParam) { - appliedUrlSidebarRef.current = null return } + const registeredSidebar = sidebars[sidebarParam] if (!registeredSidebar) return - if (appliedUrlSidebarRef.current === sidebarParam) return sidebarManagerState.openSidebar(sidebarParam) - appliedUrlSidebarRef.current = sidebarParam - }, [router.isReady, sidebarParam, registeredSidebar]) + }, [router.isReady, sidebarParam]) return <>{children} }