Commit Graph

7693 Commits

Author SHA1 Message Date
iifawzi
21a6e1219a feat: add the "addTrailingSlash" option (#694)
The "addTrailingSlash" option allows to control whether a trailing
slash is added to the path of the HTTP requests created by the library:

- true (default): "/engine.io/"
- false: "/engine.io"

Related: https://github.com/socketio/socket.io-client/issues/1550

Signed-off-by: iifawzi <iifawzie@gmail.com>
2022-12-09 08:50:03 +01:00
Damien Arrachequesne
6d87a4065a refactor: add types to socket.send()
Related: https://github.com/socketio/engine.io/issues/645
2022-12-06 00:31:02 +01:00
Damien Arrachequesne
3d28229cf0 docs: add note about socket.id
Related: https://github.com/socketio/engine.io/issues/644
2022-12-05 23:57:32 +01:00
dependabot[bot]
7fbea714db chore: bump decode-uri-component from 0.2.0 to 0.2.2 (#130)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 21:58:42 +01:00
Damien Arrachequesne
3b7ced7af7 chore(release): 4.5.4
Diff: https://github.com/socketio/socket.io/compare/4.5.3...4.5.4
4.5.4
2022-11-22 22:45:13 +01:00
Damien Arrachequesne
c00bb9564c chore: bump engine.io to version 6.2.1
In order to fix CVE-2022-41940.

See also: https://github.com/socketio/engine.io/security/advisories/GHSA-r7qp-cfhv-p84w
2022-11-22 22:35:53 +01:00
Damien Arrachequesne
57e5f25e26 chore: bump socket.io-parser to version 4.2.1
In order to fix CVE-2022-2421.

See also: https://github.com/advisories/GHSA-qm95-pgcg-qqfq
2022-11-22 22:32:09 +01:00
Damien Arrachequesne
91ef8395d5 chore(release): 4.5.4
Diff: https://github.com/socketio/socket.io-client/compare/4.5.3...4.5.4
2022-11-22 22:28:31 +01:00
Damien Arrachequesne
4810bd7592 chore(release): 4.0.0
Diff: https://github.com/socketio/emitter/compare/3.1.0...4.0.0
2022-11-22 14:18:49 +01:00
Damien Arrachequesne
0852bda0b4 refactor: rename emitReserved to _emitReserved to improve mangling
Related: https://github.com/socketio/socket.io/discussions/4529
2022-11-22 14:03:24 +01:00
Damien Arrachequesne
d7bd2b1d52 docs: add changelog for version 3.6.1 2022-11-20 03:06:58 +01:00
Damien Arrachequesne
24b847be6a chore(release): 6.2.1
Diff: https://github.com/socketio/engine.io/compare/6.2.0...6.2.1
2022-11-20 02:14:27 +01:00
Jonathan Neve
425e833ab1 fix: catch errors when destroying invalid upgrades (#658)
Before this change, receiving an HTTP2 upgrade would make the server
crash:

> Error: read ECONNRESET
>    at TCP.onStreamRead (node:internal/stream_base_commons:217:20) {
>  errno: -104,
>  code: 'ECONNRESET',
>  syscall: 'read'
> }

This can be reproduced with Node.js v14.15.3, v16.18.1 and v18.12.1.
2022-11-20 01:55:11 +01:00
dependabot[bot]
99adb00ba1 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latency (#661)
Bumps [xmlhttprequest-ssl](https://github.com/mjwwit/node-XMLHttpRequest) to 1.6.3 and updates ancestor dependency [engine.io-client](https://github.com/socketio/engine.io-client). These dependencies need to be updated together.


Updates `xmlhttprequest-ssl` from 1.5.5 to 1.6.3
- [Release notes](https://github.com/mjwwit/node-XMLHttpRequest/releases)
- [Commits](https://github.com/mjwwit/node-XMLHttpRequest/compare/1.5.5...1.6.3)

Updates `engine.io-client` from 4.0.0 to 4.1.4
- [Release notes](https://github.com/socketio/engine.io-client/releases)
- [Changelog](https://github.com/socketio/engine.io-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io-client/compare/4.0.0...4.1.4)

---
updated-dependencies:
- dependency-name: xmlhttprequest-ssl
  dependency-type: indirect
- dependency-name: engine.io-client
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-20 00:46:22 +01:00
dependabot[bot]
d196f6a6b7 chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-20 00:43:47 +01:00
dependabot[bot]
7c1270f98c chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.25 to 3.3.1.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.25...3.3.1)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-20 00:43:37 +01:00
Damien Arrachequesne
535a01d889 ci: add Node.js 18 in the test matrix
A few notes:

- the certificates were recreated because Node.js 18 includes OpenSSL
v3, which has deprecated support for some legacy ciphers (like RC2)

- eiows currently fails to build on Node.js 18, so the tests are
temporarily skipped

See also: https://github.com/nodejs/Release
2022-11-20 00:20:30 +01:00
Tamas Flamich
1b71a6f5cb docs: remove "Vanilla JS" highlight from README (#656) 2022-11-18 21:49:23 +01:00
Damien Arrachequesne
d882822908 ci: migrate from zuul to webdriver.io
zuul is now archived [1] and does not support the new W3C WebDriver
protocol, since it relies on the wd package [2] under the hood, which
uses the (now deprecated) JSON Wire Protocol.

We will now use the webdriver.io test framework, which allows to run
our tests in local and on Sauce Labs (cross-browser and mobile tests).
This allows us to run our tests on latest versions of Android and iOS,
since Sauce Labs only supports the W3C WebDriver protocol for these
platforms ([3]).

[1]: https://github.com/defunctzombie/zuul
[2]: https://github.com/admc/wd
[3]: https://docs.saucelabs.com/dev/w3c-webdriver-capabilities/
2022-11-17 09:51:12 +01:00
Dirk Stolle
e8912891b2 ci: update actions in GitHub Actions workflows (#1564) 2022-11-15 11:34:22 +01:00
Damien Arrachequesne
9143aa4c8e chore: update browserslist 2022-11-15 10:34:46 +01:00
Damien Arrachequesne
194a9b762e ci: migrate from zuul to webdriver.io
zuul is now archived [1] and does not support the new W3C WebDriver
protocol, since it relies on the wd package [2] under the hood, which
uses the (now deprecated) JSON Wire Protocol.

We will now use the webdriver.io test framework, which allows to run
our tests in local and on Sauce Labs (cross-browser and mobile tests).
This allows us to run our tests on latest versions of Android and iOS,
since Sauce Labs only supports the W3C WebDriver protocol for these
platforms ([3]).

[1]: https://github.com/defunctzombie/zuul
[2]: https://github.com/admc/wd
[3]: https://docs.saucelabs.com/dev/w3c-webdriver-capabilities/
2022-11-15 10:13:08 +01:00
Dirk Stolle
a9758da4be ci: update actions in GitHub Actions workflows (#117) 2022-11-15 10:02:20 +01:00
Damien Arrachequesne
f0af8834f8 docs: add missing versions in the changelog
Related: https://github.com/advisories/GHSA-qm95-pgcg-qqfq
2022-11-09 11:42:23 +01:00
Annniee1
cedd3117cf chore: bump socket.io-parser to version 4.2.1 (#1559) 2022-11-05 23:05:44 +01:00
Damien Arrachequesne
f4b698418a docs: add missing versions in the changelog 2022-11-02 08:40:26 +01:00
Damien Arrachequesne
9ec85f7da1 docs: add missing versions in the changelog (2) 2022-11-02 08:15:35 +01:00
Damien Arrachequesne
f9b773ffa0 docs: add missing versions in the changelog 2022-11-02 07:48:35 +01:00
Damien Arrachequesne
945c84be47 chore(release): 4.5.3
Diff: https://github.com/socketio/socket.io/compare/4.5.2...4.5.3
4.5.3
2022-10-15 07:14:45 +02:00
Damien Arrachequesne
2eca8dad28 chore(release): 4.5.3
Diff: https://github.com/socketio/socket.io-client/compare/4.5.2...4.5.3
2022-10-15 07:04:22 +02:00
Damien Arrachequesne
7c056889ee docs: add jsdoc for each public method 2022-10-15 06:54:56 +02:00
Damien Arrachequesne
d3d0a2d5be fix(typings): accept an HTTP2 server in the constructor
Related:

- https://github.com/socketio/socket.io/issues/4434
- https://github.com/socketio/socket.io/issues/4494
2022-10-14 11:24:36 +02:00
Damien Arrachequesne
19b225b0c8 docs(examples): update dependencies of the basic CRUD example
Related: https://github.com/socketio/socket.io/issues/4409
2022-10-14 10:39:40 +02:00
Damien Arrachequesne
8fae95dd18 docs: add jsdoc for each public method 2022-10-14 10:30:08 +02:00
Damien Arrachequesne
2403b88057 fix: do not swallow user exceptions
Following [1], any exception in a user-provided event listener would
get caught in the try...catch of the decoder and result in the
reconnection of the socket.

[1]: c597023169

Related:

- https://github.com/socketio/socket.io-client/issues/1551
- https://github.com/socketio/socket.io-client/issues/1554
- https://github.com/socketio/socket.io-client/issues/1557
2022-10-13 16:26:35 +02:00
Damien Arrachequesne
e6f6b906db docs: add deprecation notice for the allSockets() method 2022-10-13 15:02:23 +02:00
Damien Arrachequesne
596eb88af7 ci: upgrade to actions/checkout@3 and actions/setup-node@3
Reference: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
2022-10-13 14:50:09 +02:00
Damien Arrachequesne
e357daf585 fix(typings): apply types to "io.timeout(...).emit()" calls
Typed events were not applied when calling "io.timeout(...).emit()".

Related: https://github.com/socketio/socket.io-client/issues/1555#issuecomment-1277289733

Reference: https://socket.io/docs/v4/typescript/
2022-10-13 14:50:09 +02:00
Damien Arrachequesne
9d772e36b5 chore(release): 6.2.3
Diff: https://github.com/socketio/engine.io-client/compare/6.2.2...6.2.3
2022-10-13 12:36:04 +02:00
Damien Arrachequesne
99925a4775 fix: properly clear "beforeunload" event listener
Related: https://github.com/socketio/engine.io-client/issues/693
2022-10-13 12:20:03 +02:00
Damien Arrachequesne
d4d6463ded refactor: export the nextTick helper method
Related: https://github.com/socketio/socket.io-client/issues/1551
2022-10-13 11:13:44 +02:00
dependabot[bot]
5e585705de chore: bump terser from 4.8.0 to 4.8.1 (#692)
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 11:02:31 +02:00
Damien Arrachequesne
1098618a8c ci: temporarily remove iOS 16 from the test matrix
Tests iPhone and iPad 16 are currently failing.

Saucelabs error message:

> An unknown server-side error occurred while processing the command. Original error: W3C capabilities should be provided

It might be time to migrate from zuul (https://github.com/defunctzombie/zuul).
2022-10-13 10:19:49 +02:00
Damien Arrachequesne
fe840e2eb3 chore(release): 0.2.1
Diff: https://github.com/socketio/socket.io-cluster-adapter/compare/0.2.0...0.2.1
2022-10-13 09:23:36 +02:00
Damien Arrachequesne
a5a1c29082 chore: update dev dependencies 2022-10-13 09:17:46 +02:00
Damien Arrachequesne
66b4079953 ci: add Node.js 18 in the test matrix
Reference: https://github.com/nodejs/Release
2022-10-13 09:15:34 +02:00
Rolando Andrade
be0a0e3217 fix: properly handle ERR_IPC_CHANNEL_CLOSED errors (#6)
Related: https://github.com/socketio/socket.io-cluster-adapter/issues/5
2022-10-13 09:11:37 +02:00
Damien Arrachequesne
ddf922aa9e docs: update test suite
The server must send "noop" packets during the upgrade process, in
order to properly end the ongoing HTTP long-polling request (so that no
message gets lost).

Related: c706741544
2022-10-11 16:04:48 +02:00
Damien Arrachequesne
5dc01f73b4 docs: update test suite
- add delay between duplicate poll requests to ensure order
- accept HTTP 400 response for duplicate poll requests
- catch WebSocket "error" event instead of "close" event
2022-09-23 08:50:39 +02:00
Damien Arrachequesne
10fa4a2690 refactor: add list of possible disconnection reasons
Note: some disconnection reasons could be merged in the next major
release, i.e. the Deno impl does not have "forced server close" and
"server shutting down"

Related: https://github.com/socketio/socket.io/issues/4387
2022-09-13 08:25:13 +02:00