From 7cabb3da9b03b9e4f9ff498cc6015fa74e224e06 Mon Sep 17 00:00:00 2001 From: Haileyesus Date: Thu, 12 Feb 2026 21:20:16 +0300 Subject: [PATCH] refactor(useProjectsState): normalize refreshed session metadata to maintain provider stability; use getProjectSessions helper for session retrieval. --- src/hooks/useProjectsState.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/hooks/useProjectsState.ts b/src/hooks/useProjectsState.ts index 11688fc..d2a08df 100644 --- a/src/hooks/useProjectsState.ts +++ b/src/hooks/useProjectsState.ts @@ -418,12 +418,20 @@ export function useProjectsState({ return; } - const refreshedSession = refreshedProject.sessions?.find( + const refreshedSession = getProjectSessions(refreshedProject).find( (session) => session.id === selectedSession.id, ); - if (refreshedSession && serialize(refreshedSession) !== serialize(selectedSession)) { - setSelectedSession(refreshedSession); + if (refreshedSession) { + // Keep provider metadata stable when refreshed payload doesn't include __provider. + const normalizedRefreshedSession = + refreshedSession.__provider || !selectedSession.__provider + ? refreshedSession + : { ...refreshedSession, __provider: selectedSession.__provider }; + + if (serialize(normalizedRefreshedSession) !== serialize(selectedSession)) { + setSelectedSession(normalizedRefreshedSession); + } } } catch (error) { console.error('Error refreshing sidebar:', error);