From b4a76277185ab791df2dba2502f72f5cc1e36ca8 Mon Sep 17 00:00:00 2001 From: Fusion Date: Wed, 20 May 2026 13:41:24 +0200 Subject: [PATCH] fix(sessions): stabilize setAllSessions to prevent polling loop Wrap setAllSessions in useCallback so it has a stable reference. This breaks the infinite re-render loop that was causing 4-10 requests per second to /users/me/sessions. --- apps/web/src/state/sessions.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/src/state/sessions.tsx b/apps/web/src/state/sessions.tsx index e9a4c56..5b0353c 100644 --- a/apps/web/src/state/sessions.tsx +++ b/apps/web/src/state/sessions.tsx @@ -1,4 +1,4 @@ -import { createContext, useContext, useState, type ReactNode } from "react"; +import { createContext, useCallback, useContext, useState, type ReactNode } from "react"; export interface Session { id: string; @@ -24,9 +24,9 @@ const SessionsContext = createContext(undefined export const SessionsProvider = ({ children }: { children: ReactNode }) => { const [sessions, setSessions] = useState([]); - const setAllSessions = (newSessions: Session[]) => { + const setAllSessions = useCallback((newSessions: Session[]) => { setSessions(newSessions); - }; + }, []); return (