loleaflet/src/core/Socket.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
New commits: commit 59c62ea37de820b3a44da575345bcc35213a1a83 Author: Ashod Nakashian <[email protected]> Date: Thu Jul 12 08:25:04 2018 -0400 leaflet: detect WebSocket failure on IE11 and inform user IE 11 has limitation on the number of WebSockets open to a signle domain, 6 by default. Once the limitation hit, creating a new WebSocket throws exception (SecurityError). This detects IE11 and lets the user know about this limitation and how to extend it. Change-Id: I8119fe35e0d460f1a52251d3f4bcd5136992c224 Reviewed-on: https://gerrit.libreoffice.org/57340 Reviewed-by: Jan Holesovsky <[email protected]> Tested-by: Jan Holesovsky <[email protected]> diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js index aae9f0f89..eb93d1f2f 100644 --- a/loleaflet/src/core/Socket.js +++ b/loleaflet/src/core/Socket.js @@ -35,7 +35,14 @@ L.Socket = L.Class.extend({ try { this.socket = new WebSocket(map.options.server + '/lool/' + encodeURIComponent(map.options.doc + '?' + $.param(map.options.docParams)) + '/ws' + wopiSrc); } catch (e) { - this._map.fire('error', {msg: _('Oops, there is a problem connecting to LibreOffice Online : ').replace('LibreOffice Online', (typeof brandProductName !== 'undefined' ? brandProductName : 'LibreOffice Online')) + e, cmd: 'socket', kind: 'failed', id: 3}); + // On IE 11 there is a limiation on the number of WebSockets open to a single domain (6 by default and can go to 128). + // Detect this and hint the user. + var msgHint = ''; + var isIE11 = !!window.MSInputMethodContext && !!document.documentMode; // https://stackoverflow.com/questions/21825157/internet-explorer-11-detection + if (isIE11) + msgHint = 'Note: IE11 has limitation on the maximum number of WebSockets open to a single domain. Please consult this page on how to change this limit: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330736(v=vs.85)#websocket-maximum-server-connections'; + + this._map.fire('error', {msg: _('Oops, there is a problem connecting to LibreOffice Online : ').replace('LibreOffice Online', (typeof brandProductName !== 'undefined' ? brandProductName : 'LibreOffice Online')) + e + msgHint, cmd: 'socket', kind: 'failed', id: 3}); return; } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
