Преглед на файлове

use event instead of timeout

Dele Olajide преди 2 години
родител
ревизия
b21b839d74
променени са 3 файла, в които са добавени 20 реда и са изтрити 14 реда
  1. 9 11
      packages/galene/galene-ui.js
  2. 3 3
      packages/galene/galene.js
  3. 8 0
      packages/galene/protocol.js

+ 9 - 11
packages/galene/galene-ui.js

@@ -3983,7 +3983,7 @@ window.onload = async function() {
     if(serverConnection && serverConnection.socket)
         serverConnection.close();
     serverConnection = new ServerConnection();
-    serverConnection.onconnected = amConnected;
+    serverConnection.onhandshake = amConnected;
     serverConnection.onpeerconnection = onPeerConnection;
     serverConnection.onclose = gotClose;
     serverConnection.ondownstream = gotDownStream;
@@ -4042,7 +4042,7 @@ function urlParam (name) {
 	return unescape(results[1] || undefined);
 }
 
-function amConnected() {
+async function amConnected() {
 	console.debug("amConnected");	
     setConnected(true);	
 	connectingAgain = false;
@@ -4050,15 +4050,13 @@ function amConnected() {
 	const username = urlParam("username") || localStorage.getItem("galene_username") || prompt("Enter username");
 	const pw = "";
 	
-	setTimeout( async() => {
-		try {
-			await serverConnection.join(group, username, pw);
-			localStorage.setItem("galene_username", username);
-		} catch(e) {
-			console.error(e);
-			serverConnection.close();
-		}
-	}, 2000);
+	try {
+		await serverConnection.join(group, username, pw);
+		localStorage.setItem("galene_username", username);
+	} catch(e) {
+		console.error(e);
+		serverConnection.close();
+	}
 }
 
 function closeConnection() {

+ 3 - 3
packages/galene/galene.js

@@ -261,7 +261,7 @@
 	function connectMedia(callId, headers) {
 		if (!serverConnection) {
 			serverConnection = new ServerConnection();
-			serverConnection.onconnected = gotConnected;
+			serverConnection.onhandshake = gotHandshake;
 			serverConnection.onpeerconnection = onPeerConnection;
 			serverConnection.onclose = gotClose;
 			serverConnection.ondownstream = gotDownStream;
@@ -539,8 +539,8 @@
 		}		
 	}
 
-	async function gotConnected() {
-		console.debug("gotConnected");	
+	async function gotHandshake() {
+		console.debug("gotHandshake");	
 		
 		const username = Strophe.getNodeFromJid(_converse.connection.jid);
 		const pw = "";

+ 8 - 0
packages/galene/protocol.js

@@ -146,6 +146,12 @@ function ServerConnection() {
 
     /* Callbacks */
 
+    /** BAO
+     * onhandshake is called when the connection handshake has been recieved
+     *
+     * @type{(this: ServerConnection) => void}
+     */
+    this.onhandshake = null;
     /**
      * onconnected is called when the connection has been established
      *
@@ -350,6 +356,8 @@ ServerConnection.prototype.connect = async function(connection, host) {
                     console.warn(`Unknown protocol version ${v || m.version}`);
                     sc.version = "1"
                 }
+				if(sc.onhandshake) // BAO
+					sc.onhandshake.call(sc);				
                 break;
             }
             case 'offer':