@theia/core 1.77.0-next.4 → 1.77.0-next.47

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 (66) hide show
  1. package/README.md +5 -5
  2. package/lib/browser/catalog.json +207 -22
  3. package/lib/browser/color-application-contribution.d.ts +6 -0
  4. package/lib/browser/color-application-contribution.d.ts.map +1 -1
  5. package/lib/browser/color-application-contribution.js +15 -4
  6. package/lib/browser/color-application-contribution.js.map +1 -1
  7. package/lib/browser/color-application-contribution.spec.d.ts +2 -0
  8. package/lib/browser/color-application-contribution.spec.d.ts.map +1 -0
  9. package/lib/browser/color-application-contribution.spec.js +96 -0
  10. package/lib/browser/color-application-contribution.spec.js.map +1 -0
  11. package/lib/browser/color-registry.d.ts +6 -0
  12. package/lib/browser/color-registry.d.ts.map +1 -1
  13. package/lib/browser/color-registry.js +12 -0
  14. package/lib/browser/color-registry.js.map +1 -1
  15. package/lib/browser/tree/tree-selection-state.d.ts +23 -1
  16. package/lib/browser/tree/tree-selection-state.d.ts.map +1 -1
  17. package/lib/browser/tree/tree-selection-state.js +23 -1
  18. package/lib/browser/tree/tree-selection-state.js.map +1 -1
  19. package/lib/browser/tree/tree-widget.d.ts +28 -0
  20. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  21. package/lib/browser/tree/tree-widget.js +59 -3
  22. package/lib/browser/tree/tree-widget.js.map +1 -1
  23. package/lib/browser/tree/tree-widget.spec.js +53 -3
  24. package/lib/browser/tree/tree-widget.spec.js.map +1 -1
  25. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  26. package/lib/browser/widgets/select-component.js +6 -11
  27. package/lib/browser/widgets/select-component.js.map +1 -1
  28. package/lib/browser/widgets/select-component.spec.d.ts +2 -0
  29. package/lib/browser/widgets/select-component.spec.d.ts.map +1 -0
  30. package/lib/browser/widgets/select-component.spec.js +66 -0
  31. package/lib/browser/widgets/select-component.spec.js.map +1 -0
  32. package/lib/common/core-preferences.js +5 -5
  33. package/lib/common/core-preferences.js.map +1 -1
  34. package/lib/electron-browser/electron-clipboard-service.d.ts +1 -1
  35. package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
  36. package/lib/electron-browser/preload.js +1 -1
  37. package/lib/electron-browser/preload.js.map +1 -1
  38. package/lib/electron-common/electron-api.d.ts +1 -1
  39. package/lib/electron-common/electron-api.d.ts.map +1 -1
  40. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  41. package/lib/electron-main/electron-api-main.js +5 -4
  42. package/lib/electron-main/electron-api-main.js.map +1 -1
  43. package/lib/node/messaging/binary-message-pipe.d.ts.map +1 -1
  44. package/lib/node/messaging/binary-message-pipe.js +5 -3
  45. package/lib/node/messaging/binary-message-pipe.js.map +1 -1
  46. package/lib/node/messaging/binary-message-pipe.spec.d.ts +2 -0
  47. package/lib/node/messaging/binary-message-pipe.spec.d.ts.map +1 -0
  48. package/lib/node/messaging/binary-message-pipe.spec.js +71 -0
  49. package/lib/node/messaging/binary-message-pipe.spec.js.map +1 -0
  50. package/package.json +16 -16
  51. package/src/browser/color-application-contribution.spec.ts +108 -0
  52. package/src/browser/color-application-contribution.ts +16 -4
  53. package/src/browser/color-registry.ts +13 -0
  54. package/src/browser/style/hover-service.css +0 -2
  55. package/src/browser/tree/tree-selection-state.ts +40 -1
  56. package/src/browser/tree/tree-widget.spec.tsx +59 -3
  57. package/src/browser/tree/tree-widget.tsx +64 -2
  58. package/src/browser/widgets/select-component.spec.ts +77 -0
  59. package/src/browser/widgets/select-component.tsx +6 -10
  60. package/src/common/core-preferences.ts +5 -5
  61. package/src/electron-browser/electron-clipboard-service.ts +1 -1
  62. package/src/electron-browser/preload.ts +2 -2
  63. package/src/electron-common/electron-api.ts +1 -1
  64. package/src/electron-main/electron-api-main.ts +5 -4
  65. package/src/node/messaging/binary-message-pipe.spec.ts +81 -0
  66. package/src/node/messaging/binary-message-pipe.ts +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"electron-api-main.js","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-api-main.js","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"binary-message-pipe.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1D;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAcpC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAbrD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,oBAAoB;IAC5D,SAAS,CAAC,WAAW,GAAI,OAAO,UAAU,UAA6B;IAEvE,SAAS,CAAC,gBAAgB,uCAA6B;IACvD,SAAS,CAAC,iBAAiB,EAAE,mBAAmB,CAG9C;IAEF,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAEjC;gBAE8B,cAAc,EAAE,MAAM;IAIrD,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAK/B,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAU9C,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAyBnD,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAsB5D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAOnC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAS7D,SAAS,KAAK,sBAAsB,IAAI,MAAM,CAG7C;IAED;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAcrD,OAAO,IAAI,IAAI;CASlB;AAED,UAAU,mBAAmB;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,UAAU,CAAC;CACpC"}
1
+ {"version":3,"file":"binary-message-pipe.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1D;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAcpC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAbrD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,oBAAoB;IAC5D,SAAS,CAAC,WAAW,GAAI,OAAO,UAAU,UAA6B;IAEvE,SAAS,CAAC,gBAAgB,uCAA6B;IACvD,SAAS,CAAC,iBAAiB,EAAE,mBAAmB,CAG9C;IAEF,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAEjC;gBAE8B,cAAc,EAAE,MAAM;IAIrD,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAK/B,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAU9C,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA6BnD,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAsB5D,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAOnC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAS7D,SAAS,KAAK,sBAAsB,IAAI,MAAM,CAG7C;IAED;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAWrD,OAAO,IAAI,IAAI;CASlB;AAED,UAAU,mBAAmB;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,UAAU,CAAC;CACpC"}
@@ -53,6 +53,10 @@ class BinaryMessagePipe {
53
53
  }
54
54
  }
55
55
  handleNewMessage(chunk) {
56
+ if (this.cachedMessageData.partialMessageStart) {
57
+ chunk = Buffer.concat([this.cachedMessageData.partialMessageStart, chunk]);
58
+ this.cachedMessageData.partialMessageStart = undefined;
59
+ }
56
60
  if (chunk.byteLength < this.messageStartByteLength) {
57
61
  // The chunk only contains a part of the encoded message start
58
62
  this.cachedMessageData.partialMessageStart = chunk;
@@ -128,9 +132,7 @@ class BinaryMessagePipe {
128
132
  * @throws An error if the message start can not be read successfully.
129
133
  */
130
134
  readMessageStart(chunk) {
131
- const messageData = this.cachedMessageData.partialMessageStart ? Buffer.concat([this.cachedMessageData.partialMessageStart, chunk]) : chunk;
132
- this.cachedMessageData.partialMessageStart = undefined;
133
- const reader = new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(messageData);
135
+ const reader = new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(chunk);
134
136
  const identifier = reader.readString();
135
137
  if (identifier !== BinaryMessagePipe.MESSAGE_START_IDENTIFIER) {
136
138
  throw new Error(`Could not read message start. The start identifier should be '${BinaryMessagePipe.MESSAGE_START_IDENTIFIER}' but was '${identifier}`);
@@ -1 +1 @@
1
- {"version":3,"file":"binary-message-pipe.js","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-message-pipe.js","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAGhF,yCAA0D;AAC1D,oGAAkH;AAElH;;;;GAIG;AACH,MAAa,iBAAiB;aACV,6BAAwB,GAAG,gBAAgB,AAAnB,CAAoB;IAS5D,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,YAA+B,cAAsB;QAAtB,mBAAc,GAAd,cAAc,CAAQ;QAZ3C,gBAAW,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7D,qBAAgB,GAAG,IAAI,gBAAO,EAAc,CAAC;QAC7C,sBAAiB,GAAwB;YAC/C,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;SAClB,CAAC;QAOE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,OAAmB;QACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAES,WAAW,CAAC,KAAiB;QACnC,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5C,6HAA6H;YAC7H,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,4EAA4E;YAC5E,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAES,gBAAgB,CAAC,KAAiB;QACxC,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC7C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,8DAA8D;YAC9D,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACnD,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,GAAG,aAAa,EAAE,CAAC;YAC7D,6HAA6H;YAC7H,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC;YAC3G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC,CAAC;QAEpF,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,KAAK,aAAa,EAAE,CAAC;YACtE,mGAAmG;YACnG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,oFAAoF;YACpF,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACzG,CAAC;IACL,CAAC;IAES,yBAAyB,CAAC,KAAiB;QACjD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACzD,6EAA6E;gBAC7E,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC;YAC5D,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBAClE,iEAAiE;gBACjE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,iFAAiF;gBACjF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;gBACvD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACnD,CAAC;QAEL,CAAC;IACL,CAAC;IAES,iBAAiB;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACO,kBAAkB,CAAC,OAAmB;QAC5C,MAAM,MAAM,GAAG,IAAI,kDAAqB,EAAE;aACrC,WAAW,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;aACvD,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAc,sBAAsB;QAChC,8EAA8E;QAC9E,OAAO,CAAC,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACO,gBAAgB,CAAC,KAAiB;QACxC,MAAM,MAAM,GAAG,IAAI,iDAAoB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,UAAU,KAAK,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,iEAAiE,iBAAiB,CAAC,wBAAwB,cAAc,UAAU,EAAE,CAAC,CAAC;QAC3J,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG;YACrB,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;SAClB,CAAC;IACN,CAAC;;AAxIL,8CAyIC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=binary-message-pipe.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-message-pipe.spec.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Ivan Baksheev and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const stream_1 = require("stream");
20
+ const binary_message_pipe_1 = require("./binary-message-pipe");
21
+ class TestBinaryMessagePipe extends binary_message_pipe_1.BinaryMessagePipe {
22
+ encodeMessageStart(message) {
23
+ return super.encodeMessageStart(message);
24
+ }
25
+ get messageStartByteLength() {
26
+ return super.messageStartByteLength;
27
+ }
28
+ }
29
+ describe('BinaryMessagePipe', () => {
30
+ const payload = Buffer.alloc(64, 0x41);
31
+ let headerLength;
32
+ let headerSplit;
33
+ let stream;
34
+ let pipe;
35
+ let messages;
36
+ let frame;
37
+ beforeEach(() => {
38
+ stream = new stream_1.PassThrough();
39
+ pipe = new TestBinaryMessagePipe(stream);
40
+ headerLength = pipe.messageStartByteLength;
41
+ headerSplit = Math.floor(headerLength / 2);
42
+ messages = [];
43
+ frame = encodeFrame(payload);
44
+ pipe.onMessage(message => messages.push(Buffer.from(message)));
45
+ });
46
+ afterEach(() => {
47
+ pipe.dispose();
48
+ stream.destroy();
49
+ });
50
+ it('accumulates consecutive chunks that are shorter than the header', () => {
51
+ stream.emit('data', frame.subarray(0, headerSplit));
52
+ stream.emit('data', frame.subarray(headerSplit, headerLength));
53
+ stream.emit('data', frame.subarray(headerLength));
54
+ (0, chai_1.expect)(messages).to.deep.equal([payload]);
55
+ });
56
+ it('receives the original payload when the header is split between chunks', () => {
57
+ stream.emit('data', frame.subarray(0, headerSplit));
58
+ stream.emit('data', frame.subarray(headerSplit));
59
+ (0, chai_1.expect)(messages).to.deep.equal([payload]);
60
+ });
61
+ it('preserves the next frame in the same chunk after a partial header', () => {
62
+ const nextPayload = Buffer.from('next');
63
+ stream.emit('data', frame.subarray(0, headerSplit));
64
+ stream.emit('data', Buffer.concat([frame.subarray(headerSplit), encodeFrame(nextPayload)]));
65
+ (0, chai_1.expect)(messages).to.deep.equal([payload, nextPayload]);
66
+ });
67
+ function encodeFrame(message) {
68
+ return Buffer.concat([Buffer.from(pipe.encodeMessageStart(message)), Buffer.from(message)]);
69
+ }
70
+ });
71
+ //# sourceMappingURL=binary-message-pipe.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-message-pipe.spec.js","sourceRoot":"","sources":["../../../src/node/messaging/binary-message-pipe.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.77.0-next.4+4f24ee401",
3
+ "version": "1.77.0-next.47+e16adde42",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@babel/runtime": "^7.29.7",
8
+ "@babel/runtime": "^7.29.10",
9
9
  "@lumino/algorithm": "^2.0.5",
10
10
  "@lumino/commands": "^2.3.4",
11
11
  "@lumino/coreutils": "^2.2.3",
@@ -17,8 +17,8 @@
17
17
  "@lumino/virtualdom": "^2.0.5",
18
18
  "@lumino/widgets": "2.7.5",
19
19
  "@parcel/watcher": "^2.6.0",
20
- "@theia/application-package": "1.77.0-next.4+4f24ee401",
21
- "@theia/request": "1.77.0-next.4+4f24ee401",
20
+ "@theia/application-package": "1.77.0-next.47+e16adde42",
21
+ "@theia/request": "1.77.0-next.47+e16adde42",
22
22
  "@types/body-parser": "^1.19.6",
23
23
  "@types/express": "^4.17.25",
24
24
  "@types/fs-extra": "^4.0.15",
@@ -28,16 +28,16 @@
28
28
  "@types/markdown-it-emoji": "^3.0.1",
29
29
  "@types/route-parser": "^0.1.7",
30
30
  "@types/safer-buffer": "^2.1.3",
31
- "@types/ws": "^8.18.1",
31
+ "@types/ws": "^8.18.2",
32
32
  "@types/yargs": "^17.0.35",
33
33
  "@vscode/codicons": "0.0.45",
34
34
  "ajv": "^6.15.0",
35
35
  "async-mutex": "^0.4.1",
36
36
  "body-parser": "^1.20.8",
37
37
  "cookie": "^1.1.1",
38
- "dompurify": "^3.4.15",
38
+ "dompurify": "^3.4.16",
39
39
  "drivelist": "^12.0.2",
40
- "express": "^4.22.2",
40
+ "express": "^4.22.3",
41
41
  "fast-json-stable-stringify": "^2.1.0",
42
42
  "file-icons-js": "~1.0.3",
43
43
  "font-awesome": "^4.7.0",
@@ -51,7 +51,7 @@
51
51
  "keytar": "7.9.0",
52
52
  "lodash.debounce": "^4.0.8",
53
53
  "lodash.throttle": "^4.1.1",
54
- "markdown-it": "^14.3.1",
54
+ "markdown-it": "^14.3.2",
55
55
  "markdown-it-anchor": "^9.2.1",
56
56
  "markdown-it-emoji": "^3.1.0",
57
57
  "msgpackr": "^1.12.1",
@@ -62,13 +62,13 @@
62
62
  "reflect-metadata": "^0.2.2",
63
63
  "route-parser": "^0.0.5",
64
64
  "safer-buffer": "^2.1.2",
65
- "socket.io": "^4.8.3",
66
- "socket.io-client": "^4.8.3",
65
+ "socket.io": "^4.8.4",
66
+ "socket.io-client": "^4.8.4",
67
67
  "tslib": "^2.8.1",
68
68
  "uuid": "^11.1.1",
69
69
  "vscode-languageserver-protocol": "3.17.5",
70
70
  "vscode-uri": "3.0.8",
71
- "ws": "^8.21.3",
71
+ "ws": "^8.22.0",
72
72
  "yargs": "^17.7.3"
73
73
  },
74
74
  "peerDependencies": {
@@ -223,15 +223,15 @@
223
223
  "devDependencies": {
224
224
  "@theia/ext-scripts": "1.76.0",
225
225
  "@theia/re-exports": "1.76.0",
226
- "@types/react": "^19.2.18",
227
- "@types/react-dom": "^19.2.7",
226
+ "@types/react": "^19.3.0",
227
+ "@types/react-dom": "^19.3.0",
228
228
  "minimist": "^1.2.8",
229
229
  "nodejs-file-downloader": "4.13.0",
230
- "react": "^19.2.8",
231
- "react-dom": "^19.2.8"
230
+ "react": "^19.3.0",
231
+ "react-dom": "^19.3.0"
232
232
  },
233
233
  "nyc": {
234
234
  "extends": "../../configs/nyc.json"
235
235
  },
236
- "gitHead": "4f24ee40105b8c53808c8293c41387304d15960c"
236
+ "gitHead": "e16adde42dd7f932f85efb6d701d665149c04f47"
237
237
  }
@@ -0,0 +1,108 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { enableJSDOM } from './test/jsdom';
18
+ let disableJSDOM = enableJSDOM();
19
+
20
+ import { expect } from 'chai';
21
+ import './shell/application-shell'; // load first to avoid a circular import failure via `SecondaryWindowHandler`
22
+ import { ColorApplicationContribution } from './color-application-contribution';
23
+ import { ColorRegistry } from './color-registry';
24
+ import { ThemeService } from './theming';
25
+ disableJSDOM();
26
+
27
+ class TestColorRegistry extends ColorRegistry {
28
+
29
+ readonly values = new Map<string, string>();
30
+
31
+ override *getColors(): IterableIterator<string> {
32
+ yield* this.values.keys();
33
+ }
34
+
35
+ override getCurrentColor(id: string): string | undefined {
36
+ return this.values.get(id);
37
+ }
38
+ }
39
+
40
+ class TestColorApplicationContribution extends ColorApplicationContribution {
41
+
42
+ protected override readonly themeService = { getCurrentTheme: () => ({ type: 'dark' }) } as unknown as ThemeService;
43
+
44
+ constructor(protected override readonly colors: ColorRegistry) {
45
+ super();
46
+ }
47
+
48
+ updateWindowForTest(win: Window): void {
49
+ this.updateWindow(win);
50
+ }
51
+ }
52
+
53
+ describe('ColorApplicationContribution', () => {
54
+
55
+ let colors: TestColorRegistry;
56
+ let contribution: TestColorApplicationContribution;
57
+
58
+ beforeEach(() => {
59
+ disableJSDOM = enableJSDOM();
60
+ colors = new TestColorRegistry();
61
+ colors.values.set('editor.background', '#1e1e1e');
62
+ colors.values.set('scmGraph.historyItemHoverAdditionsForeground', '#487e02');
63
+ colors.values.set('unresolved.color', '');
64
+ contribution = new TestColorApplicationContribution(colors);
65
+ });
66
+
67
+ afterEach(() => {
68
+ disableJSDOM();
69
+ });
70
+
71
+ it('sets a --theia- and a --vscode- prefixed variable for every resolved color', () => {
72
+ contribution.updateWindowForTest(window);
73
+ const style = document.documentElement.style;
74
+ expect(style.getPropertyValue('--theia-editor-background')).to.equal('#1e1e1e');
75
+ expect(style.getPropertyValue('--vscode-editor-background')).to.equal('#1e1e1e');
76
+ expect(style.getPropertyValue('--theia-scmGraph-historyItemHoverAdditionsForeground')).to.equal('#487e02');
77
+ expect(style.getPropertyValue('--vscode-scmGraph-historyItemHoverAdditionsForeground')).to.equal('#487e02');
78
+ expect(style.length).to.equal(4);
79
+ });
80
+
81
+ it('does not set variables for colors without a value', () => {
82
+ contribution.updateWindowForTest(window);
83
+ const style = document.documentElement.style;
84
+ expect(style.getPropertyValue('--theia-unresolved-color')).to.equal('');
85
+ expect(style.getPropertyValue('--vscode-unresolved-color')).to.equal('');
86
+ });
87
+
88
+ it('overwrites the variables in place on a subsequent update', () => {
89
+ contribution.updateWindowForTest(window);
90
+ colors.values.set('editor.background', '#ffffff');
91
+ contribution.updateWindowForTest(window);
92
+ const style = document.documentElement.style;
93
+ expect(style.getPropertyValue('--theia-editor-background')).to.equal('#ffffff');
94
+ expect(style.getPropertyValue('--vscode-editor-background')).to.equal('#ffffff');
95
+ expect(style.length).to.equal(4);
96
+ });
97
+
98
+ it('removes both variables of a color that the current theme does not provide anymore', () => {
99
+ contribution.updateWindowForTest(window);
100
+ colors.values.delete('scmGraph.historyItemHoverAdditionsForeground');
101
+ contribution.updateWindowForTest(window);
102
+ const style = document.documentElement.style;
103
+ expect(style.getPropertyValue('--theia-scmGraph-historyItemHoverAdditionsForeground')).to.equal('');
104
+ expect(style.getPropertyValue('--vscode-scmGraph-historyItemHoverAdditionsForeground')).to.equal('');
105
+ expect(style.getPropertyValue('--theia-editor-background')).to.equal('#1e1e1e');
106
+ expect(style.length).to.equal(2);
107
+ });
108
+ });
@@ -73,6 +73,13 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
73
73
  this.onDidChangeEmitter.fire();
74
74
  }
75
75
 
76
+ /**
77
+ * The CSS variables currently applied to the document element of a window. Used to only remove
78
+ * those that the current theme does not provide anymore, instead of removing and re-applying all
79
+ * of them on every update.
80
+ */
81
+ protected readonly appliedCssVariables = new WeakMap<Window, ReadonlySet<string>>();
82
+
76
83
  protected readonly toUpdate = new DisposableCollection();
77
84
  protected update(): void {
78
85
  this.toUpdate.dispose();
@@ -88,14 +95,19 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
88
95
 
89
96
  const documentElement = win.document.documentElement;
90
97
  if (documentElement) {
98
+ const applied = new Set<string>();
91
99
  for (const id of this.colors.getColors()) {
92
- const variable = this.colors.getCurrentCssVariable(id);
93
- if (variable) {
94
- const { name, value } = variable;
100
+ for (const { name, value } of this.colors.getCurrentCssVariables(id)) {
95
101
  documentElement.style.setProperty(name, value);
96
- this.toUpdate.push(Disposable.create(() => documentElement.style.removeProperty(name)));
102
+ applied.add(name);
103
+ }
104
+ }
105
+ for (const name of this.appliedCssVariables.get(win) ?? []) {
106
+ if (!applied.has(name)) {
107
+ documentElement.style.removeProperty(name);
97
108
  }
98
109
  }
110
+ this.appliedCssVariables.set(win, applied);
99
111
  }
100
112
  }
101
113
 
@@ -39,6 +39,19 @@ export class ColorRegistry {
39
39
  return { name, value };
40
40
  }
41
41
 
42
+ /**
43
+ * All CSS variables to set for the given color: the primary one from {@link getCurrentCssVariable} and the
44
+ * `--vscode-` prefixed alias. VS Code extensions reference colors with the `--vscode-` prefix, e.g. in the
45
+ * inline styles of the HTML they render, and Monaco only defines those variables within its own containers.
46
+ */
47
+ getCurrentCssVariables(id: string): ColorCssVariable[] {
48
+ const variable = this.getCurrentCssVariable(id);
49
+ if (!variable) {
50
+ return [];
51
+ }
52
+ return [variable, { name: this.toCssVariableName(id, 'vscode'), value: variable.value }];
53
+ }
54
+
42
55
  toCssVariableName(id: string, prefix = 'theia'): string {
43
56
  return `--${prefix}-${id.replace(/\./g, '-')}`;
44
57
  }
@@ -31,8 +31,6 @@
31
31
  max-width: var(--theia-hover-max-width);
32
32
  overflow-wrap: break-word;
33
33
  user-select: text;
34
- --vscode-scmGraph-historyItemHoverAdditionsForeground: var(--theia-scmGraph-historyItemHoverAdditionsForeground);
35
- --vscode-scmGraph-historyItemHoverDeletionsForeground: var(--theia-scmGraph-historyItemHoverDeletionsForeground);
36
34
  }
37
35
 
38
36
  /* overwrite potentially different default user agent styles */
@@ -54,9 +54,48 @@ export namespace FocusableTreeSelection {
54
54
  */
55
55
  export class TreeSelectionState {
56
56
 
57
+ /**
58
+ * The stack of selections, by the id of the nodes they refer to.
59
+ *
60
+ * Everything this state does with a selection resolves the node through the tree anyway, so keeping the nodes
61
+ * themselves would only pin a subtree that a refresh has since replaced, along with whatever its elements refer
62
+ * to. Keeping the ids also lets a selection outlive its nodes briefly leaving the tree, as happens when a tree
63
+ * updates itself by clearing its contents before filling them in again.
64
+ */
65
+ protected readonly ids: ReadonlyArray<{
66
+ readonly node: string,
67
+ readonly focus?: string,
68
+ readonly type?: TreeSelection.SelectionType
69
+ }>;
70
+
57
71
  constructor(
58
72
  protected readonly tree: Tree,
59
- readonly selectionStack: ReadonlyArray<FocusableTreeSelection> = []) {
73
+ selectionStack: ReadonlyArray<FocusableTreeSelection> = []) {
74
+ this.ids = selectionStack.map(({ node, focus, type }) => ({ node: node.id, focus: focus?.id, type }));
75
+ }
76
+
77
+ /**
78
+ * The selections of this state that refer to a node the tree currently has. Selections of nodes that are not in
79
+ * the tree are left out, but are kept by this state, so that they apply again if their nodes come back.
80
+ */
81
+ get selectionStack(): ReadonlyArray<FocusableTreeSelection> {
82
+ const stack: FocusableTreeSelection[] = [];
83
+ for (const { node, focus, type } of this.ids) {
84
+ const selected = this.findSelectableTreeNode(node);
85
+ if (selected) {
86
+ stack.push({ node: selected, focus: this.findSelectableTreeNode(focus), type });
87
+ }
88
+ }
89
+ return stack;
90
+ }
91
+
92
+ /**
93
+ * Resolves a node id against the tree. Unlike {@link toSelectableTreeNode} this does not report an id that does
94
+ * not resolve, because the stack is expected to outlive the nodes it refers to.
95
+ */
96
+ protected findSelectableTreeNode(id: string | undefined): SelectableTreeNode | undefined {
97
+ const candidate = id === undefined ? undefined : this.tree.getNode(id);
98
+ return SelectableTreeNode.is(candidate) ? candidate : undefined;
60
99
  }
61
100
 
62
101
  nextState(selection: FocusableTreeSelection): TreeSelectionState {
@@ -38,6 +38,14 @@ class CountingView extends TreeWidget.View {
38
38
  this.scrollCount++;
39
39
  }
40
40
  };
41
+ /** Reports the list height the way Virtuoso does once it has measured the list. */
42
+ measure(height: number, renderedHeight = height): void {
43
+ this.setRenderedHeight(renderedHeight);
44
+ this.onTotalListHeightChanged(height);
45
+ }
46
+ setRenderedHeight(scrollHeight: number): void {
47
+ this.scroller = { scrollHeight } as HTMLElement;
48
+ }
41
49
  }
42
50
 
43
51
  class TestTreeWidget extends TreeWidget {
@@ -190,6 +198,8 @@ describe('TreeWidget', () => {
190
198
  let container: HTMLElement;
191
199
  let root: Root;
192
200
  let view: CountingView | undefined;
201
+ let frames: FrameRequestCallback[];
202
+ let requestAnimationFrame: typeof window.requestAnimationFrame;
193
203
  const rows: TreeWidget.NodeRow[] = [0, 1, 2].map(index => ({ index, depth: 0, node: leaf(`node-${index}`) }));
194
204
 
195
205
  const render = (props: Partial<TreeWidget.ViewProps>): void => flushSync(() => root.render(
@@ -202,20 +212,66 @@ describe('TreeWidget', () => {
202
212
  {...props}
203
213
  />
204
214
  ));
215
+ const runFrames = (): void => frames.splice(0).forEach(frame => frame(0));
216
+ /** Mount and measure the list, and serve the mount-time request. */
217
+ const mount = (props: Partial<TreeWidget.ViewProps>): void => {
218
+ render(props);
219
+ view!.measure(300);
220
+ runFrames();
221
+ };
205
222
 
206
223
  beforeEach(() => {
207
224
  container = document.createElement('div');
208
225
  document.body.appendChild(container);
209
226
  root = createRoot(container);
227
+ frames = [];
228
+ requestAnimationFrame = window.requestAnimationFrame;
229
+ window.requestAnimationFrame = frame => frames.push(frame);
210
230
  });
211
231
 
212
232
  afterEach(() => {
233
+ window.requestAnimationFrame = requestAnimationFrame;
213
234
  flushSync(() => root.unmount());
214
235
  document.body.removeChild(container);
215
236
  });
216
237
 
217
- it('does not scroll again when re-rendered without a new scroll request', () => {
238
+ it('holds a scroll request made before the list is measured until the list is rendered at its height', () => {
239
+ render({ scrollToRow: 2, scrollToRowRequestId: 1 });
240
+ expect(view!.scrollCount).to.equal(0);
241
+
242
+ view!.measure(300, 100);
243
+ runFrames();
244
+ expect(view!.scrollCount).to.equal(0);
245
+
246
+ view!.setRenderedHeight(300);
247
+ runFrames();
248
+ expect(view!.scrollCount).to.equal(1);
249
+
250
+ runFrames();
251
+ expect(view!.scrollCount).to.equal(1);
252
+ });
253
+
254
+ it('waits for the latest list height when the first reported height shrinks', () => {
255
+ render({ scrollToRow: 2, scrollToRowRequestId: 1 });
256
+ view!.measure(300, 100);
257
+ view!.measure(200, 200);
258
+ runFrames();
259
+ expect(view!.scrollCount).to.equal(1);
260
+ });
261
+
262
+ it('serves a held scroll request when the list is never rendered at its height', () => {
218
263
  render({ scrollToRow: 2, scrollToRowRequestId: 1 });
264
+ view!.measure(300, 100);
265
+ for (let frame = 0; frame < 30; frame++) {
266
+ runFrames();
267
+ expect(view!.scrollCount).to.equal(0);
268
+ }
269
+ runFrames();
270
+ expect(view!.scrollCount).to.equal(1);
271
+ });
272
+
273
+ it('does not scroll again when re-rendered without a new scroll request', () => {
274
+ mount({ scrollToRow: 2, scrollToRowRequestId: 1 });
219
275
  const scrollsAfterMount = view!.scrollCount;
220
276
 
221
277
  render({ scrollToRow: 2, scrollToRowRequestId: 1 });
@@ -225,7 +281,7 @@ describe('TreeWidget', () => {
225
281
  });
226
282
 
227
283
  it('scrolls again when a new scroll request arrives for the same row', () => {
228
- render({ scrollToRow: 2, scrollToRowRequestId: 1 });
284
+ mount({ scrollToRow: 2, scrollToRowRequestId: 1 });
229
285
  const scrollsAfterMount = view!.scrollCount;
230
286
 
231
287
  render({ scrollToRow: 2, scrollToRowRequestId: 2 });
@@ -234,7 +290,7 @@ describe('TreeWidget', () => {
234
290
  });
235
291
 
236
292
  it('scrolls when the row to scroll to changes', () => {
237
- render({ scrollToRow: 1 });
293
+ mount({ scrollToRow: 1 });
238
294
  const scrollsAfterMount = view!.scrollCount;
239
295
 
240
296
  render({ scrollToRow: 2 });