removing from peer map more logical fixing bug
This commit is contained in:
@@ -23,11 +23,7 @@ const iceServers = [
|
|||||||
{ urls: 'stun:stun2.l.google.com:19302' },
|
{ urls: 'stun:stun2.l.google.com:19302' },
|
||||||
{ urls: 'stun:stun3.l.google.com:19302' },
|
{ urls: 'stun:stun3.l.google.com:19302' },
|
||||||
{ urls: 'stun:stun4.l.google.com:19302' },
|
{ urls: 'stun:stun4.l.google.com:19302' },
|
||||||
{
|
{ urls: 'stun:global.stun.twilio.com:3478?transport=udp' },
|
||||||
url: 'turn:numb.viagenie.ca',
|
|
||||||
credential: 'muazkh',
|
|
||||||
username: '[email protected]',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
url: 'turn:numb.viagenie.ca',
|
url: 'turn:numb.viagenie.ca',
|
||||||
credential: 'muazkh',
|
credential: 'muazkh',
|
||||||
@@ -38,11 +34,6 @@ const iceServers = [
|
|||||||
credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
|
credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
|
||||||
username: '28224511:1379330808',
|
username: '28224511:1379330808',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
url: 'turn:192.158.29.39:3478?transport=tcp',
|
|
||||||
credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
|
|
||||||
username: '28224511:1379330808',
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
type LinePeerMap = {
|
type LinePeerMap = {
|
||||||
@@ -181,11 +172,13 @@ export function StreamProvider({ children }: { children: React.ReactChild }) {
|
|||||||
[updatePeerMap],
|
[updatePeerMap],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// ! BUG..we need to clean up peer map based on users leaving certain channels as well..
|
||||||
|
// not just an all inclusive list for all tuned in users...list for each channel
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let allTunedInUsers = [];
|
const tunedUsersForLines: { [lineId: string]: string[] } = {};
|
||||||
Object.values(roomsMap).map((currentLine) => {
|
Object.values(roomsMap).map((currentLine) => {
|
||||||
if (currentLine.tunedInMemberIds)
|
if (currentLine.tunedInMemberIds)
|
||||||
allTunedInUsers = [...currentLine.tunedInMemberIds, ...allTunedInUsers];
|
tunedUsersForLines[currentLine.lineDetails._id.toString()] = currentLine.tunedInMemberIds;
|
||||||
});
|
});
|
||||||
|
|
||||||
updatePeerMap((draft) => {
|
updatePeerMap((draft) => {
|
||||||
@@ -194,7 +187,7 @@ export function StreamProvider({ children }: { children: React.ReactChild }) {
|
|||||||
Object.entries(draft).map(([lineId, peerRelationsForLine]) => {
|
Object.entries(draft).map(([lineId, peerRelationsForLine]) => {
|
||||||
const usersToRemove = [];
|
const usersToRemove = [];
|
||||||
peerRelationsForLine?.forEach((peerRelation) => {
|
peerRelationsForLine?.forEach((peerRelation) => {
|
||||||
if (!allTunedInUsers.includes(peerRelation.userId)) {
|
if (!tunedUsersForLines[lineId].includes(peerRelation.userId)) {
|
||||||
peerRelation.peer.destroy();
|
peerRelation.peer.destroy();
|
||||||
|
|
||||||
usersToRemove.push(peerRelation.userId);
|
usersToRemove.push(peerRelation.userId);
|
||||||
|
|||||||
Reference in New Issue
Block a user