@hydranium/client-theia 1.0.0-next.216 → 1.0.0-next.218

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/README.md CHANGED
@@ -44,15 +44,16 @@ hydranium server; a non-Theia host does not need it.
44
44
  file holds, so the save writes only the rest, a save participant's included;
45
45
  on each watched change of the file to the editor's text it marks the editor
46
46
  clean. Theia otherwise keeps the editor dirty, and its next save applies the
47
- editor's edits to a file that already holds them. You bind it as a
48
- `FrontendApplicationContribution`.
47
+ editor's edits to a file that already holds them.
48
+ `bindEditorDiskSync(bind, isBound, rebind)` binds it, with
49
+ `HydraniumFileService`.
49
50
  - **`HydraniumFileService`** — Theia's `FileService`, refusing an editor's
50
51
  incremental save once the file's mtime has moved past the one the editor
51
52
  read, so the editor writes its whole text instead. Theia's own check passes a
52
53
  file of unchanged size, and the save then applies the editor's edits to a
53
54
  file that may already hold them; `write` keeps Theia's check. The safety net
54
- behind `EditorDiskSync`, for a save the sync cannot catch. You bind it with
55
- `rebind(FileService).to(HydraniumFileService).inSingletonScope()`.
55
+ behind `EditorDiskSync`, for a save the sync cannot catch, and bound with it
56
+ by `bindEditorDiskSync`.
56
57
  - **`captureBrowserRuntime` / `formatBrowserRuntime`** — the renderer's own memory
57
58
  reading as a `BrowserRuntimeReport`, preferring the standardized
58
59
  `performance.measureUserAgentSpecificMemory()` and falling back to Chromium's
@@ -108,7 +109,8 @@ from here:
108
109
 
109
110
  - a **frontend** module (a `ContainerModule` in the extension's `browser/` tier)
110
111
  calls the `bind*` helpers — `bindChannelLogger`, `bindLogLevelPreference`,
111
- `bindMemoryDiagnostics` — and binds `MemoryDiagnosticsService` to your
112
+ `bindMemoryDiagnostics`, and `bindEditorDiskSync` whenever a server writes
113
+ files an editor can have open — and binds `MemoryDiagnosticsService` to your
112
114
  data-server frontend;
113
115
  - a **backend** module (the extension's `node/` tier) registers a
114
116
  `AbstractSocketForwardingConnectionHandler` subclass as a Theia `ConnectionHandler`. In
@@ -1 +1 @@
1
- {"version":3,"file":"channel-logger.d.ts","sourceRoot":"","sources":["../../src/browser/channel-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,cAAc,EAAiB,KAAK,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAc,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,KAAK,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGpG;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;sFACsF;AACtF,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,aAAc,SAAQ,cAAc;IAIb,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB;IACvD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAJjF,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEnC,YACoD,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,oBAAoB,EACjE,SAAS,GAAE,MAAM,GAAG,SAA6B,EAGhE;IAED,SAAS,KAAK,OAAO,IAAI,aAAa,CAErC;IAED,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAK/F;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOxC;CACH;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;gDACgD;AAChD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAOpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAc5F"}
1
+ {"version":3,"file":"channel-logger.d.ts","sourceRoot":"","sources":["../../src/browser/channel-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,cAAc,EAAiB,KAAK,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAc,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,KAAK,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGpG;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;sFACsF;AACtF,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,aAAc,SAAQ,cAAc;IAIb,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB;IACvD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAJjF,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEnC,YACoD,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,oBAAoB,EACjE,SAAS,GAAE,MAAM,GAAG,SAA6B,EAGhE;IAED,SAAS,KAAK,OAAO,IAAI,aAAa,CAErC;IAED,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAG/F;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOxC;CACH;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;gDACgD;AAChD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAOpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAc5F"}
@@ -60,10 +60,8 @@ let ChannelLogger = class ChannelLogger extends protocol_1.AbstractLogger {
60
60
  return (this._channel ??= this.outputChannels.getChannel(this.options.channelName));
61
61
  }
62
62
  emit(_level, label, message, args) {
63
- const componentSegment = this.component ? ` [${this.component}]` : '';
64
63
  const formattedArgs = args.length > 0 ? ' ' + args.map(stringifyArg).join(' ') : '';
65
- // Pad to match the server's 5-char label width so timestamps align across sources.
66
- this.channel.appendLine(`[${label.padEnd(5)} - ${this.timestamp()}]${componentSegment} ${message}${formattedArgs}`);
64
+ this.channel.appendLine(`${this.formatLinePrefix(label)} ${message}${formattedArgs}`);
67
65
  }
68
66
  /**
69
67
  * Allocates a free instance bypassing Inversify, so a derived logger inherits
@@ -1 +1 @@
1
- {"version":3,"file":"channel-logger.js","sourceRoot":"","sources":["../../src/browser/channel-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-logger.js","sourceRoot":"","sources":["../../src/browser/channel-logger.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import type { FrontendApplicationContribution } from '@theia/core/lib/browser';
9
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
10
10
  import { ILogger } from '@theia/core/lib/common/logger';
11
11
  import URI from '@theia/core/lib/common/uri';
12
+ import { type interfaces } from '@theia/core/shared/inversify';
12
13
  import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
13
14
  import type { EditorWidget } from '@theia/editor/lib/browser/editor-widget';
14
15
  import type { FileResourceVersion } from '@theia/filesystem/lib/browser/file-resource';
@@ -77,7 +78,7 @@ export declare function isResyncableEditorDocument(document: object): document i
77
78
  * same-size gap included, and so is one whose file cannot be read within
78
79
  * {@link readTimeoutMs}, or whose check throws.
79
80
  *
80
- * The adopter binds it as a `FrontendApplicationContribution`.
81
+ * Bound by {@link bindEditorDiskSync}.
81
82
  */
82
83
  export declare class EditorDiskSync implements FrontendApplicationContribution {
83
84
  protected readonly fileService: FileService;
@@ -130,4 +131,12 @@ export declare class EditorDiskSync implements FrontendApplicationContribution {
130
131
  */
131
132
  protected syncFromDisk(document: ResyncableEditorDocument, version: FileResourceVersion): void;
132
133
  }
134
+ /**
135
+ * Bind {@link EditorDiskSync} as a frontend contribution and rebind Theia's
136
+ * `FileService` to {@link HydraniumFileService}, unless `EditorDiskSync` is
137
+ * bound already. No framework module calls this, because the rebind would
138
+ * replace a frontend's own `FileService` binding. A subclass of the sync is
139
+ * rebound after this call: one bound before it skips the whole call.
140
+ */
141
+ export declare function bindEditorDiskSync(bind: interfaces.Bind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void;
133
142
  //# sourceMappingURL=editor-disk-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-disk-sync.d.ts","sourceRoot":"","sources":["../../src/browser/editor-disk-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-disk-sync.d.ts","sourceRoot":"","sources":["../../src/browser/editor-disk-sync.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.EditorDiskSync = void 0;
24
24
  exports.isResyncableEditorDocument = isResyncableEditorDocument;
25
+ exports.bindEditorDiskSync = bindEditorDiskSync;
25
26
  const protocol_1 = require("@hydranium/protocol");
27
+ const frontend_application_contribution_1 = require("@theia/core/lib/browser/frontend-application-contribution");
26
28
  const logger_1 = require("@theia/core/lib/common/logger");
27
29
  const uri_1 = __importDefault(require("@theia/core/lib/common/uri"));
28
30
  const inversify_1 = require("@theia/core/shared/inversify");
29
31
  const editor_manager_1 = require("@theia/editor/lib/browser/editor-manager");
30
32
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
31
33
  const clock_1 = require("../common/clock");
34
+ const hydranium_file_service_1 = require("./hydranium-file-service");
32
35
  /** Whether `document` carries the members of {@link ResyncableEditorDocument}. */
33
36
  function isResyncableEditorDocument(document) {
34
37
  return ('uri' in document &&
@@ -82,7 +85,7 @@ function isResyncableEditorDocument(document) {
82
85
  * same-size gap included, and so is one whose file cannot be read within
83
86
  * {@link readTimeoutMs}, or whose check throws.
84
87
  *
85
- * The adopter binds it as a `FrontendApplicationContribution`.
88
+ * Bound by {@link bindEditorDiskSync}.
86
89
  */
87
90
  let EditorDiskSync = class EditorDiskSync {
88
91
  fileService;
@@ -229,4 +232,19 @@ __decorate([
229
232
  exports.EditorDiskSync = EditorDiskSync = __decorate([
230
233
  (0, inversify_1.injectable)()
231
234
  ], EditorDiskSync);
235
+ /**
236
+ * Bind {@link EditorDiskSync} as a frontend contribution and rebind Theia's
237
+ * `FileService` to {@link HydraniumFileService}, unless `EditorDiskSync` is
238
+ * bound already. No framework module calls this, because the rebind would
239
+ * replace a frontend's own `FileService` binding. A subclass of the sync is
240
+ * rebound after this call: one bound before it skips the whole call.
241
+ */
242
+ function bindEditorDiskSync(bind, isBound, rebind) {
243
+ if (isBound(EditorDiskSync)) {
244
+ return;
245
+ }
246
+ bind(EditorDiskSync).toSelf().inSingletonScope();
247
+ bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(EditorDiskSync);
248
+ rebind(file_service_1.FileService).to(hydranium_file_service_1.HydraniumFileService).inSingletonScope();
249
+ }
232
250
  //# sourceMappingURL=editor-disk-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-disk-sync.js","sourceRoot":"","sources":["../../src/browser/editor-disk-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-disk-sync.js","sourceRoot":"","sources":["../../src/browser/editor-disk-sync.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ import { FileService, type UpdateTextFileOptions } from '@theia/filesystem/lib/b
36
36
  * as it does for Theia's own check. A file whose mtime moves while its text
37
37
  * stays the same costs a whole-text write rather than the edits.
38
38
  *
39
- * The adopter binds it with `rebind(FileService).to(HydraniumFileService).inSingletonScope()`.
39
+ * Bound by `bindEditorDiskSync`.
40
40
  */
41
41
  export declare class HydraniumFileService extends FileService {
42
42
  update(resource: URI, changes: Parameters<FileService['update']>[1], options: UpdateTextFileOptions): ReturnType<FileService['update']>;
@@ -46,7 +46,7 @@ const files_1 = require("@theia/filesystem/lib/common/files");
46
46
  * as it does for Theia's own check. A file whose mtime moves while its text
47
47
  * stays the same costs a whole-text write rather than the edits.
48
48
  *
49
- * The adopter binds it with `rebind(FileService).to(HydraniumFileService).inSingletonScope()`.
49
+ * Bound by `bindEditorDiskSync`.
50
50
  */
51
51
  let HydraniumFileService = class HydraniumFileService extends file_service_1.FileService {
52
52
  update(resource, changes, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-channel-forwarder.d.ts","sourceRoot":"","sources":["../../src/node/socket-channel-forwarder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,EAEJ,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAGxB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IAYnD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM;IACrC,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAdlC,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,oGAAoG;IACpG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IACvD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAU;IAEnD,YACsB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM;IACrC,oCAAoC;IACjB,KAAK,GAAE,KAAyB,EAuBrD;IAED;;;;;OAKG;IACH,UAAgB,SAAS,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAGjE;IAED,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI/C;IAED,OAAO,IAAI,IAAI,CAEd;CACH"}
1
+ {"version":3,"file":"socket-channel-forwarder.d.ts","sourceRoot":"","sources":["../../src/node/socket-channel-forwarder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,EAEJ,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAGxB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IAYnD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM;IACrC,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAdlC,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,oGAAoG;IACpG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IACvD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAU;IAEnD,YACsB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM;IACrC,oCAAoC;IACjB,KAAK,GAAE,KAAyB,EAyBrD;IAED;;;;;OAKG;IACH,UAAgB,SAAS,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAGjE;IAED,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI/C;IAED,OAAO,IAAI,IAAI,CAEd;CACH"}
@@ -46,6 +46,8 @@ class SocketChannelForwarder {
46
46
  this.clock = clock;
47
47
  const reader = new node_1.SocketMessageReader(socket);
48
48
  const writer = new node_1.SocketMessageWriter(socket);
49
+ // Never listens, so it handles no message and has nothing to log.
50
+ // ast-grep-ignore: connection-without-logger
49
51
  const connection = (0, node_1.createMessageConnection)(reader, writer);
50
52
  // Nothing here destroys the socket directly. `SocketMessageWriter.dispose()`
51
53
  // destroys it itself, which covers both `dispose` and `endSocket`; and
@@ -1 +1 @@
1
- {"version":3,"file":"socket-channel-forwarder.js","sourceRoot":"","sources":["../../src/node/socket-channel-forwarder.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;AAElF,kDAA8D;AAC9D,sCAAmG;AAEnG,8CAM6B;AAE7B;;;;;;;;;;;;GAYG;AACH;IAYyB,OAAO;IACP,MAAM;IAEN,KAAK;IAdR,SAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IAC1D,oGAAoG;IAC1F,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD;;;;OAIG;IACgB,cAAc,GAAW,MAAM,CAAC;IAEnD,YACsB,OAAgB,EAChB,MAAkB;IACrC,oCAAoC;IACjB,KAAK,GAAU,IAAI,sBAAW,EAAE;uBAHhC,OAAO;sBACP,MAAM;qBAEN,KAAK;QAExB,MAAM,MAAM,GAAG,IAAI,0BAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,0BAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,6EAA6E;QAC7E,uEAAuE;QACvE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACtD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1B,wEAAwE;gBACxE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7F,CAAC,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC;SACJ,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,SAAS,CAAC,UAA6B;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,UAAU,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAES,oBAAoB,CAAC,QAAyB;QACrD,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAY,CAAC;IAClE,CAAC;IAES,cAAc,CAAC,OAAgB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,WAAW,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,WAAW,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACJ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;CACH"}
1
+ {"version":3,"file":"socket-channel-forwarder.js","sourceRoot":"","sources":["../../src/node/socket-channel-forwarder.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;AAElF,kDAA8D;AAC9D,sCAAmG;AAEnG,8CAM6B;AAE7B;;;;;;;;;;;;GAYG;AACH;IAYyB,OAAO;IACP,MAAM;IAEN,KAAK;IAdR,SAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IAC1D,oGAAoG;IAC1F,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD;;;;OAIG;IACgB,cAAc,GAAW,MAAM,CAAC;IAEnD,YACsB,OAAgB,EAChB,MAAkB;IACrC,oCAAoC;IACjB,KAAK,GAAU,IAAI,sBAAW,EAAE;uBAHhC,OAAO;sBACP,MAAM;qBAEN,KAAK;QAExB,MAAM,MAAM,GAAG,IAAI,0BAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,0BAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,kEAAkE;QAClE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,6EAA6E;QAC7E,uEAAuE;QACvE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACtD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1B,wEAAwE;gBACxE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7F,CAAC,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC;SACJ,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,SAAS,CAAC,UAA6B;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,UAAU,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAES,oBAAoB,CAAC,QAAyB;QACrD,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAY,CAAC;IAClE,CAAC;IAES,cAAc,CAAC,OAAgB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,WAAW,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,WAAW,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACJ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/client-theia",
3
- "version": "1.0.0-next.216",
3
+ "version": "1.0.0-next.218",
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,7 +65,7 @@
65
65
  "watch": "tsc -b -w --preserveWatchOutput"
66
66
  },
67
67
  "devDependencies": {
68
- "@hydranium/protocol": "1.0.0-next.216",
68
+ "@hydranium/protocol": "1.0.0-next.218",
69
69
  "@theia/core": "^1.70.0",
70
70
  "@theia/editor": "^1.70.0",
71
71
  "@theia/filesystem": "^1.70.0",
@@ -78,7 +78,7 @@
78
78
  "vscode-jsonrpc": "9.0.0"
79
79
  },
80
80
  "peerDependencies": {
81
- "@hydranium/protocol": "1.0.0-next.216",
81
+ "@hydranium/protocol": "1.0.0-next.218",
82
82
  "@theia/core": "^1.70.0",
83
83
  "@theia/editor": "^1.70.0",
84
84
  "@theia/filesystem": "^1.70.0",
@@ -66,10 +66,8 @@ export class ChannelLogger extends AbstractLogger {
66
66
  }
67
67
 
68
68
  protected emit(_level: LogLevel, label: string, message: string, args: readonly unknown[]): void {
69
- const componentSegment = this.component ? ` [${this.component}]` : '';
70
69
  const formattedArgs = args.length > 0 ? ' ' + args.map(stringifyArg).join(' ') : '';
71
- // Pad to match the server's 5-char label width so timestamps align across sources.
72
- this.channel.appendLine(`[${label.padEnd(5)} - ${this.timestamp()}]${componentSegment} ${message}${formattedArgs}`);
70
+ this.channel.appendLine(`${this.formatLinePrefix(label)} ${message}${formattedArgs}`);
73
71
  }
74
72
 
75
73
  /**
@@ -8,15 +8,16 @@
8
8
  ********************************************************************************/
9
9
 
10
10
  import { SystemClock, TIMED_OUT } from '@hydranium/protocol';
11
- import type { FrontendApplicationContribution } from '@theia/core/lib/browser';
11
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
12
12
  import { ILogger } from '@theia/core/lib/common/logger';
13
13
  import URI from '@theia/core/lib/common/uri';
14
- import { inject, injectable, optional } from '@theia/core/shared/inversify';
14
+ import { inject, injectable, optional, type interfaces } from '@theia/core/shared/inversify';
15
15
  import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
16
16
  import type { EditorWidget } from '@theia/editor/lib/browser/editor-widget';
17
17
  import type { FileResourceVersion } from '@theia/filesystem/lib/browser/file-resource';
18
18
  import { FileService, type TextFileContent } from '@theia/filesystem/lib/browser/file-service';
19
19
  import { Clock } from '../common/clock';
20
+ import { HydraniumFileService } from './hydranium-file-service';
20
21
 
21
22
  /**
22
23
  * The members of Theia's Monaco editor model {@link EditorDiskSync} reads and
@@ -96,7 +97,7 @@ export function isResyncableEditorDocument(document: object): document is Resync
96
97
  * same-size gap included, and so is one whose file cannot be read within
97
98
  * {@link readTimeoutMs}, or whose check throws.
98
99
  *
99
- * The adopter binds it as a `FrontendApplicationContribution`.
100
+ * Bound by {@link bindEditorDiskSync}.
100
101
  */
101
102
  @injectable()
102
103
  export class EditorDiskSync implements FrontendApplicationContribution {
@@ -234,3 +235,19 @@ export class EditorDiskSync implements FrontendApplicationContribution {
234
235
  void document.revert({ soft: true });
235
236
  }
236
237
  }
238
+
239
+ /**
240
+ * Bind {@link EditorDiskSync} as a frontend contribution and rebind Theia's
241
+ * `FileService` to {@link HydraniumFileService}, unless `EditorDiskSync` is
242
+ * bound already. No framework module calls this, because the rebind would
243
+ * replace a frontend's own `FileService` binding. A subclass of the sync is
244
+ * rebound after this call: one bound before it skips the whole call.
245
+ */
246
+ export function bindEditorDiskSync(bind: interfaces.Bind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void {
247
+ if (isBound(EditorDiskSync)) {
248
+ return;
249
+ }
250
+ bind(EditorDiskSync).toSelf().inSingletonScope();
251
+ bind(FrontendApplicationContribution).toService(EditorDiskSync);
252
+ rebind(FileService).to(HydraniumFileService).inSingletonScope();
253
+ }
@@ -40,7 +40,7 @@ import { ETAG_DISABLED } from '@theia/filesystem/lib/common/files';
40
40
  * as it does for Theia's own check. A file whose mtime moves while its text
41
41
  * stays the same costs a whole-text write rather than the edits.
42
42
  *
43
- * The adopter binds it with `rebind(FileService).to(HydraniumFileService).inSingletonScope()`.
43
+ * Bound by `bindEditorDiskSync`.
44
44
  */
45
45
  @injectable()
46
46
  export class HydraniumFileService extends FileService {
@@ -50,6 +50,8 @@ export class SocketChannelForwarder implements Disposable {
50
50
  ) {
51
51
  const reader = new SocketMessageReader(socket);
52
52
  const writer = new SocketMessageWriter(socket);
53
+ // Never listens, so it handles no message and has nothing to log.
54
+ // ast-grep-ignore: connection-without-logger
53
55
  const connection = createMessageConnection(reader, writer);
54
56
  // Nothing here destroys the socket directly. `SocketMessageWriter.dispose()`
55
57
  // destroys it itself, which covers both `dispose` and `endSocket`; and