loleaflet/js/global.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-)
New commits: commit ec48b7c746110a5779ec505ed1ba4700222c62d3 Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Thu May 21 21:25:34 2020 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Thu May 21 23:02:39 2020 +0200 Proxy: handle connection failure during session gracefully. Change-Id: Ib8bda31352de6fea406b32b86bc134ee2a7841d8 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94652 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.me...@collabora.com> diff --git a/loleaflet/js/global.js b/loleaflet/js/global.js index 6cc75b7b5..373d1635e 100644 --- a/loleaflet/js/global.js +++ b/loleaflet/js/global.js @@ -295,6 +295,17 @@ } }; this.sendQueue = ''; + this._signalErrorClose = function() { + if (that.readyState < 3) + { + this.onerror(); + this.onclose(); + clearInterval(this.waitInterval); + this.waitInterval = undefined; + this.sessionId = 'open'; + } + this.readyState = 3; // CLOSED + }; this.doSend = function () { if (that.sessionId === 'open') { @@ -315,7 +326,10 @@ if (this.status == 200) that.parseIncomingArray(new Uint8Array(this.response)); else - console.debug('proxy: error on incoming response'); + { + console.debug('proxy: error on incoming response ' + this.status); + that._signalErrorClose(); + } }); req.addEventListener('loadend', function() { that.msgInflight--; @@ -333,9 +347,7 @@ if (this.responseText.indexOf('\n') >= 0) { console.debug('Error: failed to fetch session id!'); - that.onerror(); - that.onclose(); - that.readyState = 3; + that._signalErrorClose(); } else { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits