mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Automatically close call when a user is the last on a call.
This commit is contained in:
		@@ -319,19 +319,19 @@ ComunicWeb.components.calls.callWindow = {
 | 
			
		||||
			return;
 | 
			
		||||
 | 
			
		||||
		//Check if all other members rejected call
 | 
			
		||||
		var allRejected = true;
 | 
			
		||||
		var allDisconnected = true;
 | 
			
		||||
		call.info.members.forEach(function(member){
 | 
			
		||||
			if(member.status != "rejected" && member.userID != userID())
 | 
			
		||||
				allRejected = false;
 | 
			
		||||
			if(member.status != "rejected" && member.status != "hang_up" && member.userID != userID())
 | 
			
		||||
				allDisconnected = false;
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		//Check if all call peer rejected the call
 | 
			
		||||
		if(allRejected){
 | 
			
		||||
			call.setLoadingMessage("All other peers rejected the call !");
 | 
			
		||||
		if(allDisconnected){
 | 
			
		||||
			call.setLoadingMessage("Conversation terminated.");
 | 
			
		||||
 | 
			
		||||
			setTimeout(function(){
 | 
			
		||||
				call.close();
 | 
			
		||||
			}, 20000);
 | 
			
		||||
			}, 5000);
 | 
			
		||||
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
@@ -542,5 +542,8 @@ ComunicWeb.components.calls.callWindow = {
 | 
			
		||||
				element.removePeerConnection();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Notify server
 | 
			
		||||
		ComunicWeb.components.calls.interface.hangUp(call.info.id, function(){});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -82,5 +82,22 @@ ComunicWeb.components.calls.interface = {
 | 
			
		||||
			true,
 | 
			
		||||
			callback
 | 
			
		||||
		);
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Hang up a call
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param {Number} call_id The ID of the target call
 | 
			
		||||
	 * @param {function} callback Function to call on call callback
 | 
			
		||||
	 */
 | 
			
		||||
	hangUp: function(call_id, callback){
 | 
			
		||||
		ComunicWeb.common.api.makeAPIrequest(
 | 
			
		||||
			"calls/hangUp",
 | 
			
		||||
			{
 | 
			
		||||
				call_id: call_id,
 | 
			
		||||
			},
 | 
			
		||||
			true,
 | 
			
		||||
			callback
 | 
			
		||||
		);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user