Damien Arrachequesne
443e447087
docs(examples): add example with WebTransport
2023-06-29 11:21:27 +02:00
Damien Arrachequesne
2f6cc2fa42
chore(release): 4.7.1
...
Diff: https://github.com/socketio/socket.io/compare/4.7.0...4.7.1
4.7.1
2023-06-28 09:32:32 +02:00
Damien Arrachequesne
0536fccfc2
chore(release): 4.7.1
...
Diff: https://github.com/socketio/socket.io-client/compare/4.7.0...4.7.1
2023-06-28 09:18:27 +02:00
Damien Arrachequesne
6169bb8782
chore: bump dev dependencies
2023-06-28 09:11:32 +02:00
Damien Arrachequesne
84ec6cf427
refactor: expose the ESM build with debug (bis)
...
This reverts the previous commit ([1]), and expose the ESM build that
includes the debug package on a subpath:
```js
import { io } from "socket.io-client/debug";
```
Reference: https://nodejs.org/api/packages.html#subpath-exports
Related: https://github.com/socketio/socket.io-client/issues/1586
[1]: 781d753a62
2023-06-28 09:11:24 +02:00
Damien Arrachequesne
630ff412a4
chore: bump engine.io-client to version 6.5.1
...
Diff: https://github.com/socketio/engine.io-client/compare/6.5.0...6.5.1
Release notes: https://github.com/socketio/engine.io-client/releases/tag/6.5.1
2023-06-28 08:56:49 +02:00
Damien Arrachequesne
500085dcf2
chore(release): 6.5.1
...
Diff: https://github.com/socketio/engine.io-client/compare/6.5.0...6.5.1
2023-06-28 08:44:52 +02:00
Damien Arrachequesne
a63066bdc8
fix: make closeOnBeforeunload default to false
...
Silently closing the connection when receiving a "beforeunload" event
is problematic, because it is emitted:
- when downloading a file from another host
Related: https://github.com/socketio/socket.io/issues/4436
- when the user already has a listener for the "beforeunload" event
(i.e. "are you sure you want to leave this page?")
Related:
- https://github.com/socketio/engine.io-client/issues/661
- https://github.com/socketio/engine.io-client/issues/658
- https://github.com/socketio/socket.io/issues/4065
That's why the `closeOnBeforeunload` option will now default to false.
2023-06-28 08:33:40 +02:00
Damien Arrachequesne
1fc61a3be5
refactor: expose the ESM build with debug (bis)
...
This reverts the previous commit ([1]), and expose the ESM build that
includes the debug package on a subpath:
```js
import { Socket } from "engine.io-client/debug";
```
Reference: https://nodejs.org/api/packages.html#subpath-exports
Related: https://github.com/socketio/socket.io-client/issues/1586
[1]: fe4d93ae20
2023-06-28 08:26:25 +02:00
Damien Arrachequesne
fe4d93ae20
refactor: expose the ESM build with debug
...
So that debug logs can be printed with vite:
```js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
port: 4000
},
resolve: {
conditions: ["development"]
}
})
```
Reference: https://v2.vitejs.dev/config/#resolve-conditions
Related: 781d753a62
2023-06-27 15:00:05 +02:00
Damien Arrachequesne
6404391143
refactor: allow transportOptions to override all other options
...
Related: https://github.com/socketio/socket.io/issues/4719
2023-06-27 14:59:09 +02:00
Damien Arrachequesne
cf6aa1f43c
fix(webtransport): properly handle abruptly closed connections
2023-06-27 14:25:52 +02:00
Damien Arrachequesne
98915d0b61
chore(release): 6.5.1
...
Diff: https://github.com/socketio/engine.io/compare/6.5.0...6.5.1
2023-06-27 09:13:22 +02:00
Ben Weintraub
6dd2bc4f68
fix: prevent crash when accessing TextDecoder ( #684 )
...
The TextDecoder object was added on the global object in Node.js
v11.0.0, so older versions would throw:
> ReferenceError: TextDecoder is not defined
Reference: https://nodejs.org/api/util.html#new-textdecoderencoding-options
2023-06-27 09:01:26 +02:00
Damien Arrachequesne
00d8ee5b05
chore(release): 4.7.0
...
Diff: https://github.com/socketio/socket.io/compare/4.6.2...4.7.0
4.7.0
2023-06-22 11:27:45 +02:00
Damien Arrachequesne
9b235ec01d
chore(release): 4.7.0
...
Diff: https://github.com/socketio/socket.io-client/compare/4.6.2...4.7.0
2023-06-22 11:20:22 +02:00
Max Stepanov
f2892aba0b
fix: use same scope for setTimeout and clearTimeout calls ( #1568 )
...
Details:
- engine.io-client sets clearTimeoutFn and setTimeoutFn function
depending on settings passed to manager
- socker.io-client is using manager.setTimeoutFn to start connection
monitoring timer, but is using regular clearTimeout function to
stop it when connection is established
- in some setups it is causing timer fail to stop and it will break
connection every _timeout_ milliseconds (which is 20000 by default)
2023-06-22 09:33:11 +02:00
dependabot[bot]
87236baf87
chore: bump json5 from 2.1.3 to 2.2.3 ( #120 )
...
Bumps [json5](https://github.com/json5/json5 ) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases )
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md )
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3 )
---
updated-dependencies:
- dependency-name: json5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-22 09:12:30 +02:00
dependabot[bot]
021618886a
chore: bump decode-uri-component from 0.2.0 to 0.2.2 ( #119 )
...
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 >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-22 09:12:16 +02:00
bitcoinfinancier
2d8b159e2a
chore: add security policy ( #124 )
2023-06-22 09:10:50 +02:00
Damien Arrachequesne
7594aa40c6
refactor: expose the ESM build with debug
...
So that debug logs can be printed with vite:
```js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
port: 4000
},
resolve: {
conditions: ["development"]
}
})
```
Related: 781d753a62
2023-06-22 08:56:47 +02:00
Damien Arrachequesne
0eecad9185
refactor: export the isPacketValid() method
...
So that any custom parser does not have to implement their own.
Reference: https://socket.io/docs/v4/custom-parser/
2023-06-22 08:55:01 +02:00
Damien Arrachequesne
2dd5fa9dd4
ci: add Node.js 20 in the test matrix
...
Reference: https://github.com/nodejs/Release
2023-06-22 07:55:32 +02:00
Damien Arrachequesne
a5dff0ac83
docs(examples): increase httpd ProxyTimeout value (2)
2023-06-21 00:07:44 +02:00
Damien Arrachequesne
3035c25982
docs(examples): increase httpd ProxyTimeout value
...
With a value that is too small, the HTTP long-polling request receives
an HTTP 502 response code and the connection gets closed.
2023-06-20 23:57:46 +02:00
Damien Arrachequesne
5bc94b56bc
fix: properly report timeout error when connecting
...
In some specific cases (Node.js client with WebSocket only), the reason
attached to the "connect_error" event was "websocket error" instead of
"timeout".
Related: https://github.com/socketio/socket.io/issues/4062
2023-06-20 18:48:11 +02:00
Damien Arrachequesne
63f181cc12
feat: serve client bundles with CORS headers
...
The version of the `cors` package matches the one used by `engine.io`.
Related: https://github.com/socketio/socket.io/issues/3552
2023-06-20 14:32:59 +02:00
Ray Foss
781d753a62
feat: expose ESM build with debug ( #1585 )
...
So that debug logs can be printed with vite:
```js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
port: 4000
},
resolve: {
conditions: ["development"]
}
})
```
Reference: https://v2.vitejs.dev/config/#resolve-conditions
Related:
- https://github.com/socketio/socket.io/issues/4731
- https://github.com/socketio/socket.io/issues/4635
- https://github.com/socketio/socket.io-client/issues/1516
2023-06-20 14:30:54 +02:00
Damien Arrachequesne
a250e283da
chore: bump engine.io to version 6.5.0
...
Diff: https://github.com/socketio/engine.io/compare/6.4.2...6.5.0
Release notes: https://github.com/socketio/engine.io/releases/tag/6.5.0
2023-06-20 09:17:10 +02:00
SyedTayyabUlMazhar
e5c62cad60
fix: remove the Partial modifier from the socket.data type ( #4740 )
...
Wrapping SocketData with Partial causes issues when reading data even
if you've made sure to pass all values. If someone want to make their
type Partial or make only a few properties optional, they can do so in
their own type instead.
Related: https://github.com/socketio/socket.io/issues/4537
2023-06-20 07:49:02 +02:00
Damien Arrachequesne
887396dbc2
ci: add Node.js 20 in the test matrix
...
Reference: https://github.com/nodejs/Release
2023-06-19 08:16:23 +02:00
Damien Arrachequesne
8f14b98fff
chore: bump engine.io-client to version 6.5.0
...
Diff: https://github.com/socketio/engine.io-client/compare/6.4.0...6.5.0
Release notes: https://github.com/socketio/engine.io-client/releases/tag/6.5.0
2023-06-16 12:40:51 +02:00
Damien Arrachequesne
01804d59c3
chore: update bundle
2023-06-16 11:59:43 +02:00
dependabot[bot]
9608781efe
chore(deps): bump engine.io from 6.2.1 to 6.4.2 in /examples/latency ( #678 )
...
Bumps [engine.io](https://github.com/socketio/engine.io ) from 6.2.1 to 6.4.2.
- [Release notes](https://github.com/socketio/engine.io/releases )
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md )
- [Commits](https://github.com/socketio/engine.io/compare/6.2.1...6.4.2 )
---
updated-dependencies:
- dependency-name: engine.io
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-16 11:42:09 +02:00
Damien Arrachequesne
1f640a2a0f
chore(release): 6.5.0
...
Diff: https://github.com/socketio/engine.io/compare/6.4.2...6.5.0
2023-06-16 11:36:09 +02:00
Damien Arrachequesne
4abc2ca3df
chore(release): 6.5.0
...
Diff: https://github.com/socketio/engine.io-client/compare/6.4.0...6.5.0
2023-06-16 11:05:41 +02:00
Damien Arrachequesne
9d37b16e6a
feat: favor WebTransport over WebSocket
...
This commit ensures that when there are multiple possible upgrades
(like WebSocket and WebTransport), then the WebTransport is favored and
the other upgrades are delayed.
Following 7195c0f305
2023-06-16 10:24:51 +02:00
Damien Arrachequesne
13d08bc0ac
test: fix randomly failing test
2023-06-16 10:22:32 +02:00
Damien Arrachequesne
1bfa9cd088
refactor: adapt to latest uWebSockets.js changes
...
Reference: https://github.com/uNetworking/uWebSockets.js/releases
2023-06-16 10:19:58 +02:00
Damien Arrachequesne
36724da521
refactor: cleanup URI creation
...
Following 7195c0f305
2023-06-13 17:57:01 +02:00
Damien Arrachequesne
e05367f6bb
chore: bump caniuse-lite version
2023-06-13 17:40:54 +02:00
Damien Arrachequesne
73b2f11300
refactor: remove unused async attribute
...
The `async` flag was always true.
2023-06-13 17:39:59 +02:00
Damien Arrachequesne
2c16af3797
refactor: remove useless xscheme attribute
...
The xscheme attribute was used when XDomainRequest was supported (IE8).
Related: c6561928be
2023-06-13 17:38:40 +02:00
Damien Arrachequesne
5fc88a62d4
feat: implement cookie management for the Node.js client
...
When setting the `withCredentials` option to `true`, the Node.js client
will now include the cookies in the HTTP requests, making it easier to
use it with cookie-based sticky sessions.
Related: https://github.com/socketio/socket.io/issues/3812
2023-06-13 17:31:00 +02:00
Damien Arrachequesne
7195c0f305
feat: add support for WebTransport
...
Reference: https://developer.mozilla.org/en-US/docs/Web/API/WebTransport
Related:
- https://github.com/socketio/engine.io-client/issues/703
- https://github.com/socketio/socket.io/issues/3769
2023-06-12 09:58:47 +02:00
Damien Arrachequesne
123b68c04f
feat: add support for WebTransport
...
Reference: https://developer.mozilla.org/en-US/docs/Web/API/WebTransport
2023-06-11 09:42:45 +02:00
Damien Arrachequesne
a779bea9d7
chore(release): 5.1.0
...
Diff: https://github.com/socketio/engine.io-parser/compare/5.0.7...5.1.0
2023-06-11 07:50:57 +02:00
Damien Arrachequesne
670160d604
ci: add Node.js 20 in the test matrix
2023-06-11 07:45:09 +02:00
Damien Arrachequesne
8039f2e421
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/
2023-06-11 07:44:23 +02:00
Damien Arrachequesne
bed70a4f25
feat: implement WebTransport-related encoding/decoding
2023-06-11 07:41:51 +02:00