diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f90a0993..a1c249e65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [4.1.1](https://github.com/socketio/engine.io/compare/4.1.0...4.1.1) (2021-02-02) + + +### Bug Fixes + +* do not reset the ping timer after upgrade ([ff2b8ab](https://github.com/socketio/engine.io/commit/ff2b8aba48ebcb0de5626d3b76fddc94c398395f)), closes [/github.com/socketio/socket.io-client-swift/pull/1309#issuecomment-768475704](https://github.com//github.com/socketio/socket.io-client-swift/pull/1309/issues/issuecomment-768475704) + + # [4.1.0](https://github.com/socketio/engine.io/compare/4.0.6...4.1.0) (2021-01-14) diff --git a/README.md b/README.md index 90cc933e5..8f68afe6a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Engine.IO: the realtime engine -[![Build Status](https://github.com/socketio/engine.io/workflows/CI/badge.svg)](https://github.com/socketio/engine.io/actions) +[![Build Status](https://github.com/socketio/engine.io/workflows/CI/badge.svg?branch=master))](https://github.com/socketio/engine.io/actions) [![NPM version](https://badge.fury.io/js/engine.io.svg)](http://badge.fury.io/js/engine.io) `Engine.IO` is the implementation of transport-based diff --git a/lib/socket.js b/lib/socket.js index debf1a6a4..4920a26ef 100644 --- a/lib/socket.js +++ b/lib/socket.js @@ -237,7 +237,6 @@ class Socket extends EventEmitter { self.clearTransport(); self.setTransport(transport); self.emit("upgrade", transport); - self.schedulePing(); self.flush(); if (self.readyState === "closing") { transport.close(function() { diff --git a/package-lock.json b/package-lock.json index a1c9e6ff7..c335cecbd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "engine.io", - "version": "4.1.0", + "version": "4.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -526,9 +526,9 @@ "dev": true }, "engine.io-client": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.0.tgz", - "integrity": "sha512-OUmn4m71/lW3ixICv4h3DuBRuh3ri0w3cDuepjsrINSbbqbni4Xw1shTFiKhl0v58lEtNpwJTpSKJJ3fondu5Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.1.tgz", + "integrity": "sha512-iYasV/EttP/2pLrdowe9G3zwlNIFhwny8VSIh+vPlMnYZqSzLsTzSLa9hFy015OrH1s4fzoYxeHjVkO8hSFKwg==", "dev": true, "requires": { "base64-arraybuffer": "0.1.4", diff --git a/package.json b/package.json index 39ce5b244..9ab7e89e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "engine.io", - "version": "4.1.0", + "version": "4.1.1", "description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server", "main": "lib/engine.io.js", "author": "Guillermo Rauch ", @@ -36,7 +36,7 @@ "devDependencies": { "babel-eslint": "^8.0.2", "eiows": "^3.3.0", - "engine.io-client": "4.1.0", + "engine.io-client": "4.1.1", "engine.io-client-v3": "npm:engine.io-client@3.5.0", "eslint": "^4.19.1", "eslint-config-prettier": "^6.9.0", diff --git a/test/server.js b/test/server.js index e58d09e83..9d846123f 100644 --- a/test/server.js +++ b/test/server.js @@ -1282,6 +1282,24 @@ describe("server", () => { }); }); + it("should not timeout after an upgrade", done => { + const opts = { pingInterval: 200, pingTimeout: 20 }; + const engine = listen(opts, port => { + const socket = new eioc.Socket("ws://localhost:%d".s(port)); + socket.on("open", () => { + setTimeout(() => { + socket.removeListener("close"); + engine.close(); + socket.close(); + done(); + }, 500); + }); + socket.on("close", () => { + done(new Error("should not happen")); + }); + }); + }); + it("should not crash when messing with Object prototype", done => { Object.prototype.foo = "bar"; // eslint-disable-line no-extend-native const engine = listen({ allowUpgrades: true }, port => {