Skip to content

Commit 72a3343

Browse files
committed
Backport cloud listener fix
1 parent 6dcabb2 commit 72a3343

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

UI/src/app/_services/socket.service.ts

+4
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@ export class SocketService {
258258
this.closeModals.next();
259259
this.socket.emit('cloud_clients');
260260
break;
261+
case 'cloud-client-not-removed':
262+
alert(response.error);
263+
this.closeModals.next();
264+
break;
261265
case 'error':
262266
alert('Unexpected Error Occurred: ' + response.error);
263267
break;

index.js

+12-7
Original file line numberDiff line numberDiff line change
@@ -6846,22 +6846,27 @@ function TallyArbiter_Delete_Cloud_Key(obj) {
68466846
function TallyArbiter_Remove_Cloud_Client(obj) {
68476847
let ipAddress = null;
68486848
let key = null;
6849+
let clientRemoved = false;
68496850
for (let i = 0; i < cloud_clients.length; i++) {
68506851
if (cloud_clients[i].id === obj.id) {
68516852
//disconnect the cloud client
68526853
ipAddress = cloud_clients[i].ipAddress;
68536854
key = cloud_clients[i].key;
6854-
if (io.sockets.connected[cloud_clients[i].socketId]) {
6855+
if (io.sockets.connected && io.sockets.connected.includes(cloud_clients[i].socketId)) {
68556856
io.sockets.connected[cloud_clients[i].socketId].disconnect(true);
6857+
clientRemoved = true;
68566858
}
68576859
cloud_clients.splice(i, 1);
68586860
break;
68596861
}
68606862
}
68616863

6862-
logger(`Cloud Client Removed: ${obj.id} ${ipAddress} ${key}`, 'info');
6863-
6864-
return {result: 'cloud-client-removed-successfully'};
6864+
if(clientRemoved){
6865+
logger(`Cloud Client Removed: ${obj.id} ${ipAddress} ${key}`, 'info');
6866+
return {result: 'cloud-client-removed-successfully'};
6867+
} else {
6868+
return {result: 'cloud-client-not-removed', error: 'Cloud client not found.' };
6869+
}
68656870
}
68666871

68676872
function GetSourceBySourceId(sourceId) {
@@ -7094,7 +7099,7 @@ function FlashListenerClient(listenerClientId) {
70947099
if (listenerClientObj) {
70957100
if (listenerClientObj.cloudConnection) {
70967101
let cloudClientSocketId = GetCloudClientById(listenerClientObj.cloudClientId).socketId;
7097-
if (io.sockets.connected[cloudClientSocketId]) {
7102+
if (io.sockets.connected && io.sockets.connected.includes(cloudClientSocketId)) {
70987103
io.sockets.connected[cloudClientSocketId].emit('flash', listenerClientId);
70997104
}
71007105
}
@@ -7128,7 +7133,7 @@ function MessageListenerClient(listenerClientId, type, socketid, message) {
71287133
if (listenerClientObj) {
71297134
if (listenerClientObj.cloudConnection) {
71307135
let cloudClientSocketId = GetCloudClientById(listenerClientObj.cloudClientId).socketId;
7131-
if (io.sockets.connected[cloudClientSocketId]) {
7136+
if (io.sockets.connected && io.sockets.connected.includes(cloudClientSocketId)) {
71327137
io.sockets.connected[cloudClientSocketId].emit('messaging_client', listenerClientId, type, socketid, message);
71337138
}
71347139
}
@@ -7173,7 +7178,7 @@ function AddCloudClient(socketId, key, ipAddress, datetimeConnected) {
71737178
function DeleteCloudClients(key) {
71747179
for (let i = cloud_clients.length - 1; i >= 0; i--) {
71757180
if (cloud_clients[i].key === key) {
7176-
if (io.sockets.connected[cloud_clients[i].socketId]) {
7181+
if (io.sockets.connected && io.sockets.connected.includes(cloud_clients[i].socketId)) {
71777182
io.sockets.connected[cloud_clients[i].socketId].disconnect(true);
71787183
cloud_clients.splice(i, 1);
71797184
}

0 commit comments

Comments
 (0)