From 0db26ba738f39e47560f849b9389040436058fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sun, 31 Aug 2025 22:14:32 +0300 Subject: [PATCH] Log denemesi --- ui/src/services/classroom/signalr.ts | 15 ++++++++++----- ui/src/views/classroom/RoomDetail.tsx | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ui/src/services/classroom/signalr.ts b/ui/src/services/classroom/signalr.ts index 30ca9342..5b5e1c53 100644 --- a/ui/src/services/classroom/signalr.ts +++ b/ui/src/services/classroom/signalr.ts @@ -110,15 +110,15 @@ export class SignalRService { }) this.connection.onclose(async (err) => { - // 🚨 İlk satırda kontrol et + console.warn('🔥 onclose triggered, isKicked=', this.isKicked) + if (this.isKicked) { this.isConnected = false this.currentSessionId = undefined - return + return // ❗ Kick durumunda kesinlikle LeaveClass çağırma } this.isConnected = false - try { if (this.currentSessionId) { await this.connection.invoke('LeaveClass', this.currentSessionId) @@ -147,12 +147,17 @@ export class SignalRService { this.isKicked = true - // 🔑 Cleanup’u dışarıya delege et if (this.onForceCleanup) { + console.warn('⚡ ForceCleanup callback çağrılıyor') this.onForceCleanup() } - await this.connection.stop() + try { + await this.connection.stop() + } catch (e) { + console.warn('connection.stop hata:', e) + } + this.isConnected = false if (this.currentSessionId && store.getState().auth.user) { diff --git a/ui/src/views/classroom/RoomDetail.tsx b/ui/src/views/classroom/RoomDetail.tsx index 4ab4a71e..581c126d 100644 --- a/ui/src/views/classroom/RoomDetail.tsx +++ b/ui/src/views/classroom/RoomDetail.tsx @@ -355,7 +355,7 @@ const RoomDetail: React.FC = () => { signalRServiceRef.current.setForceCleanupHandler(() => { webRTCServiceRef.current?.closeAllConnections() - localStream?.getTracks().forEach((track) => track.stop()) + localStream?.getTracks().forEach((t) => t.stop()) }) signalRServiceRef.current.setParticipantLeaveHandler(({ userId, sessionId }) => {