From c052f44ec8b3192efe804fe08ebca14337e55915 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Thu, 6 Jun 2019 16:04:29 -0400 Subject: [PATCH] use a parser that supports circular json --- packages/extension/app/background.coffee | 7 ++++++- packages/runner/src/lib/event-manager.js | 1 + packages/server/lib/socket.coffee | 1 + packages/server/test/integration/websockets_spec.coffee | 3 +++ packages/socket/lib/client.js | 4 ++++ packages/socket/lib/socket.js | 3 +++ packages/socket/package.json | 5 +++-- 7 files changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/extension/app/background.coffee b/packages/extension/app/background.coffee index 296bb6972c..ac7e4f525e 100644 --- a/packages/extension/app/background.coffee +++ b/packages/extension/app/background.coffee @@ -2,6 +2,7 @@ map = require("lodash/map") pick = require("lodash/pick") once = require("lodash/once") Promise = require("bluebird") +{ circularParser } = require("@packages/socket") HOST = "CHANGE_ME_HOST" PATH = "CHANGE_ME_PATH" @@ -41,7 +42,11 @@ connect = (host, path, io) -> ## cannot use required socket here due ## to bug in socket io client with browserify - client = io.connect(host, {path: path, transports: ["websocket"]}) + client = io.connect(host, { + path: path, + transports: ["websocket"] + parser: circularParser + }) client.on "automation:request", (id, msg, data) -> switch msg diff --git a/packages/runner/src/lib/event-manager.js b/packages/runner/src/lib/event-manager.js index d449e67c03..618d2408df 100644 --- a/packages/runner/src/lib/event-manager.js +++ b/packages/runner/src/lib/event-manager.js @@ -12,6 +12,7 @@ import $Cypress, { $ } from '@packages/driver' const channel = io.connect({ path: '/__socket.io', transports: ['websocket'], + parser: io.circularParser, }) channel.on('connect', () => { diff --git a/packages/server/lib/socket.coffee b/packages/server/lib/socket.coffee index ee662ade0b..af47a7df87 100644 --- a/packages/server/lib/socket.coffee +++ b/packages/server/lib/socket.coffee @@ -124,6 +124,7 @@ class Socket destroyUpgrade: false serveClient: false cookie: cookie + parser: socketIo.circularParser }) startListening: (server, automation, config, options) -> diff --git a/packages/server/test/integration/websockets_spec.coffee b/packages/server/test/integration/websockets_spec.coffee index 7668c5df4d..fc933f3b79 100644 --- a/packages/server/test/integration/websockets_spec.coffee +++ b/packages/server/test/integration/websockets_spec.coffee @@ -175,6 +175,7 @@ describe "Web Sockets", -> @wsClient = socketIo.client(@cfg.proxyUrl, { path: @cfg.socketIoRoute transports: ["websocket"] + parser: socketIo.circularParser }) @wsClient.on "connect", -> done() @@ -197,6 +198,7 @@ describe "Web Sockets", -> agent: agent path: @cfg.socketIoRoute transports: ["websocket"] + parser: socketIo.circularParser }) @wsClient.on "connect", -> done() @@ -220,6 +222,7 @@ describe "Web Sockets", -> @wsClient = socketIo.client("https://localhost:#{wssPort}", { agent: agent path: @cfg.socketIoRoute + parser: socketIo.circularParser }) @wsClient.on "connect", -> done() diff --git a/packages/socket/lib/client.js b/packages/socket/lib/client.js index e13ac9d1b4..467bad9146 100644 --- a/packages/socket/lib/client.js +++ b/packages/socket/lib/client.js @@ -1 +1,5 @@ +const circularParser = require('socket.io-circular-parser') + module.exports = require('socket.io-client') + +module.exports.circularParser = circularParser diff --git a/packages/socket/lib/socket.js b/packages/socket/lib/socket.js index 7eff210b2d..371e2c6c23 100644 --- a/packages/socket/lib/socket.js +++ b/packages/socket/lib/socket.js @@ -4,12 +4,15 @@ const server = require('socket.io') const version = require('socket.io-client/package.json').version const clientPath = require.resolve('socket.io-client') const client = require('./client') +const circularParser = require('socket.io-circular-parser') module.exports = { server, client, + circularParser, + getPathToClientSource () { // clientPath returns the path to socket.io-client/lib/index.js // so walk up two levels to get to the root diff --git a/packages/socket/package.json b/packages/socket/package.json index a74615514b..945020c05e 100644 --- a/packages/socket/package.json +++ b/packages/socket/package.json @@ -17,8 +17,9 @@ "lib" ], "dependencies": { - "socket.io": "1.7.4", - "socket.io-client": "1.7.4" + "socket.io": "2.2.0", + "socket.io-circular-parser": "3.1.2", + "socket.io-client": "2.2.0" }, "devDependencies": { "bin-up": "1.2.0",