@hydranium/client-theia 1.0.0-next.322 → 1.0.0-next.324
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/lib/node/abstract-socket-forwarding-connection-handler.d.ts +4 -4
- package/lib/node/abstract-socket-forwarding-connection-handler.d.ts.map +1 -1
- package/lib/node/abstract-socket-forwarding-connection-handler.js +8 -13
- package/lib/node/abstract-socket-forwarding-connection-handler.js.map +1 -1
- package/package.json +7 -7
- package/src/node/abstract-socket-forwarding-connection-handler.ts +9 -18
|
@@ -85,15 +85,15 @@ export declare abstract class AbstractSocketForwardingConnectionHandler implemen
|
|
|
85
85
|
*/
|
|
86
86
|
protected forwardToSocketConnection(clientChannel: Channel, socket: net.Socket): Disposable;
|
|
87
87
|
/**
|
|
88
|
-
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
88
|
+
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
89
89
|
* `onMessageEmitter` so the now-subscribed forwarder picks them up in arrival
|
|
90
90
|
* order. `MessageProvider` is a thunk (`() => ReadBuffer`) — buffering does
|
|
91
91
|
* not consume the read position, so replay produces the same bytes the
|
|
92
92
|
* forwarder would have seen if wired earlier.
|
|
93
93
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
94
|
+
* The emitter is public on `AbstractChannel`; the `Channel` interface
|
|
95
|
+
* carries just its `Event`, so any other channel has its messages logged as
|
|
96
|
+
* dropped. A Theia rename of the emitter fails to compile here.
|
|
97
97
|
*/
|
|
98
98
|
protected replayBufferedMessages(channel: Channel, buffered: MessageProvider[]): void;
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-socket-forwarding-connection-handler.d.ts","sourceRoot":"","sources":["../../src/node/abstract-socket-forwarding-connection-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EACJ,KAAK,OAAO,EACZ,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,cAAc,EAChB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;uCAEuC;AACvC,MAAM,WAAW,wCAAwC;IACtD,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;iEAC6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;gCAC4B;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;0BACsB;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,8BACsB,yCAA0C,YAAW,iBAAiB;IACjE,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;IAC1C,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;IAIjD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC;IACrD,4HAA4H;IACjG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAqB;IAE/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;IAElE,YAAY,OAAO,EAAE,wCAAwC,EAS5D;IAED,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAEtC;IAED,UAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC1E;IAED,6EAA6E;IAC7E,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;IAED,wFAAwF;IACxF,UAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwC9D;IAED,UAAgB,eAAe,CAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;KAAE,GACzE,OAAO,CAAC,IAAI,CAAC,CAuCf;IAED;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,UAAU,CAE1F;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"abstract-socket-forwarding-connection-handler.d.ts","sourceRoot":"","sources":["../../src/node/abstract-socket-forwarding-connection-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -220,7 +220,7 @@ let AbstractSocketForwardingConnectionHandler = class AbstractSocketForwardingCo
|
|
|
220
220
|
if (preForwardBuffer && preForwardBuffer.buffered.length > 0) {
|
|
221
221
|
this.replayBufferedMessages(channel, preForwardBuffer.buffered);
|
|
222
222
|
}
|
|
223
|
-
if (channel instanceof channel_1.
|
|
223
|
+
if (channel instanceof channel_1.AbstractChannel) {
|
|
224
224
|
socket.on('error', error => channel.onErrorEmitter.fire(error));
|
|
225
225
|
}
|
|
226
226
|
// `127.0.0.1`, not the `localhost` Node dials when no host is given, and it
|
|
@@ -241,29 +241,24 @@ let AbstractSocketForwardingConnectionHandler = class AbstractSocketForwardingCo
|
|
|
241
241
|
return new socket_channel_forwarder_1.SocketChannelForwarder(clientChannel, socket, this.clock);
|
|
242
242
|
}
|
|
243
243
|
/**
|
|
244
|
-
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
244
|
+
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
245
245
|
* `onMessageEmitter` so the now-subscribed forwarder picks them up in arrival
|
|
246
246
|
* order. `MessageProvider` is a thunk (`() => ReadBuffer`) — buffering does
|
|
247
247
|
* not consume the read position, so replay produces the same bytes the
|
|
248
248
|
* forwarder would have seen if wired earlier.
|
|
249
249
|
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
250
|
+
* The emitter is public on `AbstractChannel`; the `Channel` interface
|
|
251
|
+
* carries just its `Event`, so any other channel has its messages logged as
|
|
252
|
+
* dropped. A Theia rename of the emitter fails to compile here.
|
|
253
253
|
*/
|
|
254
254
|
replayBufferedMessages(channel, buffered) {
|
|
255
|
-
if (!(channel instanceof channel_1.
|
|
256
|
-
this.logger.error(`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — channel is not
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
const internals = channel;
|
|
260
|
-
if (!internals.onMessageEmitter) {
|
|
261
|
-
this.logger.error(`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — ForwardingChannel.onMessageEmitter not accessible`);
|
|
255
|
+
if (!(channel instanceof channel_1.AbstractChannel)) {
|
|
256
|
+
this.logger.error(`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — channel is not an AbstractChannel`);
|
|
262
257
|
return;
|
|
263
258
|
}
|
|
264
259
|
this.logger.debug(`[${this.logComponent}] replaying ${buffered.length} pre-forward message(s) onto the wired socket forwarder`);
|
|
265
260
|
for (const provider of buffered) {
|
|
266
|
-
|
|
261
|
+
channel.onMessageEmitter.fire(provider);
|
|
267
262
|
}
|
|
268
263
|
}
|
|
269
264
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-socket-forwarding-connection-handler.js","sourceRoot":"","sources":["../../src/node/abstract-socket-forwarding-connection-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElF,kDAAyF;AACzF,sCAQqB;AACrB,
|
|
1
|
+
{"version":3,"file":"abstract-socket-forwarding-connection-handler.js","sourceRoot":"","sources":["../../src/node/abstract-socket-forwarding-connection-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hydranium/client-theia",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.324",
|
|
4
4
|
"description": "Cross-head Theia client primitives shared by the hydranium protocol heads. Provides the socket-forwarding connection-handler base that the data-server and GLSP Theia integrations subclass, plus the preference-driven Output-channel logger; carries no head-specific dependency.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hydranium",
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
"watch": "tsc -b -w --preserveWatchOutput"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
69
|
-
"@theia/core": "^1.
|
|
70
|
-
"@theia/editor": "^1.
|
|
71
|
-
"@theia/filesystem": "^1.
|
|
72
|
-
"@theia/output": "^1.
|
|
68
|
+
"@hydranium/protocol": "1.0.0-next.324",
|
|
69
|
+
"@theia/core": "^1.75.0",
|
|
70
|
+
"@theia/editor": "^1.75.0",
|
|
71
|
+
"@theia/filesystem": "^1.75.0",
|
|
72
|
+
"@theia/output": "^1.75.0",
|
|
73
73
|
"@types/node": "^22.0.0",
|
|
74
74
|
"inversify": "6.2.2",
|
|
75
75
|
"reflect-metadata": "0.2.2",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"vscode-jsonrpc": "9.0.0"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
81
|
+
"@hydranium/protocol": "1.0.0-next.324",
|
|
82
82
|
"@theia/core": "^1.70.0",
|
|
83
83
|
"@theia/editor": "^1.70.0",
|
|
84
84
|
"@theia/filesystem": "^1.70.0",
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
type MessageProvider,
|
|
18
18
|
MessageService
|
|
19
19
|
} from '@theia/core';
|
|
20
|
-
import {
|
|
20
|
+
import { AbstractChannel } from '@theia/core/lib/common/message-rpc/channel';
|
|
21
21
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
22
22
|
import { inject, injectable, optional } from '@theia/core/shared/inversify';
|
|
23
23
|
import * as net from 'node:net';
|
|
@@ -221,7 +221,7 @@ export abstract class AbstractSocketForwardingConnectionHandler implements Conne
|
|
|
221
221
|
if (preForwardBuffer && preForwardBuffer.buffered.length > 0) {
|
|
222
222
|
this.replayBufferedMessages(channel, preForwardBuffer.buffered);
|
|
223
223
|
}
|
|
224
|
-
if (channel instanceof
|
|
224
|
+
if (channel instanceof AbstractChannel) {
|
|
225
225
|
socket.on('error', error => channel.onErrorEmitter.fire(error));
|
|
226
226
|
}
|
|
227
227
|
// `127.0.0.1`, not the `localhost` Node dials when no host is given, and it
|
|
@@ -244,33 +244,24 @@ export abstract class AbstractSocketForwardingConnectionHandler implements Conne
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
/**
|
|
247
|
-
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
247
|
+
* Re-fire pre-forward buffered `MessageProvider`s on the channel's
|
|
248
248
|
* `onMessageEmitter` so the now-subscribed forwarder picks them up in arrival
|
|
249
249
|
* order. `MessageProvider` is a thunk (`() => ReadBuffer`) — buffering does
|
|
250
250
|
* not consume the read position, so replay produces the same bytes the
|
|
251
251
|
* forwarder would have seen if wired earlier.
|
|
252
252
|
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
253
|
+
* The emitter is public on `AbstractChannel`; the `Channel` interface
|
|
254
|
+
* carries just its `Event`, so any other channel has its messages logged as
|
|
255
|
+
* dropped. A Theia rename of the emitter fails to compile here.
|
|
256
256
|
*/
|
|
257
257
|
protected replayBufferedMessages(channel: Channel, buffered: MessageProvider[]): void {
|
|
258
|
-
if (!(channel instanceof
|
|
259
|
-
this.logger.error(
|
|
260
|
-
`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — channel is not a ForwardingChannel`
|
|
261
|
-
);
|
|
262
|
-
return;
|
|
263
|
-
}
|
|
264
|
-
const internals = channel as unknown as { onMessageEmitter?: { fire(provider: MessageProvider): void } };
|
|
265
|
-
if (!internals.onMessageEmitter) {
|
|
266
|
-
this.logger.error(
|
|
267
|
-
`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — ForwardingChannel.onMessageEmitter not accessible`
|
|
268
|
-
);
|
|
258
|
+
if (!(channel instanceof AbstractChannel)) {
|
|
259
|
+
this.logger.error(`[${this.logComponent}] dropping ${buffered.length} pre-forward message(s) — channel is not an AbstractChannel`);
|
|
269
260
|
return;
|
|
270
261
|
}
|
|
271
262
|
this.logger.debug(`[${this.logComponent}] replaying ${buffered.length} pre-forward message(s) onto the wired socket forwarder`);
|
|
272
263
|
for (const provider of buffered) {
|
|
273
|
-
|
|
264
|
+
channel.onMessageEmitter.fire(provider);
|
|
274
265
|
}
|
|
275
266
|
}
|
|
276
267
|
}
|