@theia/core 1.73.0-next.31 → 1.73.0-next.40

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 (52) hide show
  1. package/README.md +19 -9
  2. package/lib/browser/catalog.json +12 -0
  3. package/lib/browser/markdown-rendering/markdown.d.ts +1 -1
  4. package/lib/browser/markdown-rendering/markdown.d.ts.map +1 -1
  5. package/lib/browser/markdown-rendering/markdown.js +1 -1
  6. package/lib/browser/markdown-rendering/markdown.js.map +1 -1
  7. package/lib/browser/menu/composite-menu-node.js +4 -4
  8. package/lib/browser/menu/composite-menu-node.js.map +1 -1
  9. package/lib/browser/preferences/preference-proxy.spec.js +7 -0
  10. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  11. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +4 -4
  12. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  13. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +2 -2
  14. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  15. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +131 -0
  16. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -1
  17. package/lib/browser/status-bar/status-bar.d.ts +2 -2
  18. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  19. package/lib/browser/status-bar/status-bar.js.map +1 -1
  20. package/lib/browser/test/jsdom.d.ts +4 -0
  21. package/lib/browser/test/jsdom.d.ts.map +1 -1
  22. package/lib/browser/test/jsdom.js +18 -0
  23. package/lib/browser/test/jsdom.js.map +1 -1
  24. package/lib/browser/tree/tree-widget.js +2 -2
  25. package/lib/browser/tree/tree-widget.js.map +1 -1
  26. package/lib/common/preferences/injectable-preference-proxy.d.ts +3 -3
  27. package/lib/common/preferences/injectable-preference-proxy.d.ts.map +1 -1
  28. package/lib/common/preferences/injectable-preference-proxy.js +6 -1
  29. package/lib/common/preferences/injectable-preference-proxy.js.map +1 -1
  30. package/lib/common/preferences/preference-proxy.d.ts.map +1 -1
  31. package/lib/common/preferences/preference-proxy.js +6 -1
  32. package/lib/common/preferences/preference-proxy.js.map +1 -1
  33. package/lib/node/logger-cli-contribution.d.ts +6 -0
  34. package/lib/node/logger-cli-contribution.d.ts.map +1 -1
  35. package/lib/node/logger-cli-contribution.js +28 -5
  36. package/lib/node/logger-cli-contribution.js.map +1 -1
  37. package/lib/node/logger-cli-contribution.spec.js +54 -0
  38. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  39. package/package.json +26 -16
  40. package/src/browser/markdown-rendering/markdown.tsx +2 -2
  41. package/src/browser/menu/composite-menu-node.ts +4 -4
  42. package/src/browser/preferences/preference-proxy.spec.ts +8 -0
  43. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +4 -4
  44. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +2 -2
  45. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +159 -1
  46. package/src/browser/status-bar/status-bar.tsx +3 -3
  47. package/src/browser/test/jsdom.ts +18 -0
  48. package/src/browser/tree/tree-widget.tsx +2 -2
  49. package/src/common/preferences/injectable-preference-proxy.ts +10 -4
  50. package/src/common/preferences/preference-proxy.ts +10 -4
  51. package/src/node/logger-cli-contribution.spec.ts +65 -0
  52. package/src/node/logger-cli-contribution.ts +32 -5
@@ -1 +1 @@
1
- {"version":3,"file":"logger-cli-contribution.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-cli-contribution.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,yCAAuC;AACvC,6CAA4C;AAE5C,+BAA+B;AAC/B,6CAA+D;AAC/D,2CAAiD;AACjD,6BAA6B;AAC7B,sCAA6D;AAC7D,+CAA2D;AAO3D;;;;GAIG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAgBhC,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;QA1BU,eAAU,GAAc,EAAE,CAAC;QAC3B,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,uBAAkB,GAAwB,EAAE,CAAC;QAC7C,cAAS,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAEjD;;WAEG;QACO,qBAAgB,GAAa,iBAAQ,CAAC,IAAI,CAAC;QAI3C,0BAAqB,GAAkB,IAAI,eAAO,EAAQ,CAAC;QAejE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,IAAgB;QACtB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACrB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACtB,WAAW,EAAE,uEAAuE;YACpF,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACpB,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAqB;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAW,EAAE,yCAAyC,CAAC,CAAC;QAC5H,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAW,IAAI,CAAC,YAAY,CAAW,CAAC;YACpD,IAAI,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAElC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,iCAAiC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAW,CAAC;YAC1C,IAAI,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;wBACxB,uDAAuD;wBACvD,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;wBACrF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACL,kDAAkD;gBACtD,CAAC;gBACD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QAED,qFAAqF;QACrF,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAS,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC5D,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;gBAClE,OAAO;YACX,CAAC;YACD,IAAI,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACzB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;4BACjB,KAAK,QAAQ,CAAC;4BACd,KAAK,QAAQ;gCACT,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gCACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gCAC3C,MAAM;wBACd,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,iCAAiC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxC,GAAG,CAAC,WAAW,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAC/C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,kBAAkB,GAAa,iBAAQ,CAAC,IAAI,CAAC;YAEjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBACzB,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YACnH,CAAC;YAED,MAAM,YAAY,GAAgC,EAAE,CAAC;YAErD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBACjC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,gCAAgC,MAAM,OAAO,QAAQ,EAAE,CAAC,CAAC;gBACtH,CAAC;YACL,CAAC;YAED,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAEhC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,GAAG,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,UAAkB;QAC1B,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,QAAgB,EAAE,gBAAwB;QACnE,MAAM,KAAK,GAAG,iBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAgB,MAAM,QAAQ,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACO,gBAAgB,CAAC,OAAe;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gCAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjF,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAtNY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;;GACA,uBAAuB,CAsNnC"}
@@ -215,5 +215,59 @@ describe('log-level-cli-contribution', () => {
215
215
  world: logger_1.LogLevel.FATAL,
216
216
  });
217
217
  });
218
+ describe('Wildcard Matching', () => {
219
+ async function setupLogLevels(levels) {
220
+ const file = track.openSync();
221
+ fs.writeFileSync(file.fd, JSON.stringify({
222
+ defaultLevel: 'info',
223
+ levels
224
+ }));
225
+ fs.fsyncSync(file.fd);
226
+ fs.closeSync(file.fd);
227
+ const args = await yargs.parse(['--log-config', file.path]);
228
+ await cli.setArguments(args);
229
+ }
230
+ it('should respect exact matches without wildcards', async () => {
231
+ await setupLogLevels({
232
+ 'unrelated:Service': 'debug'
233
+ });
234
+ (0, chai_1.expect)(cli.logLevelFor('unrelated:Service')).to.equal(logger_1.LogLevel.DEBUG);
235
+ (0, chai_1.expect)(cli.logLevelFor('something-else')).to.equal(logger_1.LogLevel.INFO);
236
+ });
237
+ it('should match prefix wildcards', async () => {
238
+ await setupLogLevels({
239
+ 'ai-core*': 'error'
240
+ });
241
+ (0, chai_1.expect)(cli.logLevelFor('ai-core:SomeOtherService')).to.equal(logger_1.LogLevel.ERROR);
242
+ });
243
+ it('should match suffix wildcards', async () => {
244
+ await setupLogLevels({
245
+ '*TokenUsageFrontendServiceImpl': 'warn'
246
+ });
247
+ (0, chai_1.expect)(cli.logLevelFor('my-package:MyTokenUsageFrontendServiceImpl')).to.equal(logger_1.LogLevel.WARN);
248
+ });
249
+ it('should match middle wildcards', async () => {
250
+ await setupLogLevels({
251
+ '*ai*:*': 'warn'
252
+ });
253
+ (0, chai_1.expect)(cli.logLevelFor('foo-ai-bar:SomeService')).to.equal(logger_1.LogLevel.WARN);
254
+ });
255
+ it('should enforce perfect match first, then last wildcard wins', async () => {
256
+ await setupLogLevels({
257
+ 'ai-core*': 'error',
258
+ '*ai*:*': 'warn',
259
+ 'ai-core:SpecificService': 'debug'
260
+ });
261
+ (0, chai_1.expect)(cli.logLevelFor('ai-core:SpecificService')).to.equal(logger_1.LogLevel.DEBUG);
262
+ (0, chai_1.expect)(cli.logLevelFor('ai-core:OtherService')).to.equal(logger_1.LogLevel.WARN);
263
+ });
264
+ it('should properly escape regex specifics like periods', async () => {
265
+ await setupLogLevels({
266
+ '.*': 'error'
267
+ });
268
+ (0, chai_1.expect)(cli.logLevelFor('anything-else')).to.equal(logger_1.LogLevel.INFO);
269
+ (0, chai_1.expect)(cli.logLevelFor('.*')).to.equal(logger_1.LogLevel.ERROR);
270
+ });
271
+ });
218
272
  });
219
273
  //# sourceMappingURL=logger-cli-contribution.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-cli-contribution.spec.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-cli-contribution.spec.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.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.73.0-next.31+f888a90fa",
3
+ "version": "1.73.0-next.40+201e8aea5",
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.2",
8
+ "@babel/runtime": "^7.29.7",
9
9
  "@lumino/algorithm": "^2.0.4",
10
10
  "@lumino/commands": "^2.3.3",
11
11
  "@lumino/coreutils": "^2.2.2",
@@ -17,8 +17,8 @@
17
17
  "@lumino/virtualdom": "^2.0.4",
18
18
  "@lumino/widgets": "2.7.5",
19
19
  "@parcel/watcher": "^2.5.6",
20
- "@theia/application-package": "1.73.0-next.31+f888a90fa",
21
- "@theia/request": "1.73.0-next.31+f888a90fa",
20
+ "@theia/application-package": "1.73.0-next.40+201e8aea5",
21
+ "@theia/request": "1.73.0-next.40+201e8aea5",
22
22
  "@types/body-parser": "^1.19.6",
23
23
  "@types/express": "^4.17.25",
24
24
  "@types/fs-extra": "^4.0.15",
@@ -26,21 +26,19 @@
26
26
  "@types/lodash.throttle": "^4.1.9",
27
27
  "@types/markdown-it": "^14.1.2",
28
28
  "@types/markdown-it-emoji": "^3.0.1",
29
- "@types/react": "^18.3.28",
30
- "@types/react-dom": "^18.3.7",
31
29
  "@types/route-parser": "^0.1.7",
32
30
  "@types/safer-buffer": "^2.1.3",
33
31
  "@types/uuid": "^9.0.8",
34
32
  "@types/ws": "^8.18.1",
35
- "@types/yargs": "^17",
33
+ "@types/yargs": "^17.0.35",
36
34
  "@vscode/codicons": "0.0.45",
37
35
  "ajv": "^6.15.0",
38
36
  "async-mutex": "^0.4.1",
39
37
  "body-parser": "^1.20.5",
40
38
  "cookie": "^1.1.1",
41
- "dompurify": "^3.4.2",
39
+ "dompurify": "^3.4.7",
42
40
  "drivelist": "^12.0.2",
43
- "express": "^4.22.1",
41
+ "express": "^4.22.2",
44
42
  "fast-json-stable-stringify": "^2.1.0",
45
43
  "file-icons-js": "~1.0.3",
46
44
  "font-awesome": "^4.7.0",
@@ -54,14 +52,12 @@
54
52
  "keytar": "7.9.0",
55
53
  "lodash.debounce": "^4.0.8",
56
54
  "lodash.throttle": "^4.1.1",
57
- "markdown-it": "^14.1.1",
55
+ "markdown-it": "^14.2.0",
58
56
  "markdown-it-anchor": "^9.2.0",
59
57
  "markdown-it-emoji": "^3.0.0",
60
58
  "msgpackr": "^1.11.12",
61
59
  "p-debounce": "^2.1.0",
62
60
  "perfect-scrollbar": "1.5.5",
63
- "react": "^18.3.1",
64
- "react-dom": "^18.3.1",
65
61
  "react-tooltip": "^4.5.1",
66
62
  "react-virtuoso": "^2.19.1",
67
63
  "reflect-metadata": "^0.2.2",
@@ -73,15 +69,25 @@
73
69
  "uuid": "^9.0.1",
74
70
  "vscode-languageserver-protocol": "3.17.5",
75
71
  "vscode-uri": "3.0.8",
76
- "ws": "^8.20.0",
72
+ "ws": "^8.21.0",
77
73
  "yargs": "^17.7.2"
78
74
  },
79
75
  "peerDependencies": {
80
- "@theia/electron": "*"
76
+ "@theia/electron": "*",
77
+ "@types/react": "^18.3.0 || ^19.0.0",
78
+ "@types/react-dom": "^18.3.0 || ^19.0.0",
79
+ "react": "^18.3.1 || ^19.0.0",
80
+ "react-dom": "^18.3.1 || ^19.0.0"
81
81
  },
82
82
  "peerDependenciesMeta": {
83
83
  "@theia/electron": {
84
84
  "optional": true
85
+ },
86
+ "@types/react": {
87
+ "optional": true
88
+ },
89
+ "@types/react-dom": {
90
+ "optional": true
85
91
  }
86
92
  },
87
93
  "publishConfig": {
@@ -215,11 +221,15 @@
215
221
  "devDependencies": {
216
222
  "@theia/ext-scripts": "1.72.0",
217
223
  "@theia/re-exports": "1.72.0",
224
+ "@types/react": "^18.3.28",
225
+ "@types/react-dom": "^18.3.7",
218
226
  "minimist": "^1.2.8",
219
- "nodejs-file-downloader": "4.13.0"
227
+ "nodejs-file-downloader": "4.13.0",
228
+ "react": "^18.3.1",
229
+ "react-dom": "^18.3.1"
220
230
  },
221
231
  "nyc": {
222
232
  "extends": "../../configs/nyc.json"
223
233
  },
224
- "gitHead": "f888a90fa9ccf8c0468fcb567369625c51ede3ee"
234
+ "gitHead": "201e8aea5001e76ba316499bc634ae485b97b098"
225
235
  }
@@ -157,10 +157,10 @@ export function useMarkdown(
157
157
  markdownRenderer: MarkdownRenderer,
158
158
  markdownOptions?: MarkdownProps['markdownOptions'],
159
159
  onRender?: (element: HTMLElement | undefined) => void
160
- ): React.RefObject<HTMLDivElement> {
160
+ ): React.Ref<HTMLDivElement> {
161
161
  // eslint-disable-next-line no-null/no-null
162
162
  const containerRef = React.useRef<HTMLDivElement>(null);
163
- const renderResultRef = React.useRef<MarkdownRenderResult | undefined>();
163
+ const renderResultRef = React.useRef<MarkdownRenderResult | undefined>(undefined);
164
164
 
165
165
  const renderedElement = React.useMemo(() => {
166
166
  renderResultRef.current?.dispose();
@@ -31,11 +31,11 @@ export class SubMenuLink implements CompoundMenuNode {
31
31
 
32
32
  get sortString(): string { return this._sortString || this.delegate.sortString; };
33
33
  isVisible<T>(effectiveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<T>, context: T | undefined, ...args: unknown[]): boolean {
34
- return this.delegate.isVisible(effectiveMenuPath, contextMatcher, context) && (!this._when || contextMatcher.match(this._when, context));
34
+ return this.delegate.isVisible(effectiveMenuPath, contextMatcher, context, ...args) && (!this._when || contextMatcher.match(this._when, context));
35
35
  }
36
36
 
37
37
  isEmpty<T>(effectiveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<T>, context: T | undefined, ...args: unknown[]): boolean {
38
- return this.delegate.isEmpty(effectiveMenuPath, contextMatcher, context, args);
38
+ return this.delegate.isEmpty(effectiveMenuPath, contextMatcher, context, ...args);
39
39
  }
40
40
  }
41
41
 
@@ -78,8 +78,8 @@ export abstract class AbstractCompoundMenuImpl implements MenuNode {
78
78
 
79
79
  isEmpty<T>(effectiveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<T>, context: T | undefined, ...args: unknown[]): boolean {
80
80
  for (const child of this.children) {
81
- if (child.isVisible(effectiveMenuPath, contextMatcher, context, args)) {
82
- if (!CompoundMenuNode.is(child) || !child.isEmpty(effectiveMenuPath, contextMatcher, context, args)) {
81
+ if (child.isVisible(effectiveMenuPath, contextMatcher, context, ...args)) {
82
+ if (!CompoundMenuNode.is(child) || !child.isEmpty(effectiveMenuPath, contextMatcher, context, ...args)) {
83
83
  return false;
84
84
  }
85
85
  }
@@ -162,6 +162,14 @@ describe('Preference Proxy', () => {
162
162
  expect(Object.keys(proxy).join()).to.equal(['my.pref'].join());
163
163
  });
164
164
 
165
+ it('supports object introspection through Symbol.toStringTag', async () => {
166
+ const { proxy, promisedSchema } = getProxy();
167
+ if (promisedSchema) {
168
+ await promisedSchema;
169
+ }
170
+ expect(Object.prototype.toString.call(proxy)).to.equal('[object Object]');
171
+ });
172
+
165
173
  it('it should provide access in deep style but not flat', async () => {
166
174
  const { proxy, promisedSchema } = getProxy(undefined, { style: 'deep' });
167
175
  if (promisedSchema) {
@@ -96,7 +96,7 @@ abstract class AbstractToolbarMenuWrapper {
96
96
  const icon = this.icon || 'ellipsis';
97
97
  const contextMatcher: ContextMatcher = this.contextKeyService;
98
98
  const className = `${icon} ${ACTION_ITEM}`;
99
- if (CompoundMenuNode.is(this.menuNode) && !this.menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node)) {
99
+ if (CompoundMenuNode.is(this.menuNode) && !this.menuNode.isEmpty(this.effectiveMenuPath, this.contextKeyService, widget.node, widget)) {
100
100
  return <div key={this.id} className={TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM + ' enabled menu'}>
101
101
  <div className={className}
102
102
  title={this.tooltip || this.text}
@@ -308,7 +308,7 @@ abstract class AbstractMenuNodeAsToolbarItemWrapper<T extends MenuNode> {
308
308
  }
309
309
 
310
310
  isVisible<K>(effectiveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<K>, context: K | undefined, ...args: unknown[]): boolean {
311
- return this.menuNode!.isVisible(this.effectiveMenuPath, contextMatcher, context, args);
311
+ return this.menuNode!.isVisible(this.effectiveMenuPath, contextMatcher, context, ...args);
312
312
  }
313
313
  }
314
314
 
@@ -321,7 +321,7 @@ class ToolbarItemAsSubmenuWrapper extends AbstractMenuNodeAsToolbarItemWrapper<C
321
321
  return this.menuNode.contextKeyOverlays;
322
322
  }
323
323
  isEmpty<T>(effectiveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<T>, context: T | undefined, ...args: unknown[]): boolean {
324
- return this.menuNode.isEmpty(this.effectiveMenuPath, contextMatcher, context, args);
324
+ return this.menuNode.isEmpty(this.effectiveMenuPath, contextMatcher, context, ...args);
325
325
  }
326
326
  get children(): MenuNode[] {
327
327
  return this.menuNode.children;
@@ -340,7 +340,7 @@ class ToolbarItemAsCommandMenuWrapper extends AbstractMenuNodeAsToolbarItemWrapp
340
340
  return this.menuNode.isToggled(this.effectiveMenuPath, ...args);
341
341
  }
342
342
  run(effectiveMenuPath: MenuPath, ...args: unknown[]): Promise<void> {
343
- return this.menuNode.run(this.effectiveMenuPath, args);
343
+ return this.menuNode.run(this.effectiveMenuPath, ...args);
344
344
  }
345
345
 
346
346
  override get label(): string {
@@ -141,11 +141,11 @@ export class TabBarToolbarRegistry implements FrontendApplicationContribution {
141
141
  const menu = this.menuRegistry.getMenu(delegate.menuPath);
142
142
  if (menu) {
143
143
  for (const child of menu.children) {
144
- if (child.isVisible([...delegate.menuPath, child.id], this.contextKeyService, widget.node)) {
144
+ if (child.isVisible([...delegate.menuPath, child.id], this.contextKeyService, widget.node, widget)) {
145
145
  if (CompoundMenuNode.is(child)) {
146
146
  for (const grandchild of child.children) {
147
147
  if (grandchild.isVisible([...delegate.menuPath, child.id, grandchild.id],
148
- this.contextKeyService, widget.node) && RenderedMenuNode.is(grandchild)) {
148
+ this.contextKeyService, widget.node, widget) && RenderedMenuNode.is(grandchild)) {
149
149
  if (CommandMenu.is(grandchild)) {
150
150
  result.push(new CommandMenuAsToolbarItemWrapper([...delegate.menuPath, child.id, grandchild.id], this.commandRegistry,
151
151
  this.menuRegistry, this.contextKeyService, this.contextMenuRenderer, grandchild, child.id));
@@ -18,7 +18,16 @@ import { enableJSDOM } from '../../test/jsdom';
18
18
 
19
19
  let disableJSDOM = enableJSDOM();
20
20
  import { expect } from 'chai';
21
- import { TabBarToolbarAction } from './tab-bar-toolbar-types';
21
+ import {
22
+ CommandMenu, CommandRegistry, CompoundMenuNode, Group, GroupImpl, MenuAction, MenuModelRegistry, MenuNode, MenuNodeFactory, MutableCompoundMenuNode,
23
+ Submenu, SubmenuImpl, SubMenuLink
24
+ } from '../../../common';
25
+ import { ContextKeyServiceDummyImpl } from '../../context-key-service';
26
+ import { ContextMenuRenderer } from '../../context-menu-renderer';
27
+ import { Widget } from '../../widgets';
28
+ import { TOOLBAR_WRAPPER_ID_SUFFIX } from './tab-bar-toolbar-menu-adapters';
29
+ import { TabBarToolbarRegistry } from './tab-bar-toolbar-registry';
30
+ import { TAB_BAR_TOOLBAR_CONTEXT_MENU, TabBarToolbarAction } from './tab-bar-toolbar-types';
22
31
 
23
32
  disableJSDOM();
24
33
 
@@ -59,4 +68,153 @@ describe('tab-bar-toolbar', () => {
59
68
 
60
69
  });
61
70
 
71
+ describe('menu delegates', () => {
72
+
73
+ const TEST_MENU_PATH = ['test-toolbar-delegate'];
74
+ const TEST_COMMAND = 'test.toolbar.command';
75
+ const TEST_SUBMENU_COMMAND = 'test.toolbar.submenu.command';
76
+
77
+ let contextKeyService: ContextKeyServiceDummyImpl;
78
+
79
+ before(() => {
80
+ disableJSDOM = enableJSDOM();
81
+ });
82
+
83
+ beforeEach(() => {
84
+ contextKeyService = new ContextKeyServiceDummyImpl();
85
+ });
86
+
87
+ after(() => {
88
+ disableJSDOM();
89
+ });
90
+
91
+ it('passes the delegated widget to command visibility', () => {
92
+ const testWidget = new TestToolbarWidget();
93
+ const commands = createCommandRegistry();
94
+ commands.registerCommand({ id: TEST_COMMAND, label: 'Test Command' }, {
95
+ execute: () => { },
96
+ isVisible: widget => TestToolbarWidget.is(widget) && widget === testWidget
97
+ });
98
+ const menuRegistry = createMenuRegistry(commands);
99
+ menuRegistry.registerMenuAction([...TEST_MENU_PATH, 'other'], { commandId: TEST_COMMAND });
100
+ const registry = createToolbarRegistry(commands, menuRegistry, contextKeyService);
101
+ registry.registerMenuDelegate(TEST_MENU_PATH, TestToolbarWidget.is);
102
+
103
+ const commandItem = registry.visibleItems(testWidget).find(item => item.id === `${TEST_COMMAND}${TOOLBAR_WRAPPER_ID_SUFFIX}`);
104
+
105
+ expect(commandItem).to.exist;
106
+ testWidget.dispose();
107
+ });
108
+
109
+ it('preserves the widget for wrapped command menu visibility, enablement, toggled state, and execution', async () => {
110
+ const testWidget = new TestToolbarWidget();
111
+ let executedWith: unknown;
112
+ const commands = createCommandRegistry();
113
+ commands.registerCommand({ id: TEST_COMMAND, label: 'Test Command' }, {
114
+ execute: widget => executedWith = widget,
115
+ isVisible: widget => TestToolbarWidget.is(widget) && widget === testWidget,
116
+ isEnabled: widget => TestToolbarWidget.is(widget) && widget === testWidget,
117
+ isToggled: widget => TestToolbarWidget.is(widget) && widget === testWidget
118
+ });
119
+ const menuRegistry = createMenuRegistry(commands);
120
+ menuRegistry.registerMenuAction([...TEST_MENU_PATH, 'other'], { commandId: TEST_COMMAND });
121
+ const registry = createToolbarRegistry(commands, menuRegistry, contextKeyService);
122
+ registry.registerMenuDelegate(TEST_MENU_PATH, TestToolbarWidget.is);
123
+ const commandItem = registry.visibleItems(testWidget).find(item => item.id === `${TEST_COMMAND}${TOOLBAR_WRAPPER_ID_SUFFIX}`);
124
+ const node = commandItem?.toMenuNode?.();
125
+
126
+ expect(CommandMenu.is(node)).to.be.true;
127
+ if (!CommandMenu.is(node)) {
128
+ throw new Error('Expected a command menu node.');
129
+ }
130
+ expect(node.isVisible(TAB_BAR_TOOLBAR_CONTEXT_MENU, contextKeyService, testWidget.node, testWidget)).to.be.true;
131
+ expect(node.isEnabled(TAB_BAR_TOOLBAR_CONTEXT_MENU, testWidget)).to.be.true;
132
+ expect(node.isToggled(TAB_BAR_TOOLBAR_CONTEXT_MENU, testWidget)).to.be.true;
133
+ await node.run(TAB_BAR_TOOLBAR_CONTEXT_MENU, testWidget);
134
+ expect(executedWith).to.equal(testWidget);
135
+ testWidget.dispose();
136
+ });
137
+
138
+ it('preserves the widget for wrapped submenu emptiness checks', () => {
139
+ const testWidget = new TestToolbarWidget();
140
+ const commands = createCommandRegistry();
141
+ commands.registerCommand({ id: TEST_SUBMENU_COMMAND, label: 'Test Submenu Command' }, {
142
+ execute: () => { },
143
+ isVisible: widget => TestToolbarWidget.is(widget) && widget === testWidget
144
+ });
145
+ const menuRegistry = createMenuRegistry(commands);
146
+ menuRegistry.registerSubmenu([...TEST_MENU_PATH, 'other', 'test-submenu'], 'Test Submenu');
147
+ menuRegistry.registerMenuAction([...TEST_MENU_PATH, 'other', 'test-submenu'], { commandId: TEST_SUBMENU_COMMAND });
148
+ const registry = createToolbarRegistry(commands, menuRegistry, contextKeyService);
149
+ registry.registerMenuDelegate(TEST_MENU_PATH, TestToolbarWidget.is);
150
+ const submenuItem = registry.visibleItems(testWidget).find(item => item.id === `test-submenu${TOOLBAR_WRAPPER_ID_SUFFIX}`);
151
+ const node = submenuItem?.toMenuNode?.();
152
+
153
+ expect(CompoundMenuNode.is(node)).to.be.true;
154
+ if (!CompoundMenuNode.is(node)) {
155
+ throw new Error('Expected a compound menu node.');
156
+ }
157
+ expect(node.isEmpty(TAB_BAR_TOOLBAR_CONTEXT_MENU, contextKeyService, testWidget.node, testWidget)).to.be.false;
158
+ testWidget.dispose();
159
+ });
160
+
161
+ });
162
+
62
163
  });
164
+
165
+ class TestToolbarWidget extends Widget {
166
+ static is(candidate?: Widget): candidate is TestToolbarWidget {
167
+ return candidate instanceof TestToolbarWidget;
168
+ }
169
+ }
170
+
171
+ class TestMenuNodeFactory implements MenuNodeFactory {
172
+
173
+ constructor(protected readonly commands: CommandRegistry) { }
174
+
175
+ createGroup(id: string, orderString?: string, when?: string): Group & MutableCompoundMenuNode {
176
+ return new GroupImpl(id, orderString, when);
177
+ }
178
+
179
+ createSubmenu(id: string, label: string, contextKeyOverlays: Record<string, string> | undefined, orderString?: string, icon?: string, when?: string):
180
+ Submenu & MutableCompoundMenuNode {
181
+ return new SubmenuImpl(id, label, contextKeyOverlays, orderString, icon, when);
182
+ }
183
+
184
+ createSubmenuLink(delegate: Submenu, sortString?: string, when?: string): MenuNode {
185
+ return new SubMenuLink(delegate, sortString, when);
186
+ }
187
+
188
+ createCommandMenu(item: MenuAction): CommandMenu {
189
+ return {
190
+ isVisible: (_path, _contextMatcher, _context, ...args) => this.commands.isVisible(item.commandId, ...args),
191
+ isEnabled: (_path, ...args) => this.commands.isEnabled(item.commandId, ...args),
192
+ isToggled: (_path, ...args) => this.commands.isToggled(item.commandId, ...args),
193
+ id: item.commandId,
194
+ label: item.label || this.commands.getCommand(item.commandId)?.label || '',
195
+ icon: item.icon,
196
+ when: item.when,
197
+ sortString: item.order || '',
198
+ run: async (_path, ...args) => { await this.commands.executeCommand(item.commandId, ...args); }
199
+ };
200
+ }
201
+ }
202
+
203
+ function createCommandRegistry(): CommandRegistry {
204
+ return new CommandRegistry({ getContributions: () => [] });
205
+ }
206
+
207
+ function createMenuRegistry(commands: CommandRegistry): MenuModelRegistry {
208
+ return new MenuModelRegistry({ getContributions: () => [] }, commands, new TestMenuNodeFactory(commands));
209
+ }
210
+
211
+ function createToolbarRegistry(commands: CommandRegistry, menuRegistry: MenuModelRegistry, contextKeyService: ContextKeyServiceDummyImpl): TabBarToolbarRegistry {
212
+ const registry = new TabBarToolbarRegistry();
213
+ Reflect.set(registry, 'commandRegistry', commands);
214
+ Reflect.set(registry, 'contextKeyService', contextKeyService);
215
+ Reflect.set(registry, 'menuRegistry', menuRegistry);
216
+ Reflect.set(registry, 'keybindingRegistry', {});
217
+ Reflect.set(registry, 'labelParser', {});
218
+ Reflect.set(registry, 'contextMenuRenderer', { render: () => undefined } as unknown as ContextMenuRenderer);
219
+ return registry;
220
+ }
@@ -99,7 +99,7 @@ export class StatusBarImpl extends ReactWidget implements StatusBar {
99
99
  protected internalSetColor(color?: string): void {
100
100
  this.color = color;
101
101
  }
102
- protected render(): JSX.Element {
102
+ protected render(): React.JSX.Element {
103
103
  const leftEntries = Array.from(this.viewModel.getLeft(), entry => this.renderElement(entry));
104
104
  const rightEntries = Array.from(this.viewModel.getRight(), entry => this.renderElement(entry));
105
105
 
@@ -192,9 +192,9 @@ export class StatusBarImpl extends ReactWidget implements StatusBar {
192
192
  return attrs;
193
193
  }
194
194
 
195
- protected renderElement(entry: StatusBarViewEntry): JSX.Element {
195
+ protected renderElement(entry: StatusBarViewEntry): React.JSX.Element {
196
196
  const childStrings = this.entryService.parse(entry.entry.text);
197
- const children: JSX.Element[] = [];
197
+ const children: React.JSX.Element[] = [];
198
198
 
199
199
  childStrings.forEach((val, key) => {
200
200
  if (LabelIcon.is(val)) {
@@ -72,3 +72,21 @@ export function enableJSDOM(): () => void {
72
72
  };
73
73
  return disableJSDOM;
74
74
  }
75
+
76
+ /**
77
+ * Enables React's act test environment and restores the previous value when disposed.
78
+ */
79
+ export function enableReactActEnvironment(): () => void {
80
+ const reactActEnvironment = globalThis as typeof globalThis & { IS_REACT_ACT_ENVIRONMENT?: boolean };
81
+ const hadReactActEnvironment = Object.prototype.hasOwnProperty.call(reactActEnvironment, 'IS_REACT_ACT_ENVIRONMENT');
82
+ const previousReactActEnvironment = reactActEnvironment.IS_REACT_ACT_ENVIRONMENT;
83
+ reactActEnvironment.IS_REACT_ACT_ENVIRONMENT = true;
84
+
85
+ return () => {
86
+ if (hadReactActEnvironment) {
87
+ reactActEnvironment.IS_REACT_ACT_ENVIRONMENT = previousReactActEnvironment;
88
+ } else {
89
+ delete reactActEnvironment.IS_REACT_ACT_ENVIRONMENT;
90
+ }
91
+ };
92
+ }
@@ -545,7 +545,7 @@ export class TreeWidget extends ReactWidget implements StatefulWidget {
545
545
  return <this.ScrollingRowRenderer rows={rows} />;
546
546
  }
547
547
  return <TreeWidget.View
548
- ref={view => this.view = (view || undefined)}
548
+ ref={view => { this.view = (view || undefined); }}
549
549
  width={this.node.offsetWidth}
550
550
  height={this.node.offsetHeight}
551
551
  rows={rows}
@@ -1689,7 +1689,7 @@ export namespace TreeWidget {
1689
1689
  override render(): React.ReactNode {
1690
1690
  const { rows, width, height, scrollToRow, renderNodeRow, onScrollEmitter, ...other } = this.props;
1691
1691
  return <Virtuoso
1692
- ref={list => {
1692
+ ref={(list: VirtuosoHandle | null) => {
1693
1693
  this.list = (list || undefined);
1694
1694
  this.scrollIntoViewIfNeeded();
1695
1695
  }}
@@ -106,7 +106,13 @@ export class InjectablePreferenceProxy<T extends Record<string, JSONValue>> impl
106
106
  }
107
107
  }
108
108
 
109
- get(target: unknown, property: string, receiver: unknown): unknown {
109
+ get(target: unknown, property: string | symbol, receiver: unknown): unknown {
110
+ // React 19 dev mode calls Object.prototype.toString when handling prop diffs, which
111
+ // probes Symbol.toStringTag. Throwing should be avoided in this case, it crashes the React DOM.
112
+ if (property === Symbol.toStringTag) {
113
+ return undefined;
114
+ }
115
+
110
116
  if (typeof property !== 'string') {
111
117
  throw new Error(`Unexpected property: ${String(property)}`);
112
118
  }
@@ -156,7 +162,7 @@ export class InjectablePreferenceProxy<T extends Record<string, JSONValue>> impl
156
162
  }
157
163
  }
158
164
 
159
- set(target: unknown, property: string, value: unknown, receiver: unknown): boolean {
165
+ set(target: unknown, property: string | symbol, value: unknown, receiver: unknown): boolean {
160
166
  if (typeof property !== 'string') {
161
167
  throw new Error(`Unexpected property: ${String(property)}`);
162
168
  }
@@ -212,8 +218,8 @@ export class InjectablePreferenceProxy<T extends Record<string, JSONValue>> impl
212
218
  return properties;
213
219
  }
214
220
 
215
- getOwnPropertyDescriptor(target: unknown, property: string): PropertyDescriptor {
216
- if (this.ownKeys().includes(property)) {
221
+ getOwnPropertyDescriptor(target: unknown, property: string | symbol): PropertyDescriptor {
222
+ if (typeof property === 'string' && this.ownKeys().includes(property)) {
217
223
  return {
218
224
  enumerable: true,
219
225
  configurable: true