[mirotalksfu] - refactoring
هذا الالتزام موجود في:
@@ -7,11 +7,20 @@ module.exports = class Peer {
|
|||||||
constructor(socket_id, data) {
|
constructor(socket_id, data) {
|
||||||
const { peer_info } = data;
|
const { peer_info } = data;
|
||||||
|
|
||||||
const { peer_name, peer_presenter, peer_audio, peer_video, peer_video_privacy, peer_recording, peer_hand } =
|
const {
|
||||||
peer_info;
|
peer_uuid,
|
||||||
|
peer_name,
|
||||||
|
peer_presenter,
|
||||||
|
peer_audio,
|
||||||
|
peer_video,
|
||||||
|
peer_video_privacy,
|
||||||
|
peer_recording,
|
||||||
|
peer_hand,
|
||||||
|
} = peer_info;
|
||||||
|
|
||||||
this.id = socket_id;
|
this.id = socket_id;
|
||||||
this.peer_info = peer_info;
|
this.peer_info = peer_info;
|
||||||
|
this.peer_uuid = peer_uuid;
|
||||||
this.peer_name = peer_name;
|
this.peer_name = peer_name;
|
||||||
this.peer_presenter = peer_presenter;
|
this.peer_presenter = peer_presenter;
|
||||||
this.peer_audio = peer_audio;
|
this.peer_audio = peer_audio;
|
||||||
@@ -117,7 +126,7 @@ module.exports = class Peer {
|
|||||||
const peerProducers = this.getProducers();
|
const peerProducers = this.getProducers();
|
||||||
const peerConsumers = this.getConsumers();
|
const peerConsumers = this.getConsumers();
|
||||||
|
|
||||||
log.debug('CLOSE PEER', {
|
log.debug('CLOSE PEER - CHECK TRANSPORTS | PRODUCERS | CONSUMERS', {
|
||||||
peer_id: this.id,
|
peer_id: this.id,
|
||||||
peer_name: this.peer_name,
|
peer_name: this.peer_name,
|
||||||
peerTransports: peerTransports,
|
peerTransports: peerTransports,
|
||||||
|
|||||||
@@ -1769,15 +1769,13 @@ function startServer() {
|
|||||||
|
|
||||||
const room = roomList.get(socket.room_id);
|
const room = roomList.get(socket.room_id);
|
||||||
|
|
||||||
const peerInfo = room.getPeers()?.get(socket.id)?.peer_info || {};
|
const peer = room.getPeer(socket.id);
|
||||||
|
|
||||||
const peerName = peerInfo?.peer_name || '';
|
const { peer_name, peer_uuid } = peer;
|
||||||
|
|
||||||
const peerUuid = peerInfo?.peer_uuid || '';
|
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peer_name, peer_uuid);
|
||||||
|
|
||||||
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peerName, peerUuid);
|
log.debug('[Disconnect] - peer name', peer_name);
|
||||||
|
|
||||||
log.debug('[Disconnect] - peer name', peerName);
|
|
||||||
|
|
||||||
room.removePeer(socket.id);
|
room.removePeer(socket.id);
|
||||||
|
|
||||||
@@ -1785,15 +1783,16 @@ function startServer() {
|
|||||||
//
|
//
|
||||||
roomList.delete(socket.room_id);
|
roomList.delete(socket.room_id);
|
||||||
|
|
||||||
|
delete presenters[socket.room_id];
|
||||||
|
|
||||||
|
log.info('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
|
||||||
|
|
||||||
const activeRooms = getActiveRooms();
|
const activeRooms = getActiveRooms();
|
||||||
|
|
||||||
log.info('[Disconnect] - Last peer - current active rooms', activeRooms);
|
log.info('[Disconnect] - Last peer - current active rooms', activeRooms);
|
||||||
|
|
||||||
delete presenters[socket.room_id];
|
|
||||||
log.info('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
room.broadCast(socket.id, 'removeMe', removeMeData(room, peerName, isPresenter));
|
room.broadCast(socket.id, 'removeMe', removeMeData(room, peer_name, isPresenter));
|
||||||
|
|
||||||
if (isPresenter) removeIP(socket);
|
if (isPresenter) removeIP(socket);
|
||||||
|
|
||||||
@@ -1809,19 +1808,17 @@ function startServer() {
|
|||||||
|
|
||||||
const room = roomList.get(socket.room_id);
|
const room = roomList.get(socket.room_id);
|
||||||
|
|
||||||
const peerInfo = room.getPeers()?.get(socket.id)?.peer_info || {};
|
const peer = room.getPeer(socket.id);
|
||||||
|
|
||||||
const peerName = peerInfo?.peer_name || '';
|
const { peer_name, peer_uuid } = peer;
|
||||||
|
|
||||||
const peerUuid = peerInfo?.peer_uuid || '';
|
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peer_name, peer_uuid);
|
||||||
|
|
||||||
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peerName, peerUuid);
|
log.debug('Exit room', peer_name);
|
||||||
|
|
||||||
log.debug('Exit room', peerName);
|
|
||||||
|
|
||||||
room.removePeer(socket.id);
|
room.removePeer(socket.id);
|
||||||
|
|
||||||
room.broadCast(socket.id, 'removeMe', removeMeData(room, peerName, isPresenter));
|
room.broadCast(socket.id, 'removeMe', removeMeData(room, peer_name, isPresenter));
|
||||||
|
|
||||||
if (room.getPeers().size === 0) {
|
if (room.getPeers().size === 0) {
|
||||||
//
|
//
|
||||||
@@ -1846,26 +1843,29 @@ function startServer() {
|
|||||||
// common
|
// common
|
||||||
function getPeerName(room, json = true) {
|
function getPeerName(room, json = true) {
|
||||||
try {
|
try {
|
||||||
const peer_name = (room && room.getPeers()?.get(socket.id)?.peer_info?.peer_name) || 'undefined';
|
const DEFAULT_PEER_NAME = 'undefined';
|
||||||
|
const peer = room.getPeer(socket.id);
|
||||||
|
const peerName = peer.peer_name || DEFAULT_PEER_NAME;
|
||||||
if (json) {
|
if (json) {
|
||||||
return {
|
return { peer_name: peerName };
|
||||||
peer_name: peer_name,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
return peer_name;
|
return peerName;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.error('getPeerName', err);
|
log.error('getPeerName', err);
|
||||||
return json ? { peer_name: 'undefined' } : 'undefined';
|
return json ? { peer_name: DEFAULT_PEER_NAME } : DEFAULT_PEER_NAME;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function isRealPeer(name, id, roomId) {
|
function isRealPeer(name, id, roomId) {
|
||||||
|
if (!roomList.has(socket.room_id)) return false;
|
||||||
|
|
||||||
const room = roomList.get(roomId);
|
const room = roomList.get(roomId);
|
||||||
|
|
||||||
const peerName = (room && room.getPeers()?.get(id)?.peer_info?.peer_name) || 'undefined';
|
const peer = room.getPeer(id);
|
||||||
|
|
||||||
return peerName == name;
|
const { peer_name } = peer;
|
||||||
|
|
||||||
|
return peer_name == name;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isValidFileName(fileName) {
|
function isValidFileName(fileName) {
|
||||||
@@ -1896,7 +1896,7 @@ function startServer() {
|
|||||||
peer_counts: peerCounts,
|
peer_counts: peerCounts,
|
||||||
isPresenter: isPresenter,
|
isPresenter: isPresenter,
|
||||||
};
|
};
|
||||||
log.debug('[REMOVE ME] - DATA', data);
|
log.debug('[REMOVE ME DATA]', data);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم