mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-02-14 20:57:32 +00:00
refactor(useProjectsState): normalize refreshed session metadata to maintain provider stability; use getProjectSessions helper for session retrieval.
This commit is contained in:
@@ -418,12 +418,20 @@ export function useProjectsState({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const refreshedSession = refreshedProject.sessions?.find(
|
const refreshedSession = getProjectSessions(refreshedProject).find(
|
||||||
(session) => session.id === selectedSession.id,
|
(session) => session.id === selectedSession.id,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (refreshedSession && serialize(refreshedSession) !== serialize(selectedSession)) {
|
if (refreshedSession) {
|
||||||
setSelectedSession(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) {
|
} catch (error) {
|
||||||
console.error('Error refreshing sidebar:', error);
|
console.error('Error refreshing sidebar:', error);
|
||||||
|
|||||||
Reference in New Issue
Block a user