fix(app): stabilize hook order in agent archive flows

This commit is contained in:
Mohamed Boudra
2026-02-22 12:37:26 +07:00
parent 74a9a3c33b
commit 55b450c8b9
4 changed files with 116 additions and 96 deletions
+11 -13
View File
@@ -24,19 +24,17 @@ export function useSessionForServer<T>(
selector?: SessionSelector<T>,
equalityFn?: EqualityFn<T>
): SessionState | null | T {
const baseSelector = useCallback(
(state: ReturnType<typeof useSessionStore.getState>) =>
(serverId ? state.sessions[serverId] ?? null : null),
[serverId]
const storeSelector = useCallback(
(state: ReturnType<typeof useSessionStore.getState>): SessionState | null | T => {
const session = serverId ? state.sessions[serverId] ?? null : null;
return selector ? selector(session) : session;
},
[selector, serverId]
);
if (selector) {
const derivedSelector = useCallback(
(state: ReturnType<typeof useSessionStore.getState>) => selector(baseSelector(state)),
[baseSelector, selector]
);
return useStoreWithEqualityFn(useSessionStore, derivedSelector, equalityFn);
}
return useSessionStore(baseSelector);
return useStoreWithEqualityFn(
useSessionStore,
storeSelector,
equalityFn as EqualityFn<SessionState | null | T>
);
}