fix: WebRTC сигналы теперь доставляются через WS если пользователь подключён через WebSocket

signal() в classroomController использовал emit() из sse.js напрямую —
сигналы не доходили до пользователей на WebSocket-соединении (учитель).
Исправлено: используем emitToUser() из ws-server.js, который роутит в WS
и падает на SSE только как fallback.
This commit is contained in:
Maxim Dolgolyov
2026-04-15 13:53:10 +03:00
parent 8a86ff3fe5
commit e18945863f
@@ -3,6 +3,7 @@ const path = require('path');
const fs = require('fs');
const crypto = require('crypto');
const { emit, emitToClass, getOnlineUserIds, emitToGuests } = require('../sse');
const { emitToUser } = require('../ws-server');
/* ── chat attachment uploads dir ─────────────────────────────────────── */
const CHAT_UPLOADS_DIR = path.join(__dirname, '../../uploads/chat');
@@ -359,7 +360,7 @@ function signal(req, res) {
if (!hasAccess(session, req.user.id, req.user.role))
return res.status(403).json({ error: 'Нет доступа' });
emit(target_user_id, {
emitToUser(target_user_id, {
type: 'classroom_signal',
sessionId,
from: req.user.id,