Merge pull request #10128 from overleaf/bg-upgrade-socket-io

upgrade socket.io in real-time

GitOrigin-RevId: 263e52a838a438641690324fc8151445581fd3f3
This commit is contained in:
Brian Gough 2022-10-27 11:26:40 +01:00 committed by Copybot
parent 2aff826965
commit ba68db6ba7
3 changed files with 107 additions and 302 deletions

390
package-lock.json generated
View file

@ -5132,14 +5132,11 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true "dev": true
}, },
"node_modules/@socket.io/base64-arraybuffer": { "node_modules/@socket.io/component-emitter": {
"version": "1.0.2", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
"dev": true, "dev": true
"engines": {
"node": ">= 0.6.0"
}
}, },
"node_modules/@szmarczak/http-timer": { "node_modules/@szmarczak/http-timer": {
"version": "1.1.2", "version": "1.1.2",
@ -5393,12 +5390,6 @@
"integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==",
"dev": true "dev": true
}, },
"node_modules/@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
"dev": true
},
"node_modules/@types/connect": { "node_modules/@types/connect": {
"version": "3.4.35", "version": "3.4.35",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
@ -6703,17 +6694,6 @@
"node": ">=0.4.0" "node": ">=0.4.0"
} }
}, },
"node_modules/active-x-obfuscator": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz",
"integrity": "sha1-CJuJs3FF/x2ex0r2UwvlUmyuHxo=",
"dependencies": {
"zeparser": "0.0.5"
},
"engines": {
"node": "*"
}
},
"node_modules/addressparser": { "node_modules/addressparser": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
@ -11902,9 +11882,9 @@
} }
}, },
"node_modules/engine.io": { "node_modules/engine.io": {
"version": "6.1.3", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/cookie": "^0.4.1", "@types/cookie": "^0.4.1",
@ -11923,13 +11903,10 @@
} }
}, },
"node_modules/engine.io-parser": { "node_modules/engine.io-parser": {
"version": "5.0.3", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
"dev": true, "dev": true,
"dependencies": {
"@socket.io/base64-arraybuffer": "~1.0.2"
},
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
} }
@ -18936,17 +18913,17 @@
} }
}, },
"node_modules/karma/node_modules/socket.io": { "node_modules/karma/node_modules/socket.io": {
"version": "4.4.1", "version": "4.5.3",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "~2.0.0", "base64id": "~2.0.0",
"debug": "~4.3.2", "debug": "~4.3.2",
"engine.io": "~6.1.0", "engine.io": "~6.2.0",
"socket.io-adapter": "~2.3.3", "socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.4" "socket.io-parser": "~4.2.0"
}, },
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
@ -22968,7 +22945,7 @@
"node_modules/options": { "node_modules/options": {
"version": "0.0.6", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", "integrity": "sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg==",
"engines": { "engines": {
"node": ">=0.4.0" "node": ">=0.4.0"
} }
@ -27438,12 +27415,11 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}, },
"node_modules/socket.io": { "node_modules/socket.io": {
"version": "0.9.19-overleaf-6", "version": "0.9.19-overleaf-9",
"resolved": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", "resolved": "git+ssh://git@github.com/overleaf/socket.io.git#98413354b8319f84c50268acfb67c46c30fce365",
"dependencies": { "dependencies": {
"base64id": "0.1.0", "base64id": "0.1.0",
"policyfile": "0.0.4", "policyfile": "0.0.4"
"socket.io-client": "https://github.com/overleaf/socket.io-client/archive/0.9.17-overleaf-3.tar.gz"
}, },
"engines": { "engines": {
"node": ">= 0.4.0" "node": ">= 0.4.0"
@ -27453,65 +27429,29 @@
} }
}, },
"node_modules/socket.io-adapter": { "node_modules/socket.io-adapter": {
"version": "2.3.3", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
"dev": true "dev": true
}, },
"node_modules/socket.io-client": { "node_modules/socket.io-client": {
"version": "0.9.17-overleaf-3", "version": "0.9.17-overleaf-5",
"resolved": "https://github.com/overleaf/socket.io-client/archive/0.9.17-overleaf-3.tar.gz", "resolved": "git+ssh://git@github.com/overleaf/socket.io-client.git#805a73d2a2e2408982597d5986a401088b7aa588",
"integrity": "sha512-EtKV6qGQjG/DwMXfLAiS559f07xjPVavYZ+amYwiEZ0FUHdLObuGH3zvoxghjbI6l8gFTflQhGt1foiHIGnDKg==",
"dependencies": { "dependencies": {
"active-x-obfuscator": "0.0.1", "ws": "^1.1.5",
"uglify-js": "1.2.5", "xmlhttprequest": "^1.8.0"
"ws": "0.4.x",
"xmlhttprequest": "1.4.2"
}, },
"engines": { "engines": {
"node": ">= 0.4.0" "node": ">= 0.4.0"
} }
}, },
"node_modules/socket.io-client/node_modules/commander": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
"integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=",
"engines": {
"node": ">= 0.6.x"
}
},
"node_modules/socket.io-client/node_modules/nan": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz",
"integrity": "sha1-riT4hQgY1mL8q1rPfzuVv6oszzg="
},
"node_modules/socket.io-client/node_modules/uglify-js": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz",
"integrity": "sha1-tULCx29477NLIAsgF3Y0Mw/3ArY=",
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": "*"
}
},
"node_modules/socket.io-client/node_modules/ws": { "node_modules/socket.io-client/node_modules/ws": {
"version": "0.4.32", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
"integrity": "sha1-eHphVEFPPJntg8V3IVOyD+sM7DI=", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"hasInstallScript": true,
"dependencies": { "dependencies": {
"commander": "~2.1.0",
"nan": "~1.0.0",
"options": ">=0.0.5", "options": ">=0.0.5",
"tinycolor": "0.x" "ultron": "1.0.x"
},
"bin": {
"wscat": "bin/wscat"
},
"engines": {
"node": ">=0.4.0"
} }
}, },
"node_modules/socket.io-mock": { "node_modules/socket.io-mock": {
@ -27524,13 +27464,12 @@
} }
}, },
"node_modules/socket.io-parser": { "node_modules/socket.io-parser": {
"version": "4.0.4", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/component-emitter": "^1.2.10", "@socket.io/component-emitter": "~3.1.0",
"component-emitter": "~1.3.0",
"debug": "~4.3.1" "debug": "~4.3.1"
}, },
"engines": { "engines": {
@ -29191,14 +29130,6 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
}, },
"node_modules/tinycolor": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz",
"integrity": "sha1-MgtaUtg6u1l42Bo+iH1K77FaYWQ=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/tlds": { "node_modules/tlds": {
"version": "1.228.0", "version": "1.228.0",
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.228.0.tgz", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.228.0.tgz",
@ -29775,6 +29706,11 @@
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz", "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==" "integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
}, },
"node_modules/ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow=="
},
"node_modules/umzug": { "node_modules/umzug": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz",
@ -31300,9 +31236,9 @@
"dev": true "dev": true
}, },
"node_modules/xmlhttprequest": { "node_modules/xmlhttprequest": {
"version": "1.4.2", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
"integrity": "sha1-AUU6HZvtHo8XL2SVu/TIxCYyFQA=", "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==",
"engines": { "engines": {
"node": ">=0.4.0" "node": ">=0.4.0"
} }
@ -31530,14 +31466,6 @@
"node": ">= 0.10" "node": ">= 0.10"
} }
}, },
"node_modules/zeparser": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz",
"integrity": "sha1-A3JlYbwmjy5URPVMZlt/1KjAKeI=",
"engines": {
"node": "*"
}
},
"node_modules/zip-stream": { "node_modules/zip-stream": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
@ -33636,8 +33564,8 @@
"express-session": "^1.17.1", "express-session": "^1.17.1",
"proxy-addr": "^2.0.7", "proxy-addr": "^2.0.7",
"request": "^2.88.2", "request": "^2.88.2",
"socket.io": "overleaf/socket.io#0.9.19-overleaf-6", "socket.io": "github:overleaf/socket.io#0.9.19-overleaf-9",
"socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", "socket.io-client": "github:overleaf/socket.io-client#0.9.17-overleaf-5",
"underscore": "1.13.1" "underscore": "1.13.1"
}, },
"devDependencies": { "devDependencies": {
@ -33651,19 +33579,6 @@
"uid-safe": "^2.1.5" "uid-safe": "^2.1.5"
} }
}, },
"services/real-time/node_modules/commander": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
"integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==",
"engines": {
"node": ">= 0.6.x"
}
},
"services/real-time/node_modules/nan": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz",
"integrity": "sha512-Wm2/nFOm2y9HtJfgOLnctGbfvF23FcQZeyUZqDD8JQG3zO5kXh3MkQKiUaA68mJiVWrOzLFkAV1u6bC8P52DJA=="
},
"services/real-time/node_modules/sandboxed-module": { "services/real-time/node_modules/sandboxed-module": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz", "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz",
@ -33674,19 +33589,6 @@
"stack-trace": "0.0.6" "stack-trace": "0.0.6"
} }
}, },
"services/real-time/node_modules/socket.io-client": {
"version": "0.9.17-overleaf-3",
"resolved": "git+ssh://git@github.com/overleaf/socket.io-client.git#60e7aa96978e890dcfc244071de0284e9174e125",
"dependencies": {
"active-x-obfuscator": "0.0.1",
"uglify-js": "1.2.5",
"ws": "0.4.x",
"xmlhttprequest": "1.4.2"
},
"engines": {
"node": ">= 0.4.0"
}
},
"services/real-time/node_modules/stack-trace": { "services/real-time/node_modules/stack-trace": {
"version": "0.0.6", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz",
@ -33702,40 +33604,11 @@
"integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=", "integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=",
"dev": true "dev": true
}, },
"services/real-time/node_modules/uglify-js": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz",
"integrity": "sha512-Ps1oQryKOcRDYuAN1tGpPWd/DIRMcdLz4p7JMxLjJiFvp+aaG01IEu0ZSoVvYUSxIkvW7k2X50BCW2InguEGlg==",
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": "*"
}
},
"services/real-time/node_modules/underscore": { "services/real-time/node_modules/underscore": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
"integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g=="
}, },
"services/real-time/node_modules/ws": {
"version": "0.4.32",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz",
"integrity": "sha512-htqsS0U9Z9lb3ITjidQkRvkLdVhQePrMeu475yEfOWkAYvJ6dSjQp1tOH6ugaddzX5b7sQjMPNtY71eTzrV/kA==",
"hasInstallScript": true,
"dependencies": {
"commander": "~2.1.0",
"nan": "~1.0.0",
"options": ">=0.0.5",
"tinycolor": "0.x"
},
"bin": {
"wscat": "bin/wscat"
},
"engines": {
"node": ">=0.4.0"
}
},
"services/references": { "services/references": {
"name": "@overleaf/references", "name": "@overleaf/references",
"dependencies": { "dependencies": {
@ -41412,23 +41285,13 @@
"request": "^2.88.2", "request": "^2.88.2",
"sandboxed-module": "~0.3.0", "sandboxed-module": "~0.3.0",
"sinon": "^9.2.4", "sinon": "^9.2.4",
"socket.io": "overleaf/socket.io#0.9.19-overleaf-6", "socket.io": "github:overleaf/socket.io#0.9.19-overleaf-9",
"socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", "socket.io-client": "github:overleaf/socket.io-client#0.9.17-overleaf-5",
"timekeeper": "0.0.4", "timekeeper": "0.0.4",
"uid-safe": "^2.1.5", "uid-safe": "^2.1.5",
"underscore": "1.13.1" "underscore": "1.13.1"
}, },
"dependencies": { "dependencies": {
"commander": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
"integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ=="
},
"nan": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz",
"integrity": "sha512-Wm2/nFOm2y9HtJfgOLnctGbfvF23FcQZeyUZqDD8JQG3zO5kXh3MkQKiUaA68mJiVWrOzLFkAV1u6bC8P52DJA=="
},
"sandboxed-module": { "sandboxed-module": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz", "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz",
@ -41439,16 +41302,6 @@
"stack-trace": "0.0.6" "stack-trace": "0.0.6"
} }
}, },
"socket.io-client": {
"version": "git+ssh://git@github.com/overleaf/socket.io-client.git#60e7aa96978e890dcfc244071de0284e9174e125",
"from": "socket.io-client@overleaf/socket.io-client#0.9.17-overleaf-3",
"requires": {
"active-x-obfuscator": "0.0.1",
"uglify-js": "1.2.5",
"ws": "0.4.x",
"xmlhttprequest": "1.4.2"
}
},
"stack-trace": { "stack-trace": {
"version": "0.0.6", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz",
@ -41461,26 +41314,10 @@
"integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=", "integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=",
"dev": true "dev": true
}, },
"uglify-js": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz",
"integrity": "sha512-Ps1oQryKOcRDYuAN1tGpPWd/DIRMcdLz4p7JMxLjJiFvp+aaG01IEu0ZSoVvYUSxIkvW7k2X50BCW2InguEGlg=="
},
"underscore": { "underscore": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
"integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g=="
},
"ws": {
"version": "0.4.32",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz",
"integrity": "sha512-htqsS0U9Z9lb3ITjidQkRvkLdVhQePrMeu475yEfOWkAYvJ6dSjQp1tOH6ugaddzX5b7sQjMPNtY71eTzrV/kA==",
"requires": {
"commander": "~2.1.0",
"nan": "~1.0.0",
"options": ">=0.0.5",
"tinycolor": "0.x"
}
} }
} }
}, },
@ -44423,10 +44260,10 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true "dev": true
}, },
"@socket.io/base64-arraybuffer": { "@socket.io/component-emitter": {
"version": "1.0.2", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
"dev": true "dev": true
}, },
"@szmarczak/http-timer": { "@szmarczak/http-timer": {
@ -44608,12 +44445,6 @@
"integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==",
"dev": true "dev": true
}, },
"@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
"dev": true
},
"@types/connect": { "@types/connect": {
"version": "3.4.35", "version": "3.4.35",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
@ -45700,14 +45531,6 @@
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
"dev": true "dev": true
}, },
"active-x-obfuscator": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz",
"integrity": "sha1-CJuJs3FF/x2ex0r2UwvlUmyuHxo=",
"requires": {
"zeparser": "0.0.5"
}
},
"addressparser": { "addressparser": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
@ -49833,9 +49656,9 @@
} }
}, },
"engine.io": { "engine.io": {
"version": "6.1.3", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/cookie": "^0.4.1", "@types/cookie": "^0.4.1",
@ -49872,13 +49695,10 @@
} }
}, },
"engine.io-parser": { "engine.io-parser": {
"version": "5.0.3", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
"dev": true, "dev": true
"requires": {
"@socket.io/base64-arraybuffer": "~1.0.2"
}
}, },
"enhanced-resolve": { "enhanced-resolve": {
"version": "5.9.2", "version": "5.9.2",
@ -55225,17 +55045,17 @@
} }
}, },
"socket.io": { "socket.io": {
"version": "4.4.1", "version": "4.5.3",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==",
"dev": true, "dev": true,
"requires": { "requires": {
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "~2.0.0", "base64id": "~2.0.0",
"debug": "~4.3.2", "debug": "~4.3.2",
"engine.io": "~6.1.0", "engine.io": "~6.2.0",
"socket.io-adapter": "~2.3.3", "socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.4" "socket.io-parser": "~4.2.0"
} }
}, },
"source-map": { "source-map": {
@ -58555,7 +58375,7 @@
"options": { "options": {
"version": "0.0.6", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" "integrity": "sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg=="
}, },
"ordered-read-streams": { "ordered-read-streams": {
"version": "1.0.1", "version": "1.0.1",
@ -62551,13 +62371,12 @@
} }
}, },
"socket.io": { "socket.io": {
"version": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", "version": "git+ssh://git@github.com/overleaf/socket.io.git#98413354b8319f84c50268acfb67c46c30fce365",
"from": "socket.io@overleaf/socket.io#0.9.19-overleaf-6", "from": "socket.io@github:overleaf/socket.io#0.9.19-overleaf-9",
"requires": { "requires": {
"base64id": "0.1.0", "base64id": "0.1.0",
"policyfile": "0.0.4", "policyfile": "0.0.4",
"redis": "0.7.3", "redis": "0.7.3"
"socket.io-client": "https://github.com/overleaf/socket.io-client/archive/0.9.17-overleaf-3.tar.gz"
}, },
"dependencies": { "dependencies": {
"redis": { "redis": {
@ -62569,45 +62388,26 @@
} }
}, },
"socket.io-adapter": { "socket.io-adapter": {
"version": "2.3.3", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
"dev": true "dev": true
}, },
"socket.io-client": { "socket.io-client": {
"version": "https://github.com/overleaf/socket.io-client/archive/0.9.17-overleaf-3.tar.gz", "version": "git+ssh://git@github.com/overleaf/socket.io-client.git#805a73d2a2e2408982597d5986a401088b7aa588",
"integrity": "sha512-EtKV6qGQjG/DwMXfLAiS559f07xjPVavYZ+amYwiEZ0FUHdLObuGH3zvoxghjbI6l8gFTflQhGt1foiHIGnDKg==", "from": "socket.io-client@github:overleaf/socket.io-client#0.9.17-overleaf-5",
"requires": { "requires": {
"active-x-obfuscator": "0.0.1", "ws": "^1.1.5",
"uglify-js": "1.2.5", "xmlhttprequest": "^1.8.0"
"ws": "0.4.x",
"xmlhttprequest": "1.4.2"
}, },
"dependencies": { "dependencies": {
"commander": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
"integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E="
},
"nan": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz",
"integrity": "sha1-riT4hQgY1mL8q1rPfzuVv6oszzg="
},
"uglify-js": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz",
"integrity": "sha1-tULCx29477NLIAsgF3Y0Mw/3ArY="
},
"ws": { "ws": {
"version": "0.4.32", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
"integrity": "sha1-eHphVEFPPJntg8V3IVOyD+sM7DI=", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"requires": { "requires": {
"commander": "~2.1.0",
"nan": "~1.0.0",
"options": ">=0.0.5", "options": ">=0.0.5",
"tinycolor": "0.x" "ultron": "1.0.x"
} }
} }
} }
@ -62622,13 +62422,12 @@
} }
}, },
"socket.io-parser": { "socket.io-parser": {
"version": "4.0.4", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/component-emitter": "^1.2.10", "@socket.io/component-emitter": "~3.1.0",
"component-emitter": "~1.3.0",
"debug": "~4.3.1" "debug": "~4.3.1"
} }
}, },
@ -63972,11 +63771,6 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
}, },
"tinycolor": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz",
"integrity": "sha1-MgtaUtg6u1l42Bo+iH1K77FaYWQ="
},
"tlds": { "tlds": {
"version": "1.228.0", "version": "1.228.0",
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.228.0.tgz", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.228.0.tgz",
@ -64436,6 +64230,11 @@
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz", "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==" "integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
}, },
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow=="
},
"umzug": { "umzug": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz",
@ -65634,9 +65433,9 @@
"dev": true "dev": true
}, },
"xmlhttprequest": { "xmlhttprequest": {
"version": "1.4.2", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
"integrity": "sha1-AUU6HZvtHo8XL2SVu/TIxCYyFQA=" "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA=="
}, },
"xpath": { "xpath": {
"version": "0.0.5", "version": "0.0.5",
@ -65810,11 +65609,6 @@
} }
} }
}, },
"zeparser": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz",
"integrity": "sha1-A3JlYbwmjy5URPVMZlt/1KjAKeI="
},
"zip-stream": { "zip-stream": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",

View file

@ -24,6 +24,8 @@ const DrainManager = require('./app/js/DrainManager')
const HealthCheckManager = require('./app/js/HealthCheckManager') const HealthCheckManager = require('./app/js/HealthCheckManager')
const DeploymentManager = require('./app/js/DeploymentManager') const DeploymentManager = require('./app/js/DeploymentManager')
const Path = require('path')
// NOTE: debug is invoked for every blob that is put on the wire // NOTE: debug is invoked for every blob that is put on the wire
const socketIoLogger = { const socketIoLogger = {
error(...message) { error(...message) {
@ -62,8 +64,8 @@ const sessionSockets = new SessionSockets(
Metrics.injectMetricsRoute(app) Metrics.injectMetricsRoute(app)
io.configure(function () { io.configure(function () {
io.enable('browser client minification') // Don't use socket.io to serve client
io.enable('browser client etag') io.disable('browser client')
// Fix for Safari 5 error of "Error during WebSocket handshake: location mismatch" // Fix for Safari 5 error of "Error during WebSocket handshake: location mismatch"
// See http://answers.dotcloud.com/question/578/problem-with-websocket-over-ssl-in-safari-with // See http://answers.dotcloud.com/question/578/problem-with-websocket-over-ssl-in-safari-with
@ -81,6 +83,15 @@ io.configure(function () {
]) ])
}) })
// Serve socket.io.js client file from imported dist folder
// The express sendFile method correctly handles conditional
// requests using the last-modified time and etag (which is
// a combination of mtime and size)
const socketIOClientFolder = require('socket.io-client').dist
app.get('/socket.io/socket.io.js', function (req, res) {
res.sendFile(Path.join(socketIOClientFolder, 'socket.io.min.js'))
})
// a 200 response on '/' is required for load balancer health checks // a 200 response on '/' is required for load balancer health checks
// these operate separately from kubernetes readiness checks // these operate separately from kubernetes readiness checks
app.get('/', function (req, res) { app.get('/', function (req, res) {

View file

@ -32,8 +32,8 @@
"express-session": "^1.17.1", "express-session": "^1.17.1",
"proxy-addr": "^2.0.7", "proxy-addr": "^2.0.7",
"request": "^2.88.2", "request": "^2.88.2",
"socket.io": "overleaf/socket.io#0.9.19-overleaf-6", "socket.io": "github:overleaf/socket.io#0.9.19-overleaf-9",
"socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", "socket.io-client": "github:overleaf/socket.io-client#0.9.17-overleaf-5",
"underscore": "1.13.1" "underscore": "1.13.1"
}, },
"devDependencies": { "devDependencies": {