@wireapp/api-client 20.6.3 → 20.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -90,6 +90,6 @@
90
90
  "test:types": "tsc --noEmit",
91
91
  "watch": "webpack serve --config webpack.browser.js"
92
92
  },
93
- "version": "20.6.3",
94
- "gitHead": "f37d83582b9c3036d78b3385c5555f6068394ccb"
93
+ "version": "20.6.4",
94
+ "gitHead": "4578099d3d63d9e9e28e43911c72168fb885e2b8"
95
95
  }
@@ -117,7 +117,7 @@ export declare class APIClient extends EventEmitter {
117
117
  logout(options?: {
118
118
  skipLogoutRequest: boolean;
119
119
  }): Promise<void>;
120
- connect(onConnect?: OnConnect): Promise<WebSocketClient>;
120
+ connect(onConnect?: OnConnect): WebSocketClient;
121
121
  private createContext;
122
122
  disconnect(reason?: string): void;
123
123
  get clientId(): string | undefined;
@@ -33,7 +33,6 @@ export declare class WebSocketClient extends EventEmitter {
33
33
  client: HttpClient;
34
34
  private isSocketLocked;
35
35
  private bufferedMessages;
36
- private onConnect;
37
36
  private abortHandler?;
38
37
  static readonly TOPIC: typeof TOPIC;
39
38
  constructor(baseUrl: string, client: HttpClient);
@@ -55,7 +54,7 @@ export declare class WebSocketClient extends EventEmitter {
55
54
  * Essentially the websocket will lock before execution of this function and
56
55
  * unlocks after the execution of the handler and pushes all buffered messages.
57
56
  */
58
- connect(clientId?: string, onConnect?: OnConnect): Promise<WebSocketClient>;
57
+ connect(clientId?: string, onConnect?: OnConnect): WebSocketClient;
59
58
  private refreshAccessToken;
60
59
  disconnect(reason?: string, keepClosed?: boolean): void;
61
60
  /**
@@ -47,7 +47,6 @@ exports.AbortHandler = AbortHandler;
47
47
  class WebSocketClient extends events_1.EventEmitter {
48
48
  constructor(baseUrl, client) {
49
49
  super();
50
- this.onConnect = () => Promise.resolve();
51
50
  this.onMessage = (data) => {
52
51
  if (this.isLocked()) {
53
52
  this.bufferedMessages.push(data);
@@ -67,11 +66,9 @@ class WebSocketClient extends events_1.EventEmitter {
67
66
  // before we try any connection, we first refresh the access token to make sure we will avoid concurrent accessToken refreshes
68
67
  await this.refreshAccessToken();
69
68
  }
70
- // Note: Do NOT await `onConnect` otherwise the websocket will not connect during notification stream processing
71
- void this.onConnect();
72
69
  return this.buildWebSocketUrl();
73
70
  };
74
- this.onOpen = (event) => {
71
+ this.onOpen = () => {
75
72
  this.onStateChange(this.socket.getState());
76
73
  };
77
74
  this.onClose = (event) => {
@@ -133,25 +130,18 @@ class WebSocketClient extends events_1.EventEmitter {
133
130
  * Essentially the websocket will lock before execution of this function and
134
131
  * unlocks after the execution of the handler and pushes all buffered messages.
135
132
  */
136
- async connect(clientId, onConnect) {
137
- if (onConnect) {
138
- this.onConnect = async () => {
139
- this.abortHandler = new AbortHandler();
140
- try {
141
- this.logger.info('Calling "onConnect"');
142
- await onConnect(this.abortHandler);
143
- }
144
- catch (error) {
145
- this.logger.warn(`Error during execution of "onConnect"`, error);
146
- this.emit(WebSocketClient.TOPIC.ON_ERROR, error);
147
- }
148
- this.onStateChange(this.socket.getState());
149
- };
150
- }
133
+ connect(clientId, onConnect) {
151
134
  this.clientId = clientId;
135
+ this.onStateChange(ReconnectingWebsocket_1.WEBSOCKET_STATE.CONNECTING);
152
136
  this.socket.setOnMessage(this.onMessage);
153
137
  this.socket.setOnError(this.onError);
154
- this.socket.setOnOpen(this.onOpen);
138
+ this.socket.setOnOpen(() => {
139
+ this.onOpen();
140
+ if (onConnect) {
141
+ this.abortHandler = new AbortHandler();
142
+ void onConnect(this.abortHandler);
143
+ }
144
+ });
155
145
  this.socket.setOnClose(this.onClose);
156
146
  this.socket.connect();
157
147
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketClient.js","sourceRoot":"","sources":["WebSocketClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketClient.js","sourceRoot":"","sources":["WebSocketClient.ts"],"names":[],"mappings":"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"}