Skip to content

Commit 152a121

Browse files
committed
Detecting socket disconnections that occur during message send. Increasing HTTP buffer max to node Buffer max.
1 parent f053a9c commit 152a121

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

packages/runner-shared/src/event-manager.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,20 @@ export const eventManager = {
403403

404404
_.each(driverToSocketEvents, (event) => {
405405
Cypress.on(event, (...args) => {
406-
return ws.emit(event, ...args)
406+
const cb = args.pop()
407+
408+
const handleDisconnect = function (disconnectReason) {
409+
cb({
410+
error: new Error(disconnectReason),
411+
})
412+
}
413+
414+
ws.once('disconnect', handleDisconnect)
415+
416+
return ws.emit(event, ...args, (...cbArgs) => {
417+
ws.off('disconnect', handleDisconnect)
418+
cb(...cbArgs)
419+
})
407420
})
408421
})
409422

packages/socket/lib/socket.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import fs from 'fs'
2+
import buffer from 'buffer'
23
import type http from 'http'
34
import server, { Server as SocketIOBaseServer, ServerOptions } from 'socket.io'
45
import { client } from './browser'
56

6-
const HUNDRED_MEGABYTES = 1e8 // 100000000
7-
87
const { version } = require('socket.io-client/package.json')
98
const clientSource = require.resolve('socket.io-client/dist/socket.io.js')
109

@@ -21,7 +20,7 @@ class SocketIOServer extends SocketIOBaseServer {
2120
// previous commit for reference:
2221
// https://github.com/socketio/engine.io/blame/61b949259ed966ef6fc8bfd61f14d1a2ef06d319/lib/server.js#L29
2322
opts = opts ?? {}
24-
opts.maxHttpBufferSize = opts.maxHttpBufferSize ?? HUNDRED_MEGABYTES
23+
opts.maxHttpBufferSize = opts.maxHttpBufferSize ?? buffer.constants.MAX_LENGTH
2524

2625
super(srv, opts)
2726
}

0 commit comments

Comments
 (0)