fix: WebRTC сигналы теперь доставляются через WS если пользователь подключён через WebSocket
signal() в classroomController использовал emit() из sse.js напрямую — сигналы не доходили до пользователей на WebSocket-соединении (учитель). Исправлено: используем emitToUser() из ws-server.js, который роутит в WS и падает на SSE только как fallback.
This commit is contained in:
@@ -3,6 +3,7 @@ const path = require('path');
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const crypto = require('crypto');
|
const crypto = require('crypto');
|
||||||
const { emit, emitToClass, getOnlineUserIds, emitToGuests } = require('../sse');
|
const { emit, emitToClass, getOnlineUserIds, emitToGuests } = require('../sse');
|
||||||
|
const { emitToUser } = require('../ws-server');
|
||||||
|
|
||||||
/* ── chat attachment uploads dir ─────────────────────────────────────── */
|
/* ── chat attachment uploads dir ─────────────────────────────────────── */
|
||||||
const CHAT_UPLOADS_DIR = path.join(__dirname, '../../uploads/chat');
|
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))
|
if (!hasAccess(session, req.user.id, req.user.role))
|
||||||
return res.status(403).json({ error: 'Нет доступа' });
|
return res.status(403).json({ error: 'Нет доступа' });
|
||||||
|
|
||||||
emit(target_user_id, {
|
emitToUser(target_user_id, {
|
||||||
type: 'classroom_signal',
|
type: 'classroom_signal',
|
||||||
sessionId,
|
sessionId,
|
||||||
from: req.user.id,
|
from: req.user.id,
|
||||||
|
|||||||
Reference in New Issue
Block a user