From 31943bf489ab7ad6617eea19de98942af5bcbad3 Mon Sep 17 00:00:00 2001 From: PhuocNTB Date: Mon, 13 Jul 2026 15:14:50 +0700 Subject: [PATCH] rollback fix --- management/src/components/ExamGridProctor.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/management/src/components/ExamGridProctor.tsx b/management/src/components/ExamGridProctor.tsx index 9a134d8..e700a1b 100644 --- a/management/src/components/ExamGridProctor.tsx +++ b/management/src/components/ExamGridProctor.tsx @@ -31,9 +31,13 @@ export const ExamGridProctor: React.FC = ({ ); const onlineKey = useMemo(() => onlineIds.join(','), [onlineIds]); + const onlineIdsRef = useRef(onlineIds); + onlineIdsRef.current = onlineIds; + const syncSubscriptions = (ws: WebSocket) => { if (ws.readyState !== WebSocket.OPEN) return; - const target = new Set(onlineIds); + const currentOnlineIds = onlineIdsRef.current; + const target = new Set(currentOnlineIds); const prev = subscribedRef.current; prev.forEach((id) => { @@ -42,7 +46,7 @@ export const ExamGridProctor: React.FC = ({ prev.delete(id); } }); - onlineIds.forEach((id) => { + currentOnlineIds.forEach((id) => { if (!prev.has(id)) { ws.send(JSON.stringify({ event: 'teacher:subscribe', data: { studentId: id } })); prev.add(id);