mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-02-14 04:37: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;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user