mirror of
https://github.com/socketio/socket.io.git
synced 2026-01-13 00:48:12 -05:00
Compare commits
10 Commits
socket.io-
...
socket.io-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9e5bed4f2 | ||
|
|
9581f9bcfd | ||
|
|
579d43f33f | ||
|
|
ee9aac3134 | ||
|
|
968277cef8 | ||
|
|
2bf16bd214 | ||
|
|
ad616070b8 | ||
|
|
dd71792455 | ||
|
|
bb0b480d2a | ||
|
|
161be91975 |
@@ -1,7 +1,8 @@
|
|||||||
# History
|
# Changelog
|
||||||
|
|
||||||
| Version | Release date | Bundle size (UMD min+gzip) |
|
| Version | Release date | Bundle size (UMD min+gzip) |
|
||||||
|-------------------------------------------------------------------------------------------------------------|----------------|----------------------------|
|
|-------------------------------------------------------------------------------------------------------------|----------------|----------------------------|
|
||||||
|
| [6.6.4](#664-2025-12-23) | December 2025 | `8.7 KB` |
|
||||||
| [6.6.3](#663-2025-01-23) | January 2025 | `8.7 KB` |
|
| [6.6.3](#663-2025-01-23) | January 2025 | `8.7 KB` |
|
||||||
| [6.6.2](#662-2024-10-23) | October 2024 | `8.7 KB` |
|
| [6.6.2](#662-2024-10-23) | October 2024 | `8.7 KB` |
|
||||||
| [6.6.1](#661-2024-09-21) | September 2024 | `8.7 KB` |
|
| [6.6.1](#661-2024-09-21) | September 2024 | `8.7 KB` |
|
||||||
@@ -39,7 +40,24 @@
|
|||||||
| [4.1.1](#411-2021-02-02) | February 2021 | `9.1 KB` |
|
| [4.1.1](#411-2021-02-02) | February 2021 | `9.1 KB` |
|
||||||
| [4.1.0](#410-2021-01-14) | January 2021 | `9.1 KB` |
|
| [4.1.0](#410-2021-01-14) | January 2021 | `9.1 KB` |
|
||||||
|
|
||||||
# Release notes
|
|
||||||
|
## [6.6.4](https://github.com/socketio/socket.io/compare/engine.io-client@6.6.3...engine.io-client@6.6.4) (2025-12-23)
|
||||||
|
|
||||||
|
This release contains a bump of:
|
||||||
|
|
||||||
|
- `ws` from `~8.17.1` to `~8.18.3`
|
||||||
|
- `debug` from `~4.3.1` to `~4.4.1`
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* properly handle port option ([#5241](https://github.com/socketio/socket.io/issues/5241)) ([1da9cdd](https://github.com/socketio/socket.io/commit/1da9cddeab0bf5ce41890d156d73af8194cef656))
|
||||||
|
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- [`ws@~8.18.3`](https://github.com/websockets/ws/releases/tag/8.18.3) ([diff](https://github.com/websockets/ws/compare/8.17.1...8.18.3))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [6.6.3](https://github.com/socketio/socket.io/compare/engine.io-client@6.6.2...engine.io-client@6.6.3) (2025-01-23)
|
## [6.6.3](https://github.com/socketio/socket.io/compare/engine.io-client@6.6.2...engine.io-client@6.6.3) (2025-01-23)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
172
packages/engine.io-client/dist/engine.io.js
vendored
172
packages/engine.io-client/dist/engine.io.js
vendored
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Engine.IO v6.6.3
|
* Engine.IO v6.6.4
|
||||||
* (c) 2014-2025 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
@@ -35,6 +35,54 @@
|
|||||||
writable: !1
|
writable: !1
|
||||||
}), e;
|
}), e;
|
||||||
}
|
}
|
||||||
|
function _createForOfIteratorHelper(r, e) {
|
||||||
|
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
||||||
|
if (!t) {
|
||||||
|
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
|
||||||
|
t && (r = t);
|
||||||
|
var n = 0,
|
||||||
|
F = function () {};
|
||||||
|
return {
|
||||||
|
s: F,
|
||||||
|
n: function () {
|
||||||
|
return n >= r.length ? {
|
||||||
|
done: !0
|
||||||
|
} : {
|
||||||
|
done: !1,
|
||||||
|
value: r[n++]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
e: function (r) {
|
||||||
|
throw r;
|
||||||
|
},
|
||||||
|
f: F
|
||||||
|
};
|
||||||
|
}
|
||||||
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||||
|
}
|
||||||
|
var o,
|
||||||
|
a = !0,
|
||||||
|
u = !1;
|
||||||
|
return {
|
||||||
|
s: function () {
|
||||||
|
t = t.call(r);
|
||||||
|
},
|
||||||
|
n: function () {
|
||||||
|
var r = t.next();
|
||||||
|
return a = r.done, r;
|
||||||
|
},
|
||||||
|
e: function (r) {
|
||||||
|
u = !0, o = r;
|
||||||
|
},
|
||||||
|
f: function () {
|
||||||
|
try {
|
||||||
|
a || null == t.return || t.return();
|
||||||
|
} finally {
|
||||||
|
if (u) throw o;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
function _extends() {
|
function _extends() {
|
||||||
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
||||||
for (var e = 1; e < arguments.length; e++) {
|
for (var e = 1; e < arguments.length; e++) {
|
||||||
@@ -1049,21 +1097,65 @@
|
|||||||
createDebug.namespaces = namespaces;
|
createDebug.namespaces = namespaces;
|
||||||
createDebug.names = [];
|
createDebug.names = [];
|
||||||
createDebug.skips = [];
|
createDebug.skips = [];
|
||||||
var i;
|
var split = (typeof namespaces === 'string' ? namespaces : '').trim().replace(/\s+/g, ',').split(',').filter(Boolean);
|
||||||
var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
|
var _iterator = _createForOfIteratorHelper(split),
|
||||||
var len = split.length;
|
_step;
|
||||||
for (i = 0; i < len; i++) {
|
try {
|
||||||
if (!split[i]) {
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
||||||
// ignore empty strings
|
var ns = _step.value;
|
||||||
continue;
|
if (ns[0] === '-') {
|
||||||
|
createDebug.skips.push(ns.slice(1));
|
||||||
|
} else {
|
||||||
|
createDebug.names.push(ns);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
namespaces = split[i].replace(/\*/g, '.*?');
|
} catch (err) {
|
||||||
if (namespaces[0] === '-') {
|
_iterator.e(err);
|
||||||
createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
|
} finally {
|
||||||
|
_iterator.f();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the given string matches a namespace template, honoring
|
||||||
|
* asterisks as wildcards.
|
||||||
|
*
|
||||||
|
* @param {String} search
|
||||||
|
* @param {String} template
|
||||||
|
* @return {Boolean}
|
||||||
|
*/
|
||||||
|
function matchesTemplate(search, template) {
|
||||||
|
var searchIndex = 0;
|
||||||
|
var templateIndex = 0;
|
||||||
|
var starIndex = -1;
|
||||||
|
var matchIndex = 0;
|
||||||
|
while (searchIndex < search.length) {
|
||||||
|
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
|
||||||
|
// Match character or proceed with wildcard
|
||||||
|
if (template[templateIndex] === '*') {
|
||||||
|
starIndex = templateIndex;
|
||||||
|
matchIndex = searchIndex;
|
||||||
|
templateIndex++; // Skip the '*'
|
||||||
|
} else {
|
||||||
|
searchIndex++;
|
||||||
|
templateIndex++;
|
||||||
|
}
|
||||||
|
} else if (starIndex !== -1) {
|
||||||
|
// eslint-disable-line no-negated-condition
|
||||||
|
// Backtrack to the last '*' and try to match more characters
|
||||||
|
templateIndex = starIndex + 1;
|
||||||
|
matchIndex++;
|
||||||
|
searchIndex = matchIndex;
|
||||||
} else {
|
} else {
|
||||||
createDebug.names.push(new RegExp('^' + namespaces + '$'));
|
return false; // No match
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle trailing '*' in template
|
||||||
|
while (templateIndex < template.length && template[templateIndex] === '*') {
|
||||||
|
templateIndex++;
|
||||||
|
}
|
||||||
|
return templateIndex === template.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1073,7 +1165,7 @@
|
|||||||
* @api public
|
* @api public
|
||||||
*/
|
*/
|
||||||
function disable() {
|
function disable() {
|
||||||
var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) {
|
var namespaces = [].concat(_toConsumableArray(createDebug.names), _toConsumableArray(createDebug.skips.map(function (namespace) {
|
||||||
return '-' + namespace;
|
return '-' + namespace;
|
||||||
}))).join(',');
|
}))).join(',');
|
||||||
createDebug.enable('');
|
createDebug.enable('');
|
||||||
@@ -1088,35 +1180,37 @@
|
|||||||
* @api public
|
* @api public
|
||||||
*/
|
*/
|
||||||
function enabled(name) {
|
function enabled(name) {
|
||||||
if (name[name.length - 1] === '*') {
|
var _iterator2 = _createForOfIteratorHelper(createDebug.skips),
|
||||||
return true;
|
_step2;
|
||||||
}
|
try {
|
||||||
var i;
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
||||||
var len;
|
var skip = _step2.value;
|
||||||
for (i = 0, len = createDebug.skips.length; i < len; i++) {
|
if (matchesTemplate(name, skip)) {
|
||||||
if (createDebug.skips[i].test(name)) {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_iterator2.e(err);
|
||||||
|
} finally {
|
||||||
|
_iterator2.f();
|
||||||
}
|
}
|
||||||
for (i = 0, len = createDebug.names.length; i < len; i++) {
|
var _iterator3 = _createForOfIteratorHelper(createDebug.names),
|
||||||
if (createDebug.names[i].test(name)) {
|
_step3;
|
||||||
return true;
|
try {
|
||||||
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
||||||
|
var ns = _step3.value;
|
||||||
|
if (matchesTemplate(name, ns)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_iterator3.e(err);
|
||||||
|
} finally {
|
||||||
|
_iterator3.f();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert regexp to namespace
|
|
||||||
*
|
|
||||||
* @param {RegExp} regxep
|
|
||||||
* @return {String} namespace
|
|
||||||
* @api private
|
|
||||||
*/
|
|
||||||
function toNamespace(regexp) {
|
|
||||||
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Coerce `val`.
|
* Coerce `val`.
|
||||||
*
|
*
|
||||||
@@ -1192,15 +1286,17 @@
|
|||||||
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
var m;
|
||||||
|
|
||||||
// Is webkit? http://stackoverflow.com/a/16459606/376773
|
// Is webkit? http://stackoverflow.com/a/16459606/376773
|
||||||
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
|
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
|
||||||
|
// eslint-disable-next-line no-return-assign
|
||||||
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||
|
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||
|
||||||
// Is firebug? http://stackoverflow.com/a/398120/376773
|
// Is firebug? http://stackoverflow.com/a/398120/376773
|
||||||
typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||
|
typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||
|
||||||
// Is firefox >= v31?
|
// Is firefox >= v31?
|
||||||
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
|
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
|
||||||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||
|
typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 ||
|
||||||
// Double check webkit in userAgent just in case we are in a worker
|
// Double check webkit in userAgent just in case we are in a worker
|
||||||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
||||||
}
|
}
|
||||||
@@ -1276,7 +1372,7 @@
|
|||||||
function load() {
|
function load() {
|
||||||
var r;
|
var r;
|
||||||
try {
|
try {
|
||||||
r = exports.storage.getItem('debug');
|
r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Swallow
|
// Swallow
|
||||||
// XXX (@Qix-) should we be logging these?
|
// XXX (@Qix-) should we be logging these?
|
||||||
@@ -1457,7 +1553,7 @@
|
|||||||
return hostname.indexOf(":") === -1 ? hostname : "[" + hostname + "]";
|
return hostname.indexOf(":") === -1 ? hostname : "[" + hostname + "]";
|
||||||
};
|
};
|
||||||
_proto._port = function _port() {
|
_proto._port = function _port() {
|
||||||
if (this.opts.port && (this.opts.secure && Number(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80)) {
|
if (this.opts.port && (this.opts.secure && Number(this.opts.port) !== 443 || !this.opts.secure && Number(this.opts.port) !== 80)) {
|
||||||
return ":" + this.opts.port;
|
return ":" + this.opts.port;
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
|||||||
"name": "engine.io-client",
|
"name": "engine.io-client",
|
||||||
"description": "Client for the realtime Engine",
|
"description": "Client for the realtime Engine",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "6.6.3",
|
"version": "6.6.4",
|
||||||
"main": "./build/cjs/index.js",
|
"main": "./build/cjs/index.js",
|
||||||
"module": "./build/esm/index.js",
|
"module": "./build/esm/index.js",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
const parser = require('.');
|
|
||||||
|
|
||||||
parser.encodePayload([
|
|
||||||
{
|
|
||||||
type: 'message',
|
|
||||||
data: '€',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'message',
|
|
||||||
data: Buffer.from([1, 2, 3, 4]),
|
|
||||||
},
|
|
||||||
], true, console.log);
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const browsers = require("socket.io-browsers");
|
|
||||||
|
|
||||||
const zuulConfig = (module.exports = {
|
|
||||||
ui: "mocha-bdd",
|
|
||||||
|
|
||||||
// test on localhost by default
|
|
||||||
local: true,
|
|
||||||
open: true,
|
|
||||||
|
|
||||||
concurrency: 2, // ngrok only accepts two tunnels by default
|
|
||||||
// if browser does not sends output in 120s since last output:
|
|
||||||
// stop testing, something is wrong
|
|
||||||
browser_output_timeout: 120 * 1000,
|
|
||||||
browser_open_timeout: 60 * 4 * 1000,
|
|
||||||
// we want to be notified something is wrong asap, so no retry
|
|
||||||
browser_retries: 1,
|
|
||||||
|
|
||||||
browserify: [
|
|
||||||
{
|
|
||||||
plugin: ["tsify", {
|
|
||||||
target: "es5"
|
|
||||||
}],
|
|
||||||
transform: {
|
|
||||||
name: "babelify",
|
|
||||||
presets: ["@babel/preset-env"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
if (process.env.CI === "true") {
|
|
||||||
zuulConfig.local = false;
|
|
||||||
zuulConfig.tunnel = {
|
|
||||||
type: "ngrok",
|
|
||||||
bind_tls: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const isPullRequest =
|
|
||||||
process.env.TRAVIS_PULL_REQUEST &&
|
|
||||||
process.env.TRAVIS_PULL_REQUEST !== "false";
|
|
||||||
zuulConfig.browsers = isPullRequest ? browsers.pullRequest : browsers.all;
|
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
## [6.6.5](https://github.com/socketio/socket.io/compare/engine.io@6.6.4...engine.io@6.6.5) (2025-12-22)
|
## [6.6.5](https://github.com/socketio/socket.io/compare/engine.io@6.6.4...engine.io@6.6.5) (2025-12-22)
|
||||||
|
|
||||||
The `url.parse()` function is now deprecated and has been replaced by `new URL()` (see [e08293b](https://github.com/socketio/socket.io/commit/e08293bc3735de5b824b347383e86e0b8ab9fbd5b).
|
The `url.parse()` function is now deprecated and has been replaced by `new URL()` (see [e08293b](https://github.com/socketio/socket.io/commit/e08293bc3735de5b824b347383e86e0b8ab9fbd5)).
|
||||||
|
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
@@ -1,26 +1,35 @@
|
|||||||
# History
|
# Changelog
|
||||||
|
|
||||||
- [2.5.5](#255-2024-06-18) (Jun 2024)
|
| Version | Release date |
|
||||||
- [2.5.4](#254-2024-02-22) (Feb 2024)
|
|------------------------------|----------------|
|
||||||
- [2.5.3](#253-2024-02-21) (Feb 2024)
|
| [2.5.6](#256-2025-12-23) | December 2025 |
|
||||||
- [2.5.2](#252-2023-01-12) (Jan 2023)
|
| [2.5.5](#255-2024-06-18) | June 2024 |
|
||||||
- [2.5.1](#251-2023-01-06) (Jan 2023)
|
| [2.5.4](#254-2024-02-22) | February 2024 |
|
||||||
- [2.5.0](#250-2023-01-06) (Jan 2023)
|
| [2.5.3](#253-2024-02-21) | February 2024 |
|
||||||
- [2.4.0](#240-2022-03-30) (Mar 2022)
|
| [2.5.2](#252-2023-01-12) | January 2023 |
|
||||||
- [2.3.3](#233-2021-11-16) (Nov 2021)
|
| [2.5.1](#251-2023-01-06) | January 2023 |
|
||||||
- [2.3.2](#232-2021-08-28) (Aug 2021)
|
| [2.5.0](#250-2023-01-06) | January 2023 |
|
||||||
- [2.3.1](#231-2021-05-19) (May 2021)
|
| [2.4.0](#240-2022-03-30) | March 2022 |
|
||||||
- [2.3.0](#230-2021-05-10) (May 2021)
|
| [2.3.3](#233-2021-11-16) | November 2021 |
|
||||||
- [2.2.0](#220-2021-02-27) (Feb 2021)
|
| [2.3.2](#232-2021-08-28) | August 2021 |
|
||||||
- [2.1.0](#210-2021-01-15) (Jan 2021)
|
| [2.3.1](#231-2021-05-19) | May 2021 |
|
||||||
- [2.0.3](#203-2020-11-05) (Nov 2020)
|
| [2.3.0](#230-2021-05-10) | May 2021 |
|
||||||
- [2.0.2](#202-2020-09-28) (Sep 2020)
|
| [2.2.0](#220-2021-02-27) | February 2021 |
|
||||||
- [2.0.1](#201-2020-09-28) (Sep 2020)
|
| [2.1.0](#210-2021-01-15) | January 2021 |
|
||||||
- [**2.0.0**](#200-2020-09-25) (Sep 2020)
|
| [2.0.3](#203-2020-11-05) | November 2020 |
|
||||||
|
| [2.0.2](#202-2020-09-28) | September 2020 |
|
||||||
|
| [2.0.1](#201-2020-09-28) | September 2020 |
|
||||||
|
| [**2.0.0**](#200-2020-09-25) | September 2020 |
|
||||||
|
|
||||||
|
|
||||||
|
## [2.5.6](https://github.com/socketio/socket.io/compare/socket.io-adapter@2.5.5...socket.io-adapter@2.5.6) (2025-12-23)
|
||||||
|
|
||||||
|
This release contains a bump of:
|
||||||
|
|
||||||
|
- `ws` from `~8.17.1` to `~8.18.3`
|
||||||
|
- `debug` from `~4.3.1` to `~4.4.1`
|
||||||
|
|
||||||
|
|
||||||
# Release notes
|
|
||||||
|
|
||||||
## [2.5.5](https://github.com/socketio/socket.io-adapter/compare/2.5.4...2.5.5) (2024-06-18)
|
## [2.5.5](https://github.com/socketio/socket.io-adapter/compare/2.5.4...2.5.5) (2024-06-18)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "socket.io-adapter",
|
"name": "socket.io-adapter",
|
||||||
"version": "2.5.5",
|
"version": "2.5.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"homepage": "https://github.com/socketio/socket.io/tree/main/packages/socket.io-adapter#readme",
|
"homepage": "https://github.com/socketio/socket.io/tree/main/packages/socket.io-adapter#readme",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
| Version | Release date | Bundle size (UMD min+gzip) |
|
| Version | Release date | Bundle size (UMD min+gzip) |
|
||||||
|-------------------------------------------------------------------------------------------------------------|----------------|----------------------------|
|
|-------------------------------------------------------------------------------------------------------------|----------------|----------------------------|
|
||||||
| [4.8.2](#482-2025-12-22) | December 2024 | `14.4 KB` |
|
| [4.8.3](#483-2025-12-23) | December 2025 | `14.4 KB` |
|
||||||
|
| [4.8.2](#482-2025-12-22) | December 2025 | `14.4 KB` |
|
||||||
| [4.8.1](#481-2024-10-25) | October 2024 | `14.4 KB` |
|
| [4.8.1](#481-2024-10-25) | October 2024 | `14.4 KB` |
|
||||||
| [4.8.0](#480-2024-09-21) | September 2024 | `14.4 KB` |
|
| [4.8.0](#480-2024-09-21) | September 2024 | `14.4 KB` |
|
||||||
| [4.7.5](#475-2024-03-14) | March 2024 | `14.6 KB` |
|
| [4.7.5](#475-2024-03-14) | March 2024 | `14.6 KB` |
|
||||||
@@ -51,6 +52,18 @@
|
|||||||
| [2.1.0](#210-2018-03-29) | March 2018 | `18.7 KB` |
|
| [2.1.0](#210-2018-03-29) | March 2018 | `18.7 KB` |
|
||||||
|
|
||||||
|
|
||||||
|
## [4.8.3](https://github.com/socketio/socket.io/compare/socket.io-client@4.8.2...socket.io-client@4.8.3) (2025-12-23)
|
||||||
|
|
||||||
|
There were some minor bug fixes on the server side, which mandate a client bump.
|
||||||
|
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- [`engine.io-client@~6.6.1`](https://github.com/socketio/engine.io-client/releases/tag/6.5.2) (no change)
|
||||||
|
- [`ws@~8.18.3`](https://github.com/websockets/ws/releases/tag/8.18.3) ([diff](https://github.com/websockets/ws/compare/8.17.1...8.18.3))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [4.8.2](https://github.com/socketio/socket.io/compare/socket.io-client@4.8.1...socket.io-client@4.8.2) (2025-12-22)
|
## [4.8.2](https://github.com/socketio/socket.io/compare/socket.io-client@4.8.1...socket.io-client@4.8.2) (2025-12-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Socket.IO v4.8.2
|
* Socket.IO v4.8.3
|
||||||
* (c) 2014-2025 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|||||||
2
packages/socket.io-client/dist/socket.io.js
vendored
2
packages/socket.io-client/dist/socket.io.js
vendored
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Socket.IO v4.8.2
|
* Socket.IO v4.8.3
|
||||||
* (c) 2014-2025 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Socket.IO v4.8.2
|
* Socket.IO v4.8.3
|
||||||
* (c) 2014-2025 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Socket.IO v4.8.2
|
* Socket.IO v4.8.3
|
||||||
* (c) 2014-2025 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "socket.io-client",
|
"name": "socket.io-client",
|
||||||
"version": "4.8.2",
|
"version": "4.8.3",
|
||||||
"description": "Realtime application framework client",
|
"description": "Realtime application framework client",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"realtime",
|
"realtime",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "socket.io-client",
|
"name": "socket.io-client",
|
||||||
"version": "4.8.2",
|
"version": "4.8.3",
|
||||||
"type": "module"
|
"type": "module"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# History
|
# Changelog
|
||||||
|
|
||||||
| Version | Release date |
|
| Version | Release date |
|
||||||
|-------------------------------------------------------------------------------------------------------------|----------------|
|
|-------------------------------------------------------------------------------------------------------------|----------------|
|
||||||
|
| [4.2.5](#425-2025-12-23) | December 2025 |
|
||||||
| [3.3.4](#334-2024-07-22) (from the [3.3.x](https://github.com/socketio/socket.io-parser/tree/3.3.x) branch) | July 2024 |
|
| [3.3.4](#334-2024-07-22) (from the [3.3.x](https://github.com/socketio/socket.io-parser/tree/3.3.x) branch) | July 2024 |
|
||||||
| [4.2.4](#424-2023-05-31) | May 2023 |
|
| [4.2.4](#424-2023-05-31) | May 2023 |
|
||||||
| [3.4.3](#343-2023-05-22) (from the [3.4.x](https://github.com/socketio/socket.io-parser/tree/3.4.x) branch) | May 2023 |
|
| [3.4.3](#343-2023-05-22) (from the [3.4.x](https://github.com/socketio/socket.io-parser/tree/3.4.x) branch) | May 2023 |
|
||||||
@@ -33,7 +34,11 @@
|
|||||||
| [3.3.0](#330-2018-11-07) | November 2018 |
|
| [3.3.0](#330-2018-11-07) | November 2018 |
|
||||||
|
|
||||||
|
|
||||||
# Release notes
|
## [4.2.5](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.4...socket.io-parser@4.2.5) (2025-12-23)
|
||||||
|
|
||||||
|
This release contains a bump of `debug` from `~4.3.1` to `~4.4.1`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [3.3.4](https://github.com/Automattic/socket.io-parser/compare/3.3.3...3.3.4) (2024-07-22)
|
## [3.3.4](https://github.com/Automattic/socket.io-parser/compare/3.3.3...3.3.4) (2024-07-22)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "socket.io-parser",
|
"name": "socket.io-parser",
|
||||||
"version": "4.2.4",
|
"version": "4.2.5",
|
||||||
"description": "socket.io protocol parser",
|
"description": "socket.io protocol parser",
|
||||||
"homepage": "https://github.com/socketio/socket.io/tree/main/packages/socket.io-client#readme",
|
"homepage": "https://github.com/socketio/socket.io/tree/main/packages/socket.io-client#readme",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# History
|
# Changelog
|
||||||
|
|
||||||
| Version | Release date |
|
| Version | Release date |
|
||||||
|--------------------------------------------------------------------------------------------------|----------------|
|
|--------------------------------------------------------------------------------------------------|----------------|
|
||||||
|
| [4.8.2](#482-2025-12-22) | December 2025 |
|
||||||
| [4.8.1](#481-2024-10-25) | October 2024 |
|
| [4.8.1](#481-2024-10-25) | October 2024 |
|
||||||
| [4.8.0](#480-2024-09-21) | September 2024 |
|
| [4.8.0](#480-2024-09-21) | September 2024 |
|
||||||
| [4.7.5](#475-2024-03-14) | March 2024 |
|
| [4.7.5](#475-2024-03-14) | March 2024 |
|
||||||
@@ -49,7 +50,22 @@
|
|||||||
| [2.1.0](#210-2018-03-29) | March 2018 |
|
| [2.1.0](#210-2018-03-29) | March 2018 |
|
||||||
|
|
||||||
|
|
||||||
# Release notes
|
## [4.8.2](https://github.com/socketio/socket.io/compare/socket.io@4.8.1...socket.io@4.8.2) (2025-12-22)
|
||||||
|
|
||||||
|
The `url.parse()` function is now deprecated and has been replaced by `new URL()` (see [8af7019](https://github.com/socketio/socket.io/commit/8af70195bb8c5bc3efe9685997ab6373fb8b1ca9)).
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* call adapter.init() when creating each namespace ([f3e1f5e](https://github.com/socketio/socket.io/commit/f3e1f5ebdf59158d0c8d1e20f8230275617fb355))
|
||||||
|
* improve `io.close()` function ([#5344](https://github.com/socketio/socket.io/issues/5344)) ([bb0b480](https://github.com/socketio/socket.io/commit/bb0b480d2ab3108a8ae255b539015da451fdb249))
|
||||||
|
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- [`engine.io@~6.6.0`](https://github.com/socketio/engine.io/releases/tag/6.6.0) (no change)
|
||||||
|
- [`ws@~8.18.3`](https://github.com/websockets/ws/releases/tag/8.18.3) ([diff](https://github.com/websockets/ws/compare/8.17.1...8.18.3))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [4.8.1](https://github.com/socketio/socket.io/compare/socket.io@4.8.0...socket.io@4.8.1) (2024-10-25)
|
## [4.8.1](https://github.com/socketio/socket.io/compare/socket.io@4.8.0...socket.io@4.8.1) (2024-10-25)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* Socket.IO v4.8.1
|
* Socket.IO v4.8.2
|
||||||
* (c) 2014-2024 Guillermo Rauch
|
* (c) 2014-2025 Guillermo Rauch
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
(function (global, factory) {
|
(function (global, factory) {
|
||||||
@@ -899,7 +899,7 @@
|
|||||||
return hostname.indexOf(":") === -1 ? hostname : "[" + hostname + "]";
|
return hostname.indexOf(":") === -1 ? hostname : "[" + hostname + "]";
|
||||||
};
|
};
|
||||||
_proto._port = function _port() {
|
_proto._port = function _port() {
|
||||||
if (this.opts.port && (this.opts.secure && Number(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80)) {
|
if (this.opts.port && (this.opts.secure && Number(this.opts.port) !== 443 || !this.opts.secure && Number(this.opts.port) !== 80)) {
|
||||||
return ":" + this.opts.port;
|
return ":" + this.opts.port;
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
@@ -2669,21 +2669,65 @@
|
|||||||
createDebug.namespaces = namespaces;
|
createDebug.namespaces = namespaces;
|
||||||
createDebug.names = [];
|
createDebug.names = [];
|
||||||
createDebug.skips = [];
|
createDebug.skips = [];
|
||||||
var i;
|
var split = (typeof namespaces === 'string' ? namespaces : '').trim().replace(/\s+/g, ',').split(',').filter(Boolean);
|
||||||
var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
|
var _iterator = _createForOfIteratorHelper(split),
|
||||||
var len = split.length;
|
_step;
|
||||||
for (i = 0; i < len; i++) {
|
try {
|
||||||
if (!split[i]) {
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
||||||
// ignore empty strings
|
var ns = _step.value;
|
||||||
continue;
|
if (ns[0] === '-') {
|
||||||
|
createDebug.skips.push(ns.slice(1));
|
||||||
|
} else {
|
||||||
|
createDebug.names.push(ns);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
namespaces = split[i].replace(/\*/g, '.*?');
|
} catch (err) {
|
||||||
if (namespaces[0] === '-') {
|
_iterator.e(err);
|
||||||
createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
|
} finally {
|
||||||
|
_iterator.f();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the given string matches a namespace template, honoring
|
||||||
|
* asterisks as wildcards.
|
||||||
|
*
|
||||||
|
* @param {String} search
|
||||||
|
* @param {String} template
|
||||||
|
* @return {Boolean}
|
||||||
|
*/
|
||||||
|
function matchesTemplate(search, template) {
|
||||||
|
var searchIndex = 0;
|
||||||
|
var templateIndex = 0;
|
||||||
|
var starIndex = -1;
|
||||||
|
var matchIndex = 0;
|
||||||
|
while (searchIndex < search.length) {
|
||||||
|
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
|
||||||
|
// Match character or proceed with wildcard
|
||||||
|
if (template[templateIndex] === '*') {
|
||||||
|
starIndex = templateIndex;
|
||||||
|
matchIndex = searchIndex;
|
||||||
|
templateIndex++; // Skip the '*'
|
||||||
|
} else {
|
||||||
|
searchIndex++;
|
||||||
|
templateIndex++;
|
||||||
|
}
|
||||||
|
} else if (starIndex !== -1) {
|
||||||
|
// eslint-disable-line no-negated-condition
|
||||||
|
// Backtrack to the last '*' and try to match more characters
|
||||||
|
templateIndex = starIndex + 1;
|
||||||
|
matchIndex++;
|
||||||
|
searchIndex = matchIndex;
|
||||||
} else {
|
} else {
|
||||||
createDebug.names.push(new RegExp('^' + namespaces + '$'));
|
return false; // No match
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle trailing '*' in template
|
||||||
|
while (templateIndex < template.length && template[templateIndex] === '*') {
|
||||||
|
templateIndex++;
|
||||||
|
}
|
||||||
|
return templateIndex === template.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2693,7 +2737,7 @@
|
|||||||
* @api public
|
* @api public
|
||||||
*/
|
*/
|
||||||
function disable() {
|
function disable() {
|
||||||
var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) {
|
var namespaces = [].concat(_toConsumableArray(createDebug.names), _toConsumableArray(createDebug.skips.map(function (namespace) {
|
||||||
return '-' + namespace;
|
return '-' + namespace;
|
||||||
}))).join(',');
|
}))).join(',');
|
||||||
createDebug.enable('');
|
createDebug.enable('');
|
||||||
@@ -2708,35 +2752,37 @@
|
|||||||
* @api public
|
* @api public
|
||||||
*/
|
*/
|
||||||
function enabled(name) {
|
function enabled(name) {
|
||||||
if (name[name.length - 1] === '*') {
|
var _iterator2 = _createForOfIteratorHelper(createDebug.skips),
|
||||||
return true;
|
_step2;
|
||||||
}
|
try {
|
||||||
var i;
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
||||||
var len;
|
var skip = _step2.value;
|
||||||
for (i = 0, len = createDebug.skips.length; i < len; i++) {
|
if (matchesTemplate(name, skip)) {
|
||||||
if (createDebug.skips[i].test(name)) {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_iterator2.e(err);
|
||||||
|
} finally {
|
||||||
|
_iterator2.f();
|
||||||
}
|
}
|
||||||
for (i = 0, len = createDebug.names.length; i < len; i++) {
|
var _iterator3 = _createForOfIteratorHelper(createDebug.names),
|
||||||
if (createDebug.names[i].test(name)) {
|
_step3;
|
||||||
return true;
|
try {
|
||||||
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
||||||
|
var ns = _step3.value;
|
||||||
|
if (matchesTemplate(name, ns)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_iterator3.e(err);
|
||||||
|
} finally {
|
||||||
|
_iterator3.f();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert regexp to namespace
|
|
||||||
*
|
|
||||||
* @param {RegExp} regxep
|
|
||||||
* @return {String} namespace
|
|
||||||
* @api private
|
|
||||||
*/
|
|
||||||
function toNamespace(regexp) {
|
|
||||||
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Coerce `val`.
|
* Coerce `val`.
|
||||||
*
|
*
|
||||||
@@ -2812,15 +2858,17 @@
|
|||||||
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
var m;
|
||||||
|
|
||||||
// Is webkit? http://stackoverflow.com/a/16459606/376773
|
// Is webkit? http://stackoverflow.com/a/16459606/376773
|
||||||
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
|
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
|
||||||
|
// eslint-disable-next-line no-return-assign
|
||||||
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||
|
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||
|
||||||
// Is firebug? http://stackoverflow.com/a/398120/376773
|
// Is firebug? http://stackoverflow.com/a/398120/376773
|
||||||
typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||
|
typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||
|
||||||
// Is firefox >= v31?
|
// Is firefox >= v31?
|
||||||
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
|
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
|
||||||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||
|
typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 ||
|
||||||
// Double check webkit in userAgent just in case we are in a worker
|
// Double check webkit in userAgent just in case we are in a worker
|
||||||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
||||||
}
|
}
|
||||||
@@ -2896,7 +2944,7 @@
|
|||||||
function load() {
|
function load() {
|
||||||
var r;
|
var r;
|
||||||
try {
|
try {
|
||||||
r = exports.storage.getItem('debug');
|
r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Swallow
|
// Swallow
|
||||||
// XXX (@Qix-) should we be logging these?
|
// XXX (@Qix-) should we be logging these?
|
||||||
@@ -3828,8 +3876,7 @@
|
|||||||
};
|
};
|
||||||
args.push(function (err) {
|
args.push(function (err) {
|
||||||
if (packet !== _this4._queue[0]) {
|
if (packet !== _this4._queue[0]) {
|
||||||
// the packet has already been acknowledged
|
return debug$2("packet [%d] already acknowledged", packet.id);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
var hasError = err !== null;
|
var hasError = err !== null;
|
||||||
if (hasError) {
|
if (hasError) {
|
||||||
@@ -4100,8 +4147,8 @@
|
|||||||
this._pid = pid; // defined only if connection state recovery is enabled
|
this._pid = pid; // defined only if connection state recovery is enabled
|
||||||
this.connected = true;
|
this.connected = true;
|
||||||
this.emitBuffered();
|
this.emitBuffered();
|
||||||
this.emitReserved("connect");
|
|
||||||
this._drainQueue(true);
|
this._drainQueue(true);
|
||||||
|
this.emitReserved("connect");
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Emit buffered events (received and emitted).
|
* Emit buffered events (received and emitted).
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -831,7 +831,15 @@ export class Server<
|
|||||||
restoreAdapter();
|
restoreAdapter();
|
||||||
|
|
||||||
if (this.httpServer) {
|
if (this.httpServer) {
|
||||||
this.httpServer.close(fn);
|
return new Promise<void>((resolve) => {
|
||||||
|
this.httpServer.close((err) => {
|
||||||
|
fn && fn(err);
|
||||||
|
if (err) {
|
||||||
|
debug("server was not running");
|
||||||
|
}
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
fn && fn();
|
fn && fn();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "socket.io",
|
"name": "socket.io",
|
||||||
"version": "4.8.1",
|
"version": "4.8.2",
|
||||||
"description": "node.js realtime framework server",
|
"description": "node.js realtime framework server",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"realtime",
|
"realtime",
|
||||||
|
|||||||
@@ -70,6 +70,27 @@ describe("close", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should not throw when the underlying HTTP server is not running (callback)", (done) => {
|
||||||
|
const httpServer = createServer();
|
||||||
|
const io = new Server(httpServer);
|
||||||
|
|
||||||
|
io.close((err) => {
|
||||||
|
expect((err as Error & { code: string }).code).to.eql(
|
||||||
|
"ERR_SERVER_NOT_RUNNING",
|
||||||
|
);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should not throw when the underlying HTTP server is not running (Promise)", (done) => {
|
||||||
|
const httpServer = createServer();
|
||||||
|
const io = new Server(httpServer);
|
||||||
|
|
||||||
|
io.close()
|
||||||
|
.then(() => done())
|
||||||
|
.catch((e) => done(e));
|
||||||
|
});
|
||||||
|
|
||||||
describe("graceful close", () => {
|
describe("graceful close", () => {
|
||||||
function fixture(filename) {
|
function fixture(filename) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { getPort, successFn } from "./support/util";
|
|||||||
|
|
||||||
describe("server attachment", () => {
|
describe("server attachment", () => {
|
||||||
describe("http.Server", () => {
|
describe("http.Server", () => {
|
||||||
const clientVersion = require("socket.io-client/package.json").version;
|
const clientVersion = require("../package.json").version;
|
||||||
|
|
||||||
const testSource = (filename) => (done) => {
|
const testSource = (filename) => (done) => {
|
||||||
const srv = createServer();
|
const srv = createServer();
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ describe("socket.io with uWebSocket.js-based engine", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should serve static files", (done) => {
|
it("should serve static files", (done) => {
|
||||||
const clientVersion = require("socket.io-client/package.json").version;
|
const clientVersion = require("../package.json").version;
|
||||||
|
|
||||||
request(`http://localhost:${port}`)
|
request(`http://localhost:${port}`)
|
||||||
.get("/socket.io/socket.io.js")
|
.get("/socket.io/socket.io.js")
|
||||||
|
|||||||
Reference in New Issue
Block a user