Skip to content

Commit cc3521c

Browse files
authored
fix(socketio-client): Throw an error and show a warning if someone tries to use socket.io-client v3 (#2135)
* fix(socketio-client): Throw an error and show a warning if someone tries to use socket.io-client v3
1 parent d31c26a commit cc3521c

6 files changed

Lines changed: 71 additions & 112 deletions

File tree

package-lock.json

Lines changed: 58 additions & 108 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/authentication-client/src/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class AuthenticationClient {
6565

6666
socket.on(disconnected, () => {
6767
const authPromise = new Promise(resolve =>
68-
socket.once(connected, () => resolve())
68+
socket.once(connected, (data: any) => resolve(data))
6969
)
7070
// Only reconnect when `reAuthenticate()` or `authenticate()`
7171
// has been called explicitly first

packages/authentication-oauth/src/express.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export default (options: OauthSetupSettings) => {
104104
...payload
105105
};
106106

107-
await new Promise((resolve, reject) => {
107+
await new Promise<void>((resolve, reject) => {
108108
if (!req.session.destroy) {
109109
req.session = null;
110110
resolve();

packages/authentication-oauth/test/express.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe('@feathersjs/authentication-oauth/express', () => {
99
before(async () => {
1010
server = app.listen(9876);
1111

12-
await new Promise(resolve => server.once('listening', () => resolve()));
12+
await new Promise<void>(resolve => server.once('listening', () => resolve()));
1313
});
1414

1515
after(() => server.close());

packages/socketio-client/lib/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ function socketioClient (connection, options) {
55
throw new Error('Socket.io connection needs to be provided');
66
}
77

8+
if (connection && connection.io && connection.io.engine &&
9+
connection.io.engine.transport && connection.io.engine.transport.query &&
10+
connection.io.engine.transport.query.EIO > 3
11+
) {
12+
// tslint:disable-next-line
13+
console.error('You are trying to use the Socket.io client version 3 or later with Feathers v4 which only supports Socket.io version 2. Please use socket.io-client version 2 instead.');
14+
throw new Error('socket.io-client must be version 2.x');
15+
}
16+
817
const defaultService = function (name) {
918
const events = Object.keys(this.eventMappings || {})
1019
.map(method => this.eventMappings[method]);

packages/transport-commons/test/channels/channel.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ describe('app.channel', () => {
104104
it('is an EventEmitter', () => {
105105
const channel = app.channel('emitchannel');
106106

107-
return new Promise((resolve) => {
107+
return new Promise<void>((resolve) => {
108108
channel.once('message', data => {
109109
assert.strictEqual(data, 'hello');
110110
resolve();

0 commit comments

Comments
 (0)