From f84ef4e99917b6739a12b612c9bcb488c065a2b3 Mon Sep 17 00:00:00 2001 From: Simon Detheridge Date: Fri, 24 Apr 2020 10:17:57 +0100 Subject: [PATCH] Merge pull request #2769 from overleaf/jpa-fix-socket-io-v2-ie11 [frontend] ConnectionManager: ie11 fix for socket.io v2 and wsUrl GitOrigin-RevId: 9692a1b7c6b0278e8069013a68990b69694ba549 --- .../frontend/js/ide/connection/ConnectionManager.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/ide/connection/ConnectionManager.js b/services/web/frontend/js/ide/connection/ConnectionManager.js index 54d4fe40ed..0fecad761f 100644 --- a/services/web/frontend/js/ide/connection/ConnectionManager.js +++ b/services/web/frontend/js/ide/connection/ConnectionManager.js @@ -111,9 +111,17 @@ define(['./SocketIoShim'], function(SocketIoShim) { parsedURL = new URL(this.wsUrl || '/socket.io', window.location) } catch (e) { // hello IE11 + if ( + this.wsUrl && + this.wsUrl.indexOf('/') !== 0 && + !window.location.href.match(/ws=fallback/) + ) { + // do not even try parsing the wsUrl, use the fallback + window.location = window.location.href + '?ws=fallback' + } parsedURL = { origin: null, - pathname: '/socket.io' + pathname: this.wsUrl || '/socket.io' } } this.ide.socket = SocketIoShim.connect(