@opensumi/ide-connection 3.0.2-next-1715826860.0 → 3.0.2-next-1715852509.0

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.
Files changed (34) hide show
  1. package/lib/browser/ws-channel-handler.d.ts +0 -6
  2. package/lib/browser/ws-channel-handler.d.ts.map +1 -1
  3. package/lib/browser/ws-channel-handler.js +9 -68
  4. package/lib/browser/ws-channel-handler.js.map +1 -1
  5. package/lib/common/connection/drivers/reconnecting-websocket.d.ts +1 -1
  6. package/lib/common/connection/drivers/reconnecting-websocket.d.ts.map +1 -1
  7. package/lib/common/connection/drivers/reconnecting-websocket.js +1 -1
  8. package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
  9. package/lib/common/fury-extends/one-of.d.ts +1 -2
  10. package/lib/common/fury-extends/one-of.d.ts.map +1 -1
  11. package/lib/common/fury-extends/one-of.js +5 -12
  12. package/lib/common/fury-extends/one-of.js.map +1 -1
  13. package/lib/common/rpc/connection.d.ts.map +1 -1
  14. package/lib/common/rpc/connection.js +6 -3
  15. package/lib/common/rpc/connection.js.map +1 -1
  16. package/lib/common/server-handler.d.ts +4 -4
  17. package/lib/common/server-handler.d.ts.map +1 -1
  18. package/lib/common/server-handler.js +12 -25
  19. package/lib/common/server-handler.js.map +1 -1
  20. package/lib/common/ws-channel.d.ts +23 -77
  21. package/lib/common/ws-channel.d.ts.map +1 -1
  22. package/lib/common/ws-channel.js +4 -77
  23. package/lib/common/ws-channel.js.map +1 -1
  24. package/lib/node/ws.d.ts.map +1 -1
  25. package/lib/node/ws.js +0 -1
  26. package/lib/node/ws.js.map +1 -1
  27. package/package.json +6 -6
  28. package/src/browser/ws-channel-handler.ts +10 -74
  29. package/src/common/connection/drivers/reconnecting-websocket.ts +3 -5
  30. package/src/common/fury-extends/one-of.ts +3 -12
  31. package/src/common/rpc/connection.ts +149 -148
  32. package/src/common/server-handler.ts +18 -41
  33. package/src/common/ws-channel.ts +35 -143
  34. package/src/node/ws.ts +0 -1
@@ -1,6 +1,5 @@
1
- /// <reference types="node" />
2
1
  import { EventEmitter } from '@opensumi/events';
3
- import { DisposableStore, EventQueue, StateTracer } from '@opensumi/ide-core-common';
2
+ import { DisposableStore, EventQueue } from '@opensumi/ide-core-common';
4
3
  import { IConnectionShape } from './connection/types';
5
4
  import { ISumiConnectionOptions, SumiConnection } from './rpc/connection';
6
5
  import { ILogger } from './types';
@@ -20,6 +19,25 @@ export interface PongMessage {
20
19
  id: string;
21
20
  clientId: string;
22
21
  }
22
+ /**
23
+ * `open` message is used to open a new channel.
24
+ * `path` is used to identify which handler should be used to handle the channel.
25
+ * `clientId` is used to identify the client.
26
+ */
27
+ export interface OpenMessage {
28
+ kind: 'open';
29
+ id: string;
30
+ path: string;
31
+ clientId: string;
32
+ }
33
+ /**
34
+ * when server receive a `open` message, it should reply a `server-ready` message.
35
+ * this is indicate that the channel is ready to use.
36
+ */
37
+ export interface ServerReadyMessage {
38
+ kind: 'server-ready';
39
+ id: string;
40
+ }
23
41
  /**
24
42
  * `data` message indicate that the channel has received some data.
25
43
  * the `content` field is the data, it should be a string.
@@ -40,6 +58,7 @@ export interface CloseMessage {
40
58
  code: number;
41
59
  reason: string;
42
60
  }
61
+ export type ChannelMessage = PingMessage | PongMessage | OpenMessage | ServerReadyMessage | DataMessage | BinaryMessage | CloseMessage;
43
62
  export interface IWSChannelCreateOptions {
44
63
  /**
45
64
  * every channel's unique id, it only used in client to server architecture.
@@ -74,19 +93,9 @@ export declare class WSChannel {
74
93
  onOpen(cb: (id: string) => void): import("@opensumi/events").IDisposable;
75
94
  onReopen(cb: () => void): import("@opensumi/events").IDisposable;
76
95
  pause(): void;
77
- onServerReady(cb: () => void): import("@opensumi/events").IDisposable | undefined;
78
96
  resume(): void;
79
97
  dispatch(msg: ChannelMessage): void;
80
- stateTracer: StateTracer;
81
- /**
82
- * @param connectionToken 一个 connection token 用于在全链路中追踪一个 channel 的生命周期,防止 channel 被重复打开
83
- */
84
- open(path: string, clientId: string, connectionToken?: string): string | undefined;
85
- protected timer: NodeJS.Timeout;
86
- /**
87
- * 启动定时器,确保 server-ready 消息在一定时间内到达
88
- */
89
- protected ensureOpenSend(path: string, clientId: string, connectionToken: string): void;
98
+ open(path: string, clientId: string): void;
90
99
  send(content: string): void;
91
100
  sendBinary(data: Uint8Array): void;
92
101
  onError(): void;
@@ -103,21 +112,12 @@ export declare class WSChannel {
103
112
  createSumiConnection(options?: ISumiConnectionOptions): SumiConnection;
104
113
  dispose(): void;
105
114
  }
106
- interface IWSServerChannelCreateOptions extends IWSChannelCreateOptions {
107
- clientId: string;
108
- }
109
115
  /**
110
116
  * The server side channel, it will send a `server-ready` message after it receive a `open` message.
111
117
  */
112
118
  export declare class WSServerChannel extends WSChannel {
113
- connection: IConnectionShape<Uint8Array>;
114
- messageQueue: ChannelMessage[];
115
- clientId: string;
116
- constructor(connection: IConnectionShape<Uint8Array>, options: IWSServerChannelCreateOptions);
117
- serverReady(token: string): void;
118
- dispatch(msg: ChannelMessage): void;
119
+ serverReady(): void;
119
120
  }
120
- export type ChannelMessage = PingMessage | PongMessage | OpenMessage | ServerReadyMessage | DataMessage | BinaryMessage | CloseMessage | ErrorMessage;
121
121
  export declare const PingProtocol: {
122
122
  type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
123
123
  options: {
@@ -146,18 +146,6 @@ export declare const PongProtocol: {
146
146
  } | undefined;
147
147
  };
148
148
  };
149
- /**
150
- * `open` message is used to open a new channel.
151
- * `path` is used to identify which handler should be used to handle the channel.
152
- * `clientId` is used to identify the client.
153
- */
154
- export interface OpenMessage {
155
- kind: 'open';
156
- id: string;
157
- path: string;
158
- clientId: string;
159
- connectionToken: string;
160
- }
161
149
  export declare const OpenProtocol: {
162
150
  type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
163
151
  options: {
@@ -172,21 +160,9 @@ export declare const OpenProtocol: {
172
160
  path: {
173
161
  type: import("@furyjs/fury").InternalSerializerType.STRING;
174
162
  };
175
- connectionToken: {
176
- type: import("@furyjs/fury").InternalSerializerType.STRING;
177
- };
178
163
  } | undefined;
179
164
  };
180
165
  };
181
- /**
182
- * when server receive a `open` message, it should reply a `server-ready` message.
183
- * this is indicate that the channel is ready to use.
184
- */
185
- export interface ServerReadyMessage {
186
- kind: 'server-ready';
187
- id: string;
188
- token: string;
189
- }
190
166
  export declare const ServerReadyProtocol: {
191
167
  type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
192
168
  options: {
@@ -195,35 +171,6 @@ export declare const ServerReadyProtocol: {
195
171
  id: {
196
172
  type: import("@furyjs/fury").InternalSerializerType.STRING;
197
173
  };
198
- token: {
199
- type: import("@furyjs/fury").InternalSerializerType.STRING;
200
- };
201
- } | undefined;
202
- };
203
- };
204
- export declare enum ErrorMessageCode {
205
- ChannelNotFound = 1
206
- }
207
- export interface ErrorMessage {
208
- kind: 'error';
209
- id: string;
210
- code: ErrorMessageCode;
211
- message: string;
212
- }
213
- export declare const ErrorProtocol: {
214
- type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
215
- options: {
216
- tag: string;
217
- props: {
218
- id: {
219
- type: import("@furyjs/fury").InternalSerializerType.STRING;
220
- };
221
- code: {
222
- type: import("@furyjs/fury").InternalSerializerType.UINT16;
223
- };
224
- message: {
225
- type: import("@furyjs/fury").InternalSerializerType.STRING;
226
- };
227
174
  } | undefined;
228
175
  };
229
176
  };
@@ -276,5 +223,4 @@ export declare function stringify(obj: ChannelMessage): Uint8Array;
276
223
  export declare function parse(input: Uint8Array): ChannelMessage;
277
224
  export declare const pingMessage: Uint8Array;
278
225
  export declare const pongMessage: Uint8Array;
279
- export {};
280
226
  //# sourceMappingURL=ws-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-channel.d.ts","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,eAAe,EACf,UAAU,EACV,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,SAAS;IAyCD,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAxC3D,SAAS,CAAC,YAAY,kBAAyB;IAC/C,SAAS,CAAC,OAAO;iBAEJ,CAAC,IAAI,EAAE,MAAM,CAAC;cACjB,CAAC,EAAE,EAAE,MAAM,CAAC;gBACV,EAAE;eACH,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;gBAC/B,CAAC,IAAI,EAAE,UAAU,CAAC;OAE5B;IAEF,SAAS,CAAC,aAAa,yBAAuD;IAE9E,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,CAAM;IACvC,SAAS,CAAC,cAAc,UAAS;IACjC,SAAS,CAAC,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3C,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW,EAAE,MAAM,CAAC;IAE3B,MAAM,EAAE,OAAO,CAAW;IAE1B,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,uBAAuB;gBAiBxE,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,uBAAuB;IAa7F,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU;IAWlC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG;IAGnC,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG;IAGtC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;IAG/B,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI;IAIvB,KAAK;IAIL,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI;IAQ5B,MAAM;IAUN,QAAQ,CAAC,GAAG,EAAE,cAAc;IAmB5B,WAAW,cAA4C;IAEvD;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,SAAmB;IA6BvE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IAChC;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAahF,IAAI,CAAC,OAAO,EAAE,MAAM;IAUpB,UAAU,CAAC,IAAI,EAAE,UAAU;IAS3B,OAAO;IACP,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAIpC,UAAU;IAGV,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;IAGlD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;IAIpD,gBAAgB;+BAEW,MAAM,UAAU,MAAM,KAAK,IAAI;+BAC/B,UAAU,KAAK,GAAG;qBAC5B,UAAU;;;IAO3B,oBAAoB,CAAC,OAAO,GAAE,sBAA2B;IAKzD,OAAO;CAOR;AAED,UAAU,6BAA8B,SAAQ,uBAAuB;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAIzB,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAH3D,YAAY,EAAE,cAAc,EAAE,CAAM;IAEpC,QAAQ,EAAE,MAAM,CAAC;gBACE,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,6BAA6B;IAInG,WAAW,CAAC,KAAK,EAAE,MAAM;IAUzB,QAAQ,CAAC,GAAG,EAAE,cAAc;CAU7B;AAED,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,WAAW,GACX,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,CAAC;AAEjB,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAGvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAGvB,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAKvB,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAG9B,CAAC;AAEH,oBAAY,gBAAgB;IAC1B,eAAe,IAAI;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAIxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAGvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAGzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAIxB,CAAC;AAaH,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,UAAU,CAEzD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAEvD;AAcD,eAAO,MAAM,WAAW,YAA0B,CAAC;AACnD,eAAO,MAAM,WAAW,YAA0B,CAAC"}
1
+ {"version":3,"file":"ws-channel.d.ts","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pongMessage = exports.pingMessage = exports.parse = exports.stringify = exports.CloseProtocol = exports.BinaryProtocol = exports.DataProtocol = exports.ErrorProtocol = exports.ErrorMessageCode = exports.ServerReadyProtocol = exports.OpenProtocol = exports.PongProtocol = exports.PingProtocol = exports.WSServerChannel = exports.WSChannel = void 0;
3
+ exports.pongMessage = exports.pingMessage = exports.parse = exports.stringify = exports.CloseProtocol = exports.BinaryProtocol = exports.DataProtocol = exports.ServerReadyProtocol = exports.OpenProtocol = exports.PongProtocol = exports.PingProtocol = exports.WSServerChannel = exports.WSChannel = void 0;
4
4
  const fury_1 = require("@furyjs/fury");
5
5
  const events_1 = require("@opensumi/events");
6
6
  const ide_core_common_1 = require("@opensumi/ide-core-common");
@@ -26,7 +26,6 @@ class WSChannel {
26
26
  this.sendQueue = [];
27
27
  this._isServerReady = false;
28
28
  this.logger = console;
29
- this.stateTracer = this._disposables.add(new ide_core_common_1.StateTracer());
30
29
  const { id, logger, ensureServerReady } = options;
31
30
  this.id = id;
32
31
  if (logger) {
@@ -60,13 +59,6 @@ class WSChannel {
60
59
  pause() {
61
60
  this._isServerReady = false;
62
61
  }
63
- onServerReady(cb) {
64
- if (this._isServerReady) {
65
- cb();
66
- return;
67
- }
68
- return this.emitter.on('open', cb);
69
- }
70
62
  resume() {
71
63
  this._isServerReady = true;
72
64
  if (this.sendQueue) {
@@ -79,11 +71,7 @@ class WSChannel {
79
71
  dispatch(msg) {
80
72
  switch (msg.kind) {
81
73
  case 'server-ready':
82
- this.stateTracer.fulfill(msg.token);
83
74
  this.resume();
84
- if (this.timer) {
85
- clearTimeout(this.timer);
86
- }
87
75
  this.emitter.emit('open', msg.id);
88
76
  break;
89
77
  case 'data':
@@ -94,42 +82,14 @@ class WSChannel {
94
82
  break;
95
83
  }
96
84
  }
97
- /**
98
- * @param connectionToken 一个 connection token 用于在全链路中追踪一个 channel 的生命周期,防止 channel 被重复打开
99
- */
100
- open(path, clientId, connectionToken = (0, ide_core_common_1.randomString)(16)) {
85
+ open(path, clientId) {
101
86
  this.channelPath = path;
102
- if (this.stateTracer.has(connectionToken)) {
103
- this.logger.warn(`channel already opened or in progress, path: ${path}, clientId: ${clientId}, connectionToken: ${connectionToken}`);
104
- return;
105
- }
106
- this.stateTracer.record(connectionToken);
107
87
  this.connection.send(stringify({
108
88
  kind: 'open',
109
89
  id: this.id,
110
90
  path,
111
91
  clientId,
112
- connectionToken,
113
92
  }));
114
- if (this._ensureServerReady) {
115
- this.ensureOpenSend(path, clientId, connectionToken);
116
- }
117
- return connectionToken;
118
- }
119
- /**
120
- * 启动定时器,确保 server-ready 消息在一定时间内到达
121
- */
122
- ensureOpenSend(path, clientId, connectionToken) {
123
- if (this.timer) {
124
- clearTimeout(this.timer);
125
- }
126
- this.timer = setTimeout(() => {
127
- if (this._isServerReady) {
128
- return;
129
- }
130
- this.stateTracer.delete(connectionToken);
131
- this.open(path, clientId, connectionToken);
132
- }, 500);
133
93
  }
134
94
  send(content) {
135
95
  this.inqueue(stringify({
@@ -174,10 +134,6 @@ class WSChannel {
174
134
  return conn;
175
135
  }
176
136
  dispose() {
177
- if (this.timer) {
178
- clearTimeout(this.timer);
179
- }
180
- this.sendQueue = [];
181
137
  this._disposables.dispose();
182
138
  }
183
139
  }
@@ -186,29 +142,12 @@ exports.WSChannel = WSChannel;
186
142
  * The server side channel, it will send a `server-ready` message after it receive a `open` message.
187
143
  */
188
144
  class WSServerChannel extends WSChannel {
189
- constructor(connection, options) {
190
- super(connection, options);
191
- this.connection = connection;
192
- this.messageQueue = [];
193
- this.clientId = options.clientId;
194
- }
195
- serverReady(token) {
145
+ serverReady() {
196
146
  this.connection.send(stringify({
197
147
  kind: 'server-ready',
198
148
  id: this.id,
199
- token,
200
149
  }));
201
150
  }
202
- dispatch(msg) {
203
- switch (msg.kind) {
204
- case 'data':
205
- this.emitter.emit('message', msg.content);
206
- break;
207
- case 'binary':
208
- this.emitter.emit('binary', msg.binary);
209
- break;
210
- }
211
- }
212
151
  }
213
152
  exports.WSServerChannel = WSServerChannel;
214
153
  exports.PingProtocol = fury_1.Type.object('ping', {
@@ -223,20 +162,9 @@ exports.OpenProtocol = fury_1.Type.object('open', {
223
162
  clientId: fury_1.Type.string(),
224
163
  id: fury_1.Type.string(),
225
164
  path: fury_1.Type.string(),
226
- connectionToken: fury_1.Type.string(),
227
165
  });
228
166
  exports.ServerReadyProtocol = fury_1.Type.object('server-ready', {
229
167
  id: fury_1.Type.string(),
230
- token: fury_1.Type.string(),
231
- });
232
- var ErrorMessageCode;
233
- (function (ErrorMessageCode) {
234
- ErrorMessageCode[ErrorMessageCode["ChannelNotFound"] = 1] = "ChannelNotFound";
235
- })(ErrorMessageCode = exports.ErrorMessageCode || (exports.ErrorMessageCode = {}));
236
- exports.ErrorProtocol = fury_1.Type.object('error', {
237
- id: fury_1.Type.string(),
238
- code: fury_1.Type.uint16(),
239
- message: fury_1.Type.string(),
240
168
  });
241
169
  exports.DataProtocol = fury_1.Type.object('data', {
242
170
  id: fury_1.Type.string(),
@@ -251,7 +179,7 @@ exports.CloseProtocol = fury_1.Type.object('close', {
251
179
  code: fury_1.Type.uint32(),
252
180
  reason: fury_1.Type.string(),
253
181
  });
254
- const serializer = (0, one_of_1.oneOf)([
182
+ const serializer = (0, one_of_1.oneOf7)([
255
183
  exports.PingProtocol,
256
184
  exports.PongProtocol,
257
185
  exports.OpenProtocol,
@@ -259,7 +187,6 @@ const serializer = (0, one_of_1.oneOf)([
259
187
  exports.DataProtocol,
260
188
  exports.BinaryProtocol,
261
189
  exports.CloseProtocol,
262
- exports.ErrorProtocol,
263
190
  ]);
264
191
  function stringify(obj) {
265
192
  return serializer.serialize(obj);
@@ -1 +1 @@
1
- {"version":3,"file":"ws-channel.js","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-channel.js","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEpC,6CAAgD;AAChD,+DAA8F;AAG9F,kDAA+C;AAC/C,iDAA0E;AAqF1E,MAAa,SAAS;IAwBpB,MAAM,CAAC,SAAS,CAAC,UAAwC,EAAE,OAAgC;QACzF,MAAM,UAAU,GAAG,IAAI,sCAAoB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEnD,UAAU,CAAC,IAAI,CACb,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;QAEF,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YACxB,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAmB,UAAwC,EAAE,OAAgC;QAA1E,eAAU,GAAV,UAAU,CAA8B;QAxCjD,iBAAY,GAAG,IAAI,iCAAe,EAAE,CAAC;QACrC,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CACvC,IAAI,qBAAY,EAMZ,CACL,CAAC;QAEQ,kBAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,4BAAU,EAAc,CAAC,CAAC;QAEpE,cAAS,GAAiB,EAAE,CAAC;QAC7B,mBAAc,GAAG,KAAK,CAAC;QAOjC,WAAM,GAAY,OAAO,CAAC;QAoBxB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAES,OAAO,CAAC,IAAgB;QAChC,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;aACrB;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,EAAyB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,QAAQ,CAAC,EAA6B;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,CAAC,EAAwB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,QAAQ,CAAC,EAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;gBACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;IACH,CAAC;IAED,QAAQ,CAAC,GAAmB;QAC1B,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,cAAc;gBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM;SACT;IACH,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,QAAgB;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,SAAS,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI;YACJ,QAAQ;SACT,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,CACV,SAAS,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAgB;QACzB,IAAI,CAAC,OAAO,CACV,SAAS,CAAC;YACR,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,KAAI,CAAC;IACZ,KAAK,CAAC,IAAa,EAAE,MAAe;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,EAA0C;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,SAAS,CAAC,EAA0C;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,SAAS,EAAE,CAAC,EAA0C,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7E,SAAS,EAAE,CAAC,EAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,EAAE,CAAC,IAAgB,EAAE,EAAE;gBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,KAAI,CAAC;SACb,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,UAAkC,EAAE;QACvD,MAAM,IAAI,GAAG,IAAI,2BAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF;AA5KD,8BA4KC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,SAAS;IAC5C,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,SAAS,CAAC;YACR,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AATD,0CASC;AACY,QAAA,YAAY,GAAG,WAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;IACvB,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,WAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;IACvB,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,WAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;IACvB,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,WAAI,CAAC,MAAM,CAAC,cAAc,EAAE;IAC7D,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,WAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAC9C,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,WAAI,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,WAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IAClD,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IAChD,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,eAAM,EAAC;IACxB,oBAAY;IACZ,oBAAY;IACZ,oBAAY;IACZ,2BAAmB;IACnB,oBAAY;IACZ,sBAAc;IACd,qBAAa;CACd,CAAC,CAAC;AAEH,SAAgB,SAAS,CAAC,GAAmB;IAC3C,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAFD,8BAEC;AAED,SAAgB,KAAK,CAAC,KAAiB;IACrC,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,CAAQ,CAAC;AAC9C,CAAC;AAFD,sBAEC;AAED,MAAM,YAAY,GAAgB;IAChC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,YAAY,GAAgB;IAChC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,EAAE;CACb,CAAC;AAEW,QAAA,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AACtC,QAAA,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/node/ws.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,8BAAsB,gBAAgB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IACvF,IAAI,CAAC,IAAI,IAAI;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACnC,gBAAgB,CAAC,EAAE;QAEjB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,MAAM;IANT,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,kBAAkB,CAAqB;gBAG7C,MAAM,EAAE,IAAI,CAAC,MAAM,EACX,MAAM,GAAE,GAAa,EAC7B,IAAI,SAAO,EACX,kBAAkB,GAAE,gBAAgB,EAAO;IAUtC,eAAe,CAAC,OAAO,EAAE,gBAAgB;IASzC,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAkBhD,IAAI;IAKX,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;CA4BtB"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/node/ws.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,8BAAsB,gBAAgB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IACvF,IAAI,CAAC,IAAI,IAAI;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACnC,gBAAgB,CAAC,EAAE;QAEjB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,MAAM;IANT,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,kBAAkB,CAAqB;gBAG7C,MAAM,EAAE,IAAI,CAAC,MAAM,EACX,MAAM,GAAE,GAAa,EAC7B,IAAI,SAAO,EACX,kBAAkB,GAAE,gBAAgB,EAAO;IAUtC,eAAe,CAAC,OAAO,EAAE,gBAAgB;IASzC,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAkBhD,IAAI;IAKX,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;CA2BtB"}
package/lib/node/ws.js CHANGED
@@ -79,7 +79,6 @@ class WebSocketServerRoute {
79
79
  }
80
80
  if (wsHandlerIndex === wsHandlerLength) {
81
81
  this.logger.error(`request.url ${request.url} mismatch!`);
82
- socket.destroy();
83
82
  }
84
83
  });
85
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/node/ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/node/ws.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-connection",
3
- "version": "3.0.2-next-1715826860.0",
3
+ "version": "3.0.2-next-1715852509.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -19,16 +19,16 @@
19
19
  "dependencies": {
20
20
  "@furyjs/fury": "0.5.9-beta",
21
21
  "@opensumi/events": "^1.0.0",
22
- "@opensumi/ide-core-common": "3.0.2-next-1715826860.0",
23
- "@opensumi/reconnecting-websocket": "^4.4.0",
22
+ "@opensumi/ide-core-common": "3.0.2-next-1715852509.0",
24
23
  "@opensumi/vscode-jsonrpc": "^8.0.0-next.2",
25
24
  "path-to-regexp": "^6.2.1",
25
+ "reconnecting-websocket": "^4.4.0",
26
26
  "ws": "^8.16.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@opensumi/ide-components": "3.0.2-next-1715826860.0",
30
- "@opensumi/ide-dev-tool": "3.0.2-next-1715826860.0",
29
+ "@opensumi/ide-components": "3.0.2-next-1715852509.0",
30
+ "@opensumi/ide-dev-tool": "3.0.2-next-1715852509.0",
31
31
  "@opensumi/mock-socket": "^9.3.1"
32
32
  },
33
- "gitHead": "4cf1b4282894f299a19c310e0eff502582c2f4ae"
33
+ "gitHead": "b9909c18c2f917ee73f6e19fdc2f5f33dbc616c7"
34
34
  }
@@ -1,22 +1,14 @@
1
- import { EventEmitter } from '@opensumi/events';
2
- import { Barrier, Deferred, DisposableStore, IReporterService, MultiMap, REPORT_NAME } from '@opensumi/ide-core-common';
1
+ import { Barrier, Deferred, IReporterService, MultiMap, REPORT_NAME } from '@opensumi/ide-core-common';
3
2
 
4
3
  import { NetSocketConnection } from '../common/connection';
5
4
  import { ReconnectingWebSocketConnection } from '../common/connection/drivers/reconnecting-websocket';
6
5
  import { ConnectionInfo, WSCloseInfo } from '../common/types';
7
- import { ErrorMessageCode, WSChannel, parse, pingMessage } from '../common/ws-channel';
6
+ import { WSChannel, parse, pingMessage } from '../common/ws-channel';
8
7
 
9
8
  /**
10
9
  * Channel Handler in browser
11
10
  */
12
11
  export class WSChannelHandler {
13
- private _disposables = new DisposableStore();
14
-
15
- private _onChannelCreatedEmitter = this._disposables.add(new EventEmitter<Record<string, [WSChannel]>>());
16
- public onChannelCreated(path: string, listener: (channel: WSChannel) => void) {
17
- return this._onChannelCreatedEmitter.on(path, listener);
18
- }
19
-
20
12
  private channelMap: Map<string, WSChannel> = new Map();
21
13
  private channelCloseEventMap = new MultiMap<string, WSCloseInfo>();
22
14
  private logger = console;
@@ -62,33 +54,11 @@ export class WSChannelHandler {
62
54
 
63
55
  const msg = parse(message);
64
56
 
65
- switch (msg.kind) {
66
- case 'pong':
67
- // pong 没有 msg.id, 且不需要分发, 不处理
68
- break;
69
- case 'error':
70
- this.logger.error(this.LOG_TAG, `receive error: id: ${msg.id}, code: ${msg.code}, error: ${msg.message}`);
71
- switch (msg.code) {
72
- case ErrorMessageCode.ChannelNotFound:
73
- if (this.channelMap.has(msg.id)) {
74
- // 如果远程报错 channel 不存在但是本机存在,则重新打开
75
- const channel = this.channelMap.get(msg.id)!;
76
- if (channel.channelPath) {
77
- channel.pause();
78
- channel.open(channel.channelPath, this.clientId);
79
- }
80
- }
81
- break;
82
- }
83
- break;
84
- default: {
85
- const channel = this.channelMap.get(msg.id);
86
- if (channel) {
87
- channel.dispatch(msg);
88
- } else {
89
- this.logger.warn(this.LOG_TAG, `channel ${msg.id} not found`);
90
- }
91
- }
57
+ const channel = this.channelMap.get(msg.id);
58
+ if (channel) {
59
+ channel.dispatch(msg);
60
+ } else {
61
+ this.logger.warn(this.LOG_TAG, `channel ${msg.id} not found`);
92
62
  }
93
63
  });
94
64
 
@@ -102,7 +72,7 @@ export class WSChannelHandler {
102
72
 
103
73
  this.connection.onClose((code, reason) => {
104
74
  this.channelMap.forEach((channel) => {
105
- channel.close(code, reason);
75
+ channel.close(code ?? 1000, reason ?? '');
106
76
  });
107
77
  });
108
78
 
@@ -124,28 +94,13 @@ export class WSChannelHandler {
124
94
  await this.openingBarrier.wait();
125
95
  }
126
96
 
127
- private fillKey(channelPath: string) {
128
- return `${this.clientId}:${channelPath}`;
129
- }
130
-
131
- public getChannel(channelPath: string) {
132
- return this.channelMap.get(this.fillKey(channelPath));
133
- }
134
-
135
97
  public async openChannel(channelPath: string) {
136
- const key = this.fillKey(channelPath);
137
- if (this.channelMap.has(key)) {
138
- this.channelMap.get(key)!.dispose();
139
- this.logger.log(this.LOG_TAG, `channel ${key} already exists, dispose it`);
140
- }
141
-
142
98
  const channel = new WSChannel(this.connection, {
143
- id: key,
99
+ id: `${this.clientId}:${channelPath}`,
144
100
  logger: this.logger,
145
101
  ensureServerReady: true,
146
102
  });
147
103
  this.channelMap.set(channel.id, channel);
148
- this._onChannelCreatedEmitter.emit(channelPath, channel);
149
104
 
150
105
  let channelOpenedCount = 0;
151
106
 
@@ -178,7 +133,7 @@ export class WSChannelHandler {
178
133
  closeEvent: { code, reason },
179
134
  connectInfo: (navigator as any).connection as ConnectionInfo,
180
135
  });
181
- this.logger.log(this.LOG_TAG, `channel ${channelPath} closed, code: ${code}, reason: ${reason}`);
136
+ this.logger.log(this.LOG_TAG, `channel close: code: ${code}, reason: ${reason}`);
182
137
  });
183
138
 
184
139
  const deferred = new Deferred<void>();
@@ -199,24 +154,5 @@ export class WSChannelHandler {
199
154
  if (this.heartbeatMessageTimer) {
200
155
  clearTimeout(this.heartbeatMessageTimer);
201
156
  }
202
- this._disposables.dispose();
203
- }
204
-
205
- awaitChannelReady(channelPath: string) {
206
- const channel = this.getChannel(channelPath);
207
- const deferred = new Deferred<void>();
208
- if (channel) {
209
- channel.onServerReady(() => {
210
- deferred.resolve();
211
- });
212
- } else {
213
- const dispose = this.onChannelCreated(channelPath, (channel) => {
214
- channel.onServerReady(() => {
215
- deferred.resolve();
216
- });
217
- dispose.dispose();
218
- });
219
- }
220
- return deferred.promise;
221
157
  }
222
158
  }
@@ -1,12 +1,10 @@
1
+ import ReconnectingWebSocket, { Options as ReconnectingWebSocketOptions, UrlProvider } from 'reconnecting-websocket';
2
+
1
3
  import { IDisposable } from '@opensumi/ide-core-common';
2
- import ReconnectingWebSocket, {
3
- Options as ReconnectingWebSocketOptions,
4
- UrlProvider,
5
- } from '@opensumi/reconnecting-websocket';
6
4
 
7
5
  import { BaseConnection } from './base';
8
6
 
9
- import type { ErrorEvent } from '@opensumi/reconnecting-websocket';
7
+ import type { ErrorEvent } from 'reconnecting-websocket';
10
8
 
11
9
  export class ReconnectingWebSocketConnection extends BaseConnection<Uint8Array> {
12
10
  constructor(private socket: ReconnectingWebSocket) {
@@ -5,9 +5,7 @@ import { FuryFactoryReturn, furyFactory } from './shared';
5
5
 
6
6
  type Writable = Record<string, any> & { kind: string };
7
7
 
8
- const cap = 8;
9
-
10
- export const oneOf = (
8
+ export const oneOf7 = (
11
9
  schemas: [
12
10
  TypeDescription,
13
11
  TypeDescription,
@@ -16,7 +14,6 @@ export const oneOf = (
16
14
  TypeDescription,
17
15
  TypeDescription,
18
16
  TypeDescription,
19
- TypeDescription,
20
17
  ],
21
18
  context?: FuryFactoryReturn,
22
19
  ) => {
@@ -26,8 +23,8 @@ export const oneOf = (
26
23
 
27
24
  const { fury, reader, writer } = context;
28
25
 
29
- const serializers = new Array(cap) as Serializer[];
30
- const kinds = new Array(cap) as string[];
26
+ const serializers = new Array(7) as Serializer[];
27
+ const kinds = new Array(7) as string[];
31
28
 
32
29
  const kindToIndex = {} as Record<string, number>;
33
30
 
@@ -65,9 +62,6 @@ export const oneOf = (
65
62
  case 6:
66
63
  v = serializers[6].read();
67
64
  break;
68
- case 7:
69
- v = serializers[7].read();
70
- break;
71
65
  }
72
66
 
73
67
  v.kind = kinds[idx];
@@ -103,9 +97,6 @@ export const oneOf = (
103
97
  case 6:
104
98
  serializers[6].write(v);
105
99
  break;
106
- case 7:
107
- serializers[7].write(v);
108
- break;
109
100
  }
110
101
 
111
102
  return writer.dump();