[Libreoffice-commits] online.git: Branch 'distro/collabora/co-4-2' - loleaflet/js

Michael Meeks (via logerrit) logerrit at kemper.freedesktop.org
Tue Jun 9 12:27:24 UTC 2020


 loleaflet/js/global.js |   35 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

New commits:
commit 95fae63098d42a28e559c39ca79021a079cd7b57
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Tue Jun 9 10:44:30 2020 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Jun 9 14:27:03 2020 +0200

    Proxy: don't implement a magic re-connecting socket.
    
    Websockets don't magically re-connect, so we shouldn't either.
    Also avoid starting our send interval timer until we've opened
    to simplify.
    
    Change-Id: Id71049da2d4b4d0ac2f38a3d7410f2446d04f0b1
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95906
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Tested-by: Jenkins
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    (cherry picked from commit 19b544477e3f425fb55ca6e51be255860c6b13b1)
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95885
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/loleaflet/js/global.js b/loleaflet/js/global.js
index 0cafa649c..c6590389b 100644
--- a/loleaflet/js/global.js
+++ b/loleaflet/js/global.js
@@ -354,15 +354,15 @@
 			{
 				this.onerror();
 				this.onclose();
-				clearInterval(this.waitInterval);
-				clearTimeout(this.delaySession);
-				this.waitInterval = undefined;
-				this.sessionId = 'open';
-				this.inSerial = 0;
-				this.outSerial = 0;
-				this.msgInflight = 0;
-				this.openInflight = 0;
 			}
+			clearInterval(this.waitInterval);
+			clearTimeout(this.delaySession);
+			this.waitInterval = undefined;
+			this.sessionId = 'open';
+			this.inSerial = 0;
+			this.outSerial = 0;
+			this.msgInflight = 0;
+			this.openInflight = 0;
 			this.readyState = 3; // CLOSED
 		};
 		this._setPollInterval = function(intervalMs) {
@@ -373,10 +373,7 @@
 			if (that.sessionId === 'open')
 			{
 				if (that.readyState === 3)
-				{
-					console.debug('Session closed, opening a new one.');
-					that.getSessionId();
-				}
+					console.debug('Error: sending on closed socket');
 				return;
 			}
 
@@ -488,11 +485,17 @@
 					console.debug('Error: failed to fetch session id! error: ' + this.status);
 					that._signalErrorClose();
 				}
-				else
+				else // we connected - lets get going ...
 				{
 					that.sessionId = this.responseText;
 					that.readyState = 1;
 					that.onopen();
+
+					// For those who think that long-running sockets are a
+					// better way to wait: you're so right. However, each
+					// consumes a scarce server worker thread while it waits,
+					// so ... back in the real world:
+					that.pollInterval = setInterval(that.doSend, that.curPollMs);
 				}
 			});
 			req.addEventListener('loadend', function() {
@@ -555,12 +558,6 @@
 
 		// queue fetch of session id.
 		this.getSessionId();
-
-		// For those who think that long-running sockets are a
-		// better way to wait: you're so right. However, each
-		// consumes a scarce server worker thread while it waits,
-		// so ... back in the real world:
-		this.pollInterval = setInterval(this.doSend, this.curPollMs);
 	};
 
 	if (global.socketProxy)


More information about the Libreoffice-commits mailing list