diff --git a/package.json b/package.json index 169ac3f4758..eb43d5f5600 100644 --- a/package.json +++ b/package.json @@ -271,10 +271,12 @@ "resolutions": { "**/@types/cheerio": "0.22.21", "**/@types/enzyme": "3.10.5", + "**/engine.io": "6.4.2", "**/jquery": "3.7.1", "**/pretty-format": "26.4.0", "**/sharp": "0.29.3", - "**/socket.io-parser": "4.0.5", + "**/socket.io": "4.6.2", + "**/socket.io-parser": "4.2.4", "**/ua-parser-js": "0.7.33", "@definitelytyped/typescript-versions": "0.1.7", "@types/react": "18.3.12", diff --git a/packages/server/lib/socket-base.ts b/packages/server/lib/socket-base.ts index 661076e7947..b7f08d111af 100644 --- a/packages/server/lib/socket-base.ts +++ b/packages/server/lib/socket-base.ts @@ -122,7 +122,7 @@ export class SocketBase { return new CDPSocketServer({ path: socketIoRoute }) } - createSocketIo (server: DestroyableHttpServer, path: string, cookie: string | boolean) { + createSocketIo (server: DestroyableHttpServer, path: string, cookie: string) { return new socketIo.SocketIOServer(server, { path, cookie: { diff --git a/packages/server/package.json b/packages/server/package.json index f5594a72c07..32c64d9bc6b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -200,7 +200,7 @@ "request-promise": "4.2.6", "sinon": "17.0.1", "snap-shot-it": "7.9.10", - "socket.io": "4.0.1", + "socket.io": "4.6.2", "ssestream": "1.0.1", "supertest": "4.0.2", "supertest-session": "4.0.0", diff --git a/packages/socket/lib/browser.ts b/packages/socket/lib/browser.ts index c097f3eca96..b503ad143d9 100644 --- a/packages/socket/lib/browser.ts +++ b/packages/socket/lib/browser.ts @@ -26,10 +26,10 @@ export function client (uri: string, opts?: Partial { + emit = (event: string, ...args: any[]) => { // Generate a unique key for this event const uuid = uuidv4() let callback @@ -66,8 +65,10 @@ export class CDPBrowserSocket extends Emitter implements SocketShape { this.once(uuid, callback) } - await encode([event, uuid, args], this._namespace).then((encoded: any) => { + encode([event, uuid, args], this._namespace).then((encoded: any) => { window[`cypressSendToServer-${this._namespace}`](JSON.stringify(encoded)) + }).catch(() => { + // Silently handle encoding errors }) return this diff --git a/packages/socket/lib/types.ts b/packages/socket/lib/types.ts index d5212cd6b45..d88edbf09f0 100644 --- a/packages/socket/lib/types.ts +++ b/packages/socket/lib/types.ts @@ -1,3 +1,3 @@ import type Emitter from 'component-emitter' -export type SocketShape = Emitter +export type SocketShape = InstanceType diff --git a/packages/socket/package.json b/packages/socket/package.json index 8ef158db5ac..d3424524b55 100644 --- a/packages/socket/package.json +++ b/packages/socket/package.json @@ -17,14 +17,14 @@ "tslint": "tslint --config ../ts/tslint.json --project ." }, "dependencies": { - "component-emitter": "1.3.0", + "component-emitter": "2.0.0", "debug": "^4.4.0", "engine.io": "6.4.2", - "engine.io-parser": "4.0.2", + "engine.io-parser": "5.0.4", "flatted": "3.2.9", - "socket.io": "4.0.1", - "socket.io-client": "4.0.1", - "socket.io-parser": "4.0.5", + "socket.io": "4.6.2", + "socket.io-client": "4.6.2", + "socket.io-parser": "4.2.4", "uuid": "8.3.2" }, "devDependencies": { diff --git a/packages/socket/patches/engine.io-parser+4.0.2.patch b/packages/socket/patches/engine.io-parser+4.0.2.patch deleted file mode 100644 index cee2a7f6c5d..00000000000 --- a/packages/socket/patches/engine.io-parser+4.0.2.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/node_modules/engine.io-parser/lib/encodePacket.browser.js b/node_modules/engine.io-parser/lib/encodePacket.browser.js -index b2287af..802ddd0 100644 ---- a/node_modules/engine.io-parser/lib/encodePacket.browser.js -+++ b/node_modules/engine.io-parser/lib/encodePacket.browser.js -@@ -6,6 +6,15 @@ const withNativeBlob = - Object.prototype.toString.call(Blob) === "[object BlobConstructor]"); - const withNativeArrayBuffer = typeof ArrayBuffer === "function"; - -+/** -+ * Returns true if obj is an ArrayBuffer. -+ * This extra check is made because the "instanceof ArrayBuffer" check does not work -+ * across different execution contexts. -+ * @private -+ */ -+ function isArrayBuffer(obj) { -+ return typeof obj === 'object' && obj !== null && toString.call(obj) === '[object ArrayBuffer]'; -+} - // ArrayBuffer.isView method is not defined in IE10 - const isView = obj => { - return typeof ArrayBuffer.isView === "function" -@@ -22,10 +31,10 @@ const encodePacket = ({ type, data }, supportsBinary, callback) => { - } - } else if ( - withNativeArrayBuffer && -- (data instanceof ArrayBuffer || isView(data)) -+ (data instanceof ArrayBuffer || isArrayBuffer(data) || isView(data)) - ) { - if (supportsBinary) { -- return callback(data instanceof ArrayBuffer ? data : data.buffer); -+ return callback((data instanceof ArrayBuffer || isArrayBuffer(data)) ? data : data.buffer); - } else { - return encodeBlobAsBase64(new Blob([data]), callback); - } diff --git a/packages/socket/patches/engine.io-parser+5.0.4.patch b/packages/socket/patches/engine.io-parser+5.0.4.patch new file mode 100644 index 00000000000..fefc2482091 --- /dev/null +++ b/packages/socket/patches/engine.io-parser+5.0.4.patch @@ -0,0 +1,32 @@ +diff --git a/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js b/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +index b06ec9b..e69d616 100644 +--- a/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js ++++ b/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +@@ -5,6 +5,15 @@ const withNativeBlob = typeof Blob === "function" || + (typeof Blob !== "undefined" && + Object.prototype.toString.call(Blob) === "[object BlobConstructor]"); + const withNativeArrayBuffer = typeof ArrayBuffer === "function"; ++/** ++ * Returns true if obj is an ArrayBuffer. ++ * This extra check is made because the "instanceof ArrayBuffer" check does not work ++ * across different execution contexts. ++ * @private ++ */ ++ function isArrayBuffer(obj) { ++ return typeof obj === 'object' && obj !== null && toString.call(obj) === '[object ArrayBuffer]'; ++} + // ArrayBuffer.isView method is not defined in IE10 + const isView = obj => { + return typeof ArrayBuffer.isView === "function" +@@ -21,9 +30,9 @@ const encodePacket = ({ type, data }, supportsBinary, callback) => { + } + } + else if (withNativeArrayBuffer && +- (data instanceof ArrayBuffer || isView(data))) { ++ (data instanceof ArrayBuffer || isArrayBuffer(data) || isView(data))) { + if (supportsBinary) { +- return callback(data); ++ return callback((data instanceof ArrayBuffer || isArrayBuffer(data)) ? data : data.buffer); + } + else { + return encodeBlobAsBase64(new Blob([data]), callback); diff --git a/packages/socket/patches/socket.io-parser+4.0.5.patch b/packages/socket/patches/socket.io-parser+4.2.4.patch similarity index 74% rename from packages/socket/patches/socket.io-parser+4.0.5.patch rename to packages/socket/patches/socket.io-parser+4.2.4.patch index 21e203719c9..e99c8997843 100644 --- a/packages/socket/patches/socket.io-parser+4.0.5.patch +++ b/packages/socket/patches/socket.io-parser+4.2.4.patch @@ -1,11 +1,11 @@ -diff --git a/node_modules/socket.io-parser/dist/binary.js b/node_modules/socket.io-parser/dist/binary.js -index 50ed998..0492ec4 100644 ---- a/node_modules/socket.io-parser/dist/binary.js -+++ b/node_modules/socket.io-parser/dist/binary.js +diff --git a/node_modules/socket.io-parser/build/cjs/binary.js b/node_modules/socket.io-parser/build/cjs/binary.js +index 4dfe08f..6fd7d98 100644 +--- a/node_modules/socket.io-parser/build/cjs/binary.js ++++ b/node_modules/socket.io-parser/build/cjs/binary.js @@ -2,6 +2,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.reconstructPacket = exports.deconstructPacket = void 0; - const is_binary_1 = require("./is-binary"); + const is_binary_js_1 = require("./is-binary.js"); +/** + * This file is patched to enable circular objects to be sent over socket.io. + */ @@ -26,7 +26,7 @@ index 50ed998..0492ec4 100644 +function _deconstructPacket(data, buffers, known, retvals) { if (!data) return data; - if (is_binary_1.isBinary(data)) { + if ((0, is_binary_js_1.isBinary)(data)) { @@ -26,18 +29,27 @@ function _deconstructPacket(data, buffers) { buffers.push(data); return placeholder; @@ -41,7 +41,7 @@ index 50ed998..0492ec4 100644 + known.push(data) + if (Array.isArray(data)) { const newData = new Array(data.length); -+ retvals.set(data, newData) ++ retvals.set(data, newData); for (let i = 0; i < data.length; i++) { - newData[i] = _deconstructPacket(data[i], buffers); + newData[i] = _deconstructPacket(data[i], buffers, known, retvals); @@ -50,11 +50,10 @@ index 50ed998..0492ec4 100644 } else if (typeof data === "object" && !(data instanceof Date)) { const newData = {}; -+ retvals.set(data, newData) ++ retvals.set(data, newData); for (const key in data) { -- if (data.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(data, key)) { - newData[key] = _deconstructPacket(data[key], buffers); -+ if (Object.prototype.hasOwnProperty.call(data, key)) { + newData[key] = _deconstructPacket(data[key], buffers, known, retvals); } } @@ -65,7 +64,7 @@ index 50ed998..0492ec4 100644 function reconstructPacket(packet, buffers) { - packet.data = _reconstructPacket(packet.data, buffers); + packet.data = _reconstructPacket(packet.data, buffers, []); - packet.attachments = undefined; // no longer useful + delete packet.attachments; // no longer useful return packet; } exports.reconstructPacket = reconstructPacket; @@ -74,14 +73,14 @@ index 50ed998..0492ec4 100644 if (!data) return data; if (data && data._placeholder === true) { -@@ -71,16 +83,19 @@ function _reconstructPacket(data, buffers) { - else { +@@ -72,15 +84,19 @@ function _reconstructPacket(data, buffers) { throw new Error("illegal attachments"); } -+ } else if (known.includes(data)) { -+ return data } - else if (Array.isArray(data)) { ++ else if (known.includes(data)) { ++ return data ++ } + known.push(data) + if (Array.isArray(data)) { for (let i = 0; i < data.length; i++) { @@ -91,46 +90,46 @@ index 50ed998..0492ec4 100644 } else if (typeof data === "object") { for (const key in data) { - if (data.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(data, key)) { - data[key] = _reconstructPacket(data[key], buffers); + data[key] = _reconstructPacket(data[key], buffers, known); } } } -diff --git a/node_modules/socket.io-parser/dist/index.js b/node_modules/socket.io-parser/dist/index.js -index b0c8727..3b2dcc3 100644 ---- a/node_modules/socket.io-parser/dist/index.js -+++ b/node_modules/socket.io-parser/dist/index.js -@@ -5,6 +5,7 @@ const Emitter = require("component-emitter"); - const binary_1 = require("./binary"); - const is_binary_1 = require("./is-binary"); - const debug = require("debug")("socket.io-parser"); +diff --git a/node_modules/socket.io-parser/build/cjs/index.js b/node_modules/socket.io-parser/build/cjs/index.js +index df82588..64cc302 100644 +--- a/node_modules/socket.io-parser/build/cjs/index.js ++++ b/node_modules/socket.io-parser/build/cjs/index.js +@@ -6,6 +6,7 @@ const binary_js_1 = require("./binary.js"); + const is_binary_js_1 = require("./is-binary.js"); + const debug_1 = require("debug"); // debug() + const debug = (0, debug_1.default)("socket.io-parser"); // debug() +const flatted = require("flatted"); /** - * Protocol version. - * -@@ -66,7 +67,7 @@ class Encoder { + * These strings must not be used as event names, as they have a special meaning. + */ +@@ -89,7 +90,7 @@ class Encoder { } // json data if (null != obj.data) { -- str += JSON.stringify(obj.data); -+ str += flatted.stringify(obj.data); +- str += JSON.stringify(obj.data, this.replacer); ++ str += flatted.stringify(obj.data, this.replacer); } debug("encoded %j as %s", obj, str); return str; -@@ -235,7 +236,7 @@ class Decoder extends Emitter { - exports.Decoder = Decoder; - function tryParse(str) { - try { -- return JSON.parse(str); -+ return flatted.parse(str); +@@ -243,7 +244,7 @@ class Decoder extends component_emitter_1.Emitter { } - catch (e) { - return false; -diff --git a/node_modules/socket.io-parser/dist/is-binary.js b/node_modules/socket.io-parser/dist/is-binary.js + tryParse(str) { + try { +- return JSON.parse(str, this.reviver); ++ return flatted.parse(str, this.reviver); + } + catch (e) { + return false; +diff --git a/node_modules/socket.io-parser/build/cjs/is-binary.js b/node_modules/socket.io-parser/build/cjs/is-binary.js index 4b7c234..73ec260 100644 ---- a/node_modules/socket.io-parser/dist/is-binary.js -+++ b/node_modules/socket.io-parser/dist/is-binary.js +--- a/node_modules/socket.io-parser/build/cjs/is-binary.js ++++ b/node_modules/socket.io-parser/build/cjs/is-binary.js @@ -1,6 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/packages/types/package.json b/packages/types/package.json index ee3a5a00231..100d7403bea 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -20,7 +20,7 @@ "better-sqlite3": "11.5.0", "devtools-protocol": "0.0.1459876", "express": "4.21.0", - "socket.io": "4.0.1", + "socket.io": "4.6.2", "typescript": "~5.4.5", "vitest": "2.1.8" }, diff --git a/yarn.lock b/yarn.lock index 05ed6c7e32f..a560cbfa548 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7312,6 +7312,11 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + "@stroncium/procfs@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@stroncium/procfs/-/procfs-1.2.1.tgz#6b9be6fd20fb0a4c20e99a8695e083c699bb2b45" @@ -7776,11 +7781,6 @@ resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.0.tgz#79d55e748d730b997be5b7fce4b74488d8b26a6b" integrity sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg== -"@types/component-emitter@^1.2.10": - version "1.2.10" - resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea" - integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== - "@types/concat-stream@1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.0.tgz#394dbe0bb5fee46b38d896735e8b68ef2390d00d" @@ -7803,7 +7803,7 @@ dependencies: "@types/node" "*" -"@types/cookie@^0.4.0", "@types/cookie@^0.4.1": +"@types/cookie@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== @@ -7813,7 +7813,7 @@ resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.2.tgz#66ad9331f63fe8a3d3d9d8c6e3906dd10f6446e8" integrity sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog== -"@types/cors@^2.8.12", "@types/cors@^2.8.8": +"@types/cors@^2.8.12": version "2.8.12" resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== @@ -11137,7 +11137,7 @@ bach@^1.0.0: async-settle "^1.0.0" now-and-later "^2.0.0" -backo2@^1.0.2, backo2@~1.0.2: +backo2@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= @@ -13062,7 +13062,12 @@ compare-versions@4.1.3: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-4.1.3.tgz#8f7b8966aef7dc4282b45dfa6be98434fc18a1a4" integrity sha512-WQfnbDcrYnGr55UwbxKiQKASnTtNnaAWVi8jZyy8NTpVAXWACSne8lMD1iaIo9AiU6mnuLvSVshCzewVuWxHUg== -component-emitter@1.3.0, component-emitter@^1.2.0, component-emitter@^1.2.1, component-emitter@^1.3.0, component-emitter@~1.3.0: +component-emitter@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-2.0.0.tgz#3a137dfe66fcf2efe3eab7cb7d5f51741b3620c6" + integrity sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw== + +component-emitter@^1.2.0, component-emitter@^1.2.1, component-emitter@^1.3.0, component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -14098,7 +14103,7 @@ debug@4.3.4: dependencies: ms "2.1.2" -debug@4.3.7, debug@~4.3.1: +debug@4.3.7, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.7" resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -15138,27 +15143,21 @@ engine.io-client@3.5.2: xmlhttprequest-ssl "~1.6.2" yeast "0.1.2" -engine.io-client@~5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-5.0.1.tgz#9470fc6655c9789c5c0aa1a0e7e7d9ae9753a798" - integrity sha512-CQtGN3YwfvbxVwpPugcsHe5rHT4KgT49CEcQppNtu9N7WxbPN0MAG27lGaem7bvtCFtGNLSL+GEqXsFSz36jTg== +engine.io-client@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.4.0.tgz#88cd3082609ca86d7d3c12f0e746d12db4f47c91" + integrity sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g== dependencies: - base64-arraybuffer "0.1.4" - component-emitter "~1.3.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" - engine.io-parser "~4.0.1" - has-cors "1.1.0" - parseqs "0.0.6" - parseuri "0.0.6" - ws "~7.4.2" - yeast "0.1.2" + engine.io-parser "~5.0.3" + ws "~8.11.0" + xmlhttprequest-ssl "~2.0.0" -engine.io-parser@4.0.2, engine.io-parser@~4.0.0, engine.io-parser@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.2.tgz#e41d0b3fb66f7bf4a3671d2038a154024edb501e" - integrity sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg== - dependencies: - base64-arraybuffer "0.1.4" +engine.io-parser@5.0.4, engine.io-parser@~5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" + integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== engine.io-parser@~2.2.0: version "2.2.1" @@ -15171,12 +15170,7 @@ engine.io-parser@~2.2.0: blob "0.0.5" has-binary2 "~1.0.2" -engine.io-parser@~5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" - integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== - -engine.io@6.4.2: +engine.io@6.4.2, engine.io@~6.4.2: version "6.4.2" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.2.tgz#ffeaf68f69b1364b0286badddf15ff633476473f" integrity sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg== @@ -15192,19 +15186,6 @@ engine.io@6.4.2: engine.io-parser "~5.0.3" ws "~8.11.0" -engine.io@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-5.0.0.tgz#470dc94a8a4907fa4d2cd1fa6611426afcee61bf" - integrity sha512-BATIdDV3H1SrE9/u2BAotvsmjJg0t1P4+vGedImSs1lkFAtQdvk4Ev1y4LDiPF7BPWgXWEG+NDY+nLvW3UrMWw== - dependencies: - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - cors "~2.8.5" - debug "~4.3.1" - engine.io-parser "~4.0.0" - ws "~7.4.2" - enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1, enhanced-resolve@^5.7.0, enhanced-resolve@^5.9.2: version "5.18.1" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" @@ -29080,47 +29061,43 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socket.io-adapter@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz#43af9157c4609e74b8addc6867873ac7eb48fda2" - integrity sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg== +socket.io-adapter@~2.5.2: + version "2.5.5" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz#c7a1f9c703d7756844751b6ff9abfc1780664082" + integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== + dependencies: + debug "~4.3.4" + ws "~8.17.1" -socket.io-client@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.0.1.tgz#8f3bf4ce9282dda1741a4ed0f726b412944e012b" - integrity sha512-6AkaEG5zrVuSVW294cH1chioag9i1OqnCYjKwTc3EBGXbnyb98Lw7yMa40ifLjFj3y6fsFKsd0llbUZUCRf3Qw== +socket.io-client@4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.6.2.tgz#2bfde952e74625d54e622718a7cb1d591ee62fd6" + integrity sha512-OwWrMbbA8wSqhBAR0yoPK6EdQLERQAYjXb3A0zLpgxfM1ZGLKoxHx8gVmCHA6pcclRX5oA/zvQf7bghAS11jRA== dependencies: - "@types/component-emitter" "^1.2.10" - backo2 "~1.0.2" - component-emitter "~1.3.0" - debug "~4.3.1" - engine.io-client "~5.0.0" - parseuri "0.0.6" - socket.io-parser "~4.0.4" + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.4.0" + socket.io-parser "~4.2.4" -socket.io-parser@4.0.5, socket.io-parser@~4.0.3, socket.io-parser@~4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.5.tgz#cb404382c32324cc962f27f3a44058cf6e0552df" - integrity sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig== +socket.io-parser@4.2.4, socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== dependencies: - "@types/component-emitter" "^1.2.10" - component-emitter "~1.3.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.0.1.tgz#d2e01cf3780d810b66182b3fbef08a04a4ccf924" - integrity sha512-g8eZB9lV0f4X4gndG0k7YZAywOg1VxYgCUspS4V+sDqsgI/duqd0AW84pKkbGj/wQwxrqrEq+VZrspRfTbHTAQ== +socket.io@4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.6.2.tgz#d597db077d4df9cbbdfaa7a9ed8ccc3d49439786" + integrity sha512-Vp+lSks5k0dewYTfwgPT9UeGGd+ht7sCpB7p0e83VgO4X/AHYWhXITMrNk/pg8syY2bpx23ptClCQuHhqi2BgQ== dependencies: - "@types/cookie" "^0.4.0" - "@types/cors" "^2.8.8" - "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "~2.0.0" - debug "~4.3.1" - engine.io "~5.0.0" - socket.io-adapter "~2.2.0" - socket.io-parser "~4.0.3" + debug "~4.3.2" + engine.io "~6.4.2" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" sockjs@^0.3.24: version "0.3.24" @@ -33092,6 +33069,11 @@ ws@~8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" @@ -33173,6 +33155,11 @@ xmlhttprequest-ssl@~1.6.2: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== + xtend@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9"