@theia/core 1.75.0-next.4 → 1.75.0-next.42
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 +15 -15
- package/lib/browser/authentication-service.js +1 -1
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/browser-clipboard-service.js +1 -0
- package/lib/browser/browser-clipboard-service.js.map +1 -1
- package/lib/browser/catalog.json +142 -37
- package/lib/browser/common-frontend-contribution.d.ts +3 -0
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +15 -3
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-frontend-contribution.spec.d.ts +2 -0
- package/lib/browser/common-frontend-contribution.spec.d.ts.map +1 -0
- package/lib/browser/common-frontend-contribution.spec.js +71 -0
- package/lib/browser/common-frontend-contribution.spec.js.map +1 -0
- package/lib/browser/connection-status-service.d.ts +1 -0
- package/lib/browser/connection-status-service.d.ts.map +1 -1
- package/lib/browser/connection-status-service.js +7 -0
- package/lib/browser/connection-status-service.js.map +1 -1
- package/lib/browser/frontend-application-contribution.d.ts +1 -1
- package/lib/browser/frontend-application-state.js +1 -0
- package/lib/browser/frontend-application-state.js.map +1 -1
- package/lib/browser/icon-theme-service.d.ts +5 -3
- package/lib/browser/icon-theme-service.d.ts.map +1 -1
- package/lib/browser/icon-theme-service.js +7 -1
- package/lib/browser/icon-theme-service.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.js +1 -0
- package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
- package/lib/browser/markdown-rendering/markdown-link-handler.d.ts +11 -0
- package/lib/browser/markdown-rendering/markdown-link-handler.d.ts.map +1 -1
- package/lib/browser/markdown-rendering/markdown-link-handler.js +23 -1
- package/lib/browser/markdown-rendering/markdown-link-handler.js.map +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.d.ts +11 -0
- package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.js +41 -0
- package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.spec.d.ts +2 -0
- package/lib/browser/markdown-rendering/markdown-renderer.spec.d.ts.map +1 -0
- package/lib/browser/markdown-rendering/markdown-renderer.spec.js +79 -0
- package/lib/browser/markdown-rendering/markdown-renderer.spec.js.map +1 -0
- package/lib/browser/messaging/ws-connection-source.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-source.js +3 -0
- package/lib/browser/messaging/ws-connection-source.js.map +1 -1
- package/lib/browser/open-with-service.d.ts +2 -1
- package/lib/browser/open-with-service.d.ts.map +1 -1
- package/lib/browser/open-with-service.js +6 -1
- package/lib/browser/open-with-service.js.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.d.ts +2 -1
- package/lib/browser/performance/frontend-stopwatch.d.ts.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.js +6 -1
- package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
- package/lib/browser/perspective-service.js +1 -1
- package/lib/browser/perspective-service.js.map +1 -1
- package/lib/browser/preferences/preference-proxy.spec.js +3 -0
- package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +3 -0
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.js +1 -1
- package/lib/browser/preferences/preference-validation-service.js.map +1 -1
- package/lib/browser/saveable-service.d.ts +2 -1
- package/lib/browser/saveable-service.d.ts.map +1 -1
- package/lib/browser/saveable-service.js +6 -1
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/shell/application-shell.js +3 -3
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/application-shell.spec.d.ts +2 -0
- package/lib/browser/shell/application-shell.spec.d.ts.map +1 -0
- package/lib/browser/shell/application-shell.spec.js +57 -0
- package/lib/browser/shell/application-shell.spec.js.map +1 -0
- package/lib/browser/shell/shell-layout-restorer.d.ts +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +5 -4
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +3 -2
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +2 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +6 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
- package/lib/browser/status-bar/status-bar-view-model.d.ts +2 -1
- package/lib/browser/status-bar/status-bar-view-model.d.ts.map +1 -1
- package/lib/browser/status-bar/status-bar-view-model.js +6 -1
- package/lib/browser/status-bar/status-bar-view-model.js.map +1 -1
- package/lib/browser/storage-service.d.ts +1 -1
- package/lib/browser/storage-service.d.ts.map +1 -1
- package/lib/browser/storage-service.js +1 -0
- package/lib/browser/storage-service.js.map +1 -1
- package/lib/browser/tree/tree-consistency.spec.js +103 -0
- package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
- package/lib/browser/tree/tree-model.d.ts.map +1 -1
- package/lib/browser/tree/tree-model.js +1 -0
- package/lib/browser/tree/tree-model.js.map +1 -1
- package/lib/browser/tree/tree.d.ts.map +1 -1
- package/lib/browser/tree/tree.js +6 -0
- package/lib/browser/tree/tree.js.map +1 -1
- package/lib/browser/widget-manager.js +1 -0
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +13 -0
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +44 -12
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/browser/window/default-secondary-window-service.d.ts +4 -1
- package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-secondary-window-service.js +17 -6
- package/lib/browser/window/default-secondary-window-service.js.map +1 -1
- package/lib/browser/window/default-window-service.d.ts +19 -0
- package/lib/browser/window/default-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-window-service.js +34 -5
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window/default-window-service.spec.js +22 -0
- package/lib/browser/window/default-window-service.spec.js.map +1 -1
- package/lib/browser/window/secondary-window-service.d.ts +7 -0
- package/lib/browser/window/secondary-window-service.d.ts.map +1 -1
- package/lib/browser/window/window-service.d.ts +1 -1
- package/lib/browser-only/frontend-only-application-module.d.ts.map +1 -1
- package/lib/browser-only/frontend-only-application-module.js +25 -1
- package/lib/browser-only/frontend-only-application-module.js.map +1 -1
- package/lib/common/command.d.ts +37 -0
- package/lib/common/command.d.ts.map +1 -1
- package/lib/common/command.js +74 -4
- package/lib/common/command.js.map +1 -1
- package/lib/common/command.spec.js +109 -0
- package/lib/common/command.spec.js.map +1 -1
- package/lib/common/message-service-protocol.d.ts +2 -0
- package/lib/common/message-service-protocol.d.ts.map +1 -1
- package/lib/common/message-service-protocol.js +8 -2
- package/lib/common/message-service-protocol.js.map +1 -1
- package/lib/common/performance/stopwatch.js +1 -0
- package/lib/common/performance/stopwatch.js.map +1 -1
- package/lib/common/preferences/preference-schema-service.d.ts +2 -0
- package/lib/common/preferences/preference-schema-service.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema-service.js +11 -5
- package/lib/common/preferences/preference-schema-service.js.map +1 -1
- package/lib/common/preferences/preference-service.d.ts +2 -0
- package/lib/common/preferences/preference-service.d.ts.map +1 -1
- package/lib/common/preferences/preference-service.js +7 -1
- package/lib/common/preferences/preference-service.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.js +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +3 -3
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/node/backend-application.js +5 -5
- package/lib/node/backend-application.js.map +1 -1
- package/lib/node/backend-application.spec.js +6 -3
- package/lib/node/backend-application.spec.js.map +1 -1
- package/lib/node/console-logger-server.d.ts.map +1 -1
- package/lib/node/console-logger-server.js +2 -0
- package/lib/node/console-logger-server.js.map +1 -1
- package/lib/node/env-variables/env-variables-server.d.ts +2 -0
- package/lib/node/env-variables/env-variables-server.d.ts.map +1 -1
- package/lib/node/env-variables/env-variables-server.js +7 -1
- package/lib/node/env-variables/env-variables-server.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.d.ts +2 -0
- package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
- package/lib/node/hosting/browser-connection-token.js +14 -1
- package/lib/node/hosting/browser-connection-token.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.spec.js +25 -2
- package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
- package/lib/node/key-store-server.d.ts +2 -0
- package/lib/node/key-store-server.d.ts.map +1 -1
- package/lib/node/key-store-server.js +6 -1
- package/lib/node/key-store-server.js.map +1 -1
- package/lib/node/logger-cli-contribution.d.ts.map +1 -1
- package/lib/node/logger-cli-contribution.js.map +1 -1
- package/lib/node/messaging/default-messaging-service.js +1 -1
- package/lib/node/messaging/default-messaging-service.js.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +1 -0
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/lib/node/messaging/websocket-endpoint.js +1 -1
- package/lib/node/messaging/websocket-endpoint.js.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts +2 -1
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +11 -6
- package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
- package/lib/node/setting-service.js +1 -0
- package/lib/node/setting-service.js.map +1 -1
- package/package.json +19 -19
- package/src/browser/authentication-service.ts +1 -1
- package/src/browser/browser-clipboard-service.ts +2 -2
- package/src/browser/common-frontend-contribution.spec.ts +84 -0
- package/src/browser/common-frontend-contribution.ts +15 -3
- package/src/browser/connection-status-service.ts +7 -3
- package/src/browser/frontend-application-contribution.ts +1 -1
- package/src/browser/frontend-application-state.ts +2 -2
- package/src/browser/icon-theme-service.ts +6 -2
- package/src/browser/keyboard/browser-keyboard-layout-provider.ts +2 -2
- package/src/browser/markdown-rendering/markdown-link-handler.ts +23 -1
- package/src/browser/markdown-rendering/markdown-renderer.spec.ts +88 -0
- package/src/browser/markdown-rendering/markdown-renderer.ts +43 -0
- package/src/browser/messaging/ws-connection-source.ts +4 -0
- package/src/browser/open-with-service.ts +6 -3
- package/src/browser/performance/frontend-stopwatch.ts +6 -3
- package/src/browser/perspective-service.ts +1 -1
- package/src/browser/preferences/preference-proxy.spec.ts +3 -0
- package/src/browser/preferences/preference-service.spec.ts +3 -0
- package/src/browser/preferences/preference-validation-service.ts +1 -1
- package/src/browser/saveable-service.ts +5 -2
- package/src/browser/shell/application-shell.spec.ts +62 -0
- package/src/browser/shell/application-shell.ts +4 -4
- package/src/browser/shell/shell-layout-restorer.ts +6 -5
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +3 -2
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +5 -2
- package/src/browser/status-bar/status-bar-view-model.ts +7 -3
- package/src/browser/storage-service.ts +4 -2
- package/src/browser/tree/tree-consistency.spec.ts +119 -0
- package/src/browser/tree/tree-model.ts +4 -2
- package/src/browser/tree/tree.ts +6 -0
- package/src/browser/widget-manager.ts +1 -1
- package/src/browser/widgets/select-component.tsx +49 -12
- package/src/browser/window/default-secondary-window-service.ts +17 -8
- package/src/browser/window/default-window-service.spec.ts +22 -0
- package/src/browser/window/default-window-service.ts +37 -5
- package/src/browser/window/secondary-window-service.ts +7 -0
- package/src/browser/window/window-service.ts +1 -1
- package/src/browser-only/frontend-only-application-module.ts +25 -1
- package/src/common/command.spec.ts +125 -0
- package/src/common/command.ts +77 -4
- package/src/common/i18n/nls.metadata.json +3933 -1186
- package/src/common/message-service-protocol.ts +7 -3
- package/src/common/performance/stopwatch.ts +2 -2
- package/src/common/preferences/preference-schema-service.ts +9 -5
- package/src/common/preferences/preference-service.ts +6 -2
- package/src/electron-browser/menu/electron-menu-contribution.ts +1 -1
- package/src/electron-browser/window/electron-secondary-window-service.ts +1 -1
- package/src/electron-browser/window/electron-window-service.ts +3 -3
- package/src/node/backend-application.spec.ts +6 -3
- package/src/node/backend-application.ts +5 -5
- package/src/node/console-logger-server.ts +3 -0
- package/src/node/env-variables/env-variables-server.ts +6 -2
- package/src/node/hosting/browser-connection-token.spec.ts +30 -3
- package/src/node/hosting/browser-connection-token.ts +13 -2
- package/src/node/key-store-server.ts +6 -3
- package/src/node/logger-cli-contribution.ts +3 -0
- package/src/node/messaging/default-messaging-service.ts +1 -1
- package/src/node/messaging/ipc-connection-provider.ts +2 -2
- package/src/node/messaging/websocket-endpoint.ts +1 -1
- package/src/node/messaging/websocket-frontend-connection-service.ts +11 -8
- package/src/node/setting-service.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-connection-provider.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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;;;;AAEhF,oCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"ipc-connection-provider.js","sourceRoot":"","sources":["../../../src/node/messaging/ipc-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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;;;;AAEhF,oCAAoC;AACpC,yCAAsD;AACtD,6BAA6B;AAC7B,uCAA2C;AAC3C,yCAA0G;AAC1G,+CAA2C;AAC3C,iDAA8C;AAgBvC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAK9B,MAAM,CAAC,OAA6B,EAAE,QAAuC;QACzE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,EAAE;YACR,GAAG,OAAO;SACb,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAES,QAAQ,CAAC,OAAqC,EAAE,QAAuC;QAC7F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,wBAAU,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAU,EAAE,EAAE;gBAC3B,UAAU,EAAE,CAAC;gBACb,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACX,CAAC;gBACD,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC/B,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,IAAI,CAAC,OAAqC;QAChD,MAAM,WAAW,GAAmB;YAChC,GAAG,EAAE,IAAA,2BAAY,EAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,EAAE;YACZ,uEAAuE;YACvE,gEAAgE;YAChE,+FAA+F;YAC/F,wEAAwE;YACxE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAsB,CAAC;SACjE,CAAC;QACF,MAAM,gBAAgB,GAAG,KAAK,OAAO,CAAC,UAAU,UAAU,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,YAAY,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE/F,IAAA,0BAAe,EAAC,YAAY,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACnI,IAAA,0BAAe,EAAC,YAAY,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,GAAG,eAAe,CAAC,CAAC;QAC9E,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QAE9G,OAAO,YAAY,CAAC;IACxB,CAAC;CAEJ,CAAA;AApEY,sDAAqB;AAGX;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,4BAA4B,CAAC;;qDAClB;gCAH1B,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAoEjC"}
|
|
@@ -40,7 +40,7 @@ let WebsocketEndpoint = class WebsocketEndpoint {
|
|
|
40
40
|
// eslint-disable-next-line no-null/no-null
|
|
41
41
|
const noError = null;
|
|
42
42
|
this.wsRequestValidator.allowWsUpgrade(req).then(allowed => callback(noError, allowed), error => {
|
|
43
|
-
|
|
43
|
+
this.logger.error('Error during WebSocket allowRequest validation:', error);
|
|
44
44
|
callback(error?.message ?? 'Validation error', false);
|
|
45
45
|
});
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-endpoint.js","sourceRoot":"","sources":["../../../src/node/messaging/websocket-endpoint.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;;;;AAKhF,yCAAsD;AACtD,yCAA2C;AAC3C,oEAA8D;AAC9D,+DAA0D;AAC1D,2EAAiE;AAEjE,gDAA8C;AAGvC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QAUO,sBAAiB,GAAG,KAAK,CAAC,CAAC,aAAa;QACxC,sBAAiB,GAAG,GAAG,CAAC,CAAC,SAAS;QAEzB,eAAU,GAAG,IAAI,8CAAkB,EAAU,CAAC;IAqDrE,CAAC;IAnDG,yBAAyB,CAAC,IAAY,EAAE,QAAuE;QAC3G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,MAAkC;QACtC,MAAM,YAAY,GAAG,IAAI,kBAAM,CAAC,MAAM,EAAE;YACpC,YAAY,EAAE,IAAI,CAAC,iBAAiB;YACpC,WAAW,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC5B,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5C,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EACrC,KAAK,CAAC,EAAE;oBACJ,
|
|
1
|
+
{"version":3,"file":"websocket-endpoint.js","sourceRoot":"","sources":["../../../src/node/messaging/websocket-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,11 @@ import { SocketWriteBuffer } from '../../common/messaging/socket-write-buffer';
|
|
|
7
7
|
import { FrontendConnectionService } from './frontend-connection-service';
|
|
8
8
|
import { AbstractChannel } from '../../common/message-rpc/channel';
|
|
9
9
|
import { WebsocketEndpoint } from './websocket-endpoint';
|
|
10
|
-
import { DisposableCollection } from '../../common';
|
|
10
|
+
import { DisposableCollection, ILogger } from '../../common';
|
|
11
11
|
export declare class WebsocketFrontendConnectionService implements FrontendConnectionService {
|
|
12
12
|
protected readonly websocketServer: WebsocketEndpoint;
|
|
13
13
|
protected readonly container: interfaces.Container;
|
|
14
|
+
protected readonly logger: ILogger;
|
|
14
15
|
protected readonly wsHandlers: ConnectionHandlers<unknown>;
|
|
15
16
|
protected readonly connectionsByFrontend: Map<string, ReconnectableSocketChannel>;
|
|
16
17
|
protected readonly closeTimeouts: Map<string, NodeJS.Timeout>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-frontend-connection-service.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/websocket-frontend-connection-service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAsB,UAAU,
|
|
1
|
+
{"version":3,"file":"websocket-frontend-connection-service.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/websocket-frontend-connection-service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAsB,UAAU,EAAS,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAc,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzE,qBACa,kCAAmC,YAAW,yBAAyB;IAGhF,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,UAAU,8BAA4B;IACzD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,0CAAiD;IACzF,SAAS,CAAC,QAAQ,CAAC,aAAa,8BAAqC;IACrE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,cAAqB;IAE9D,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;cAIxG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoClH,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAenE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,0BAA0B;IAS1F,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAqBrG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,yBAAyB;CAQpC;AAED,qBACa,0BAA2B,SAAQ,eAAe;IAC3D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAGrC,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAE1C,SAAS,CAAC,WAAW,uBAA8B;IAEnD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0B7B,UAAU,IAAI,IAAI;IAKlB,WAAW,IAAI,IAAI;IAIV,cAAc,IAAI,WAAW;CAWzC"}
|
|
@@ -54,7 +54,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
54
54
|
socket.off(connection_management_1.ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
55
55
|
const channel = this.connectionsByFrontend.get(frontEndId);
|
|
56
56
|
if (channel) {
|
|
57
|
-
|
|
57
|
+
this.logger.info(`Reconnecting to front end ${frontEndId}`);
|
|
58
58
|
socket.emit(connection_management_1.ConnectionManagementMessages.RECONNECT, true);
|
|
59
59
|
channel.connect(socket);
|
|
60
60
|
this.handleSocketDisconnect(socket, channel, frontEndId);
|
|
@@ -63,7 +63,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
63
63
|
this.closeTimeouts.delete(frontEndId);
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
|
|
66
|
+
this.logger.info(`Reconnecting failed for ${frontEndId}`);
|
|
67
67
|
socket.emit(connection_management_1.ConnectionManagementMessages.RECONNECT, false);
|
|
68
68
|
}
|
|
69
69
|
};
|
|
@@ -71,7 +71,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
71
71
|
socket.on(connection_management_1.ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
72
72
|
}
|
|
73
73
|
closeConnection(frontEndId, reason) {
|
|
74
|
-
|
|
74
|
+
this.logger.info(`closing connection for ${frontEndId}`);
|
|
75
75
|
const connection = this.connectionsByFrontend.get(frontEndId); // not called when no connection is present
|
|
76
76
|
this.connectionsByFrontend.delete(frontEndId);
|
|
77
77
|
const pendingTimeout = this.closeTimeouts.get(frontEndId);
|
|
@@ -82,7 +82,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
82
82
|
connection.close();
|
|
83
83
|
}
|
|
84
84
|
createConnection(socket, frontEndId) {
|
|
85
|
-
|
|
85
|
+
this.logger.info(`creating connection for ${frontEndId}`);
|
|
86
86
|
const channel = this.container.get(ReconnectableSocketChannel);
|
|
87
87
|
channel.connect(socket);
|
|
88
88
|
this.connectionsByFrontend.set(frontEndId, channel);
|
|
@@ -90,7 +90,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
90
90
|
}
|
|
91
91
|
handleSocketDisconnect(socket, channel, frontEndId) {
|
|
92
92
|
socket.on('disconnect', evt => {
|
|
93
|
-
|
|
93
|
+
this.logger.info('socket closed');
|
|
94
94
|
channel.disconnect();
|
|
95
95
|
const timeout = this.frontendConnectionTimeout();
|
|
96
96
|
const isMarkedForClose = this.channelsMarkedForClose.delete(frontEndId);
|
|
@@ -98,7 +98,7 @@ let WebsocketFrontendConnectionService = class WebsocketFrontendConnectionServic
|
|
|
98
98
|
this.closeConnection(frontEndId, evt);
|
|
99
99
|
}
|
|
100
100
|
else if (timeout > 0) {
|
|
101
|
-
|
|
101
|
+
this.logger.info(`setting close timeout for id ${frontEndId} to ${timeout}`);
|
|
102
102
|
const handle = setTimeout(() => {
|
|
103
103
|
this.closeConnection(frontEndId, evt);
|
|
104
104
|
}, timeout);
|
|
@@ -129,6 +129,11 @@ tslib_1.__decorate([
|
|
|
129
129
|
(0, inversify_1.inject)(default_messaging_service_1.MessagingContainer),
|
|
130
130
|
tslib_1.__metadata("design:type", Object)
|
|
131
131
|
], WebsocketFrontendConnectionService.prototype, "container", void 0);
|
|
132
|
+
tslib_1.__decorate([
|
|
133
|
+
(0, inversify_1.inject)(common_1.ILogger),
|
|
134
|
+
(0, inversify_1.named)('core:WebsocketFrontendConnectionService'),
|
|
135
|
+
tslib_1.__metadata("design:type", Object)
|
|
136
|
+
], WebsocketFrontendConnectionService.prototype, "logger", void 0);
|
|
132
137
|
exports.WebsocketFrontendConnectionService = WebsocketFrontendConnectionService = tslib_1.__decorate([
|
|
133
138
|
(0, inversify_1.injectable)()
|
|
134
139
|
], WebsocketFrontendConnectionService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-frontend-connection-service.js","sourceRoot":"","sources":["../../../src/node/messaging/websocket-frontend-connection-service.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;;;;AAIhF,
|
|
1
|
+
{"version":3,"file":"websocket-frontend-connection-service.js","sourceRoot":"","sources":["../../../src/node/messaging/websocket-frontend-connection-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,7 @@ let SettingServiceImpl = class SettingServiceImpl {
|
|
|
77
77
|
exports.SettingServiceImpl = SettingServiceImpl;
|
|
78
78
|
tslib_1.__decorate([
|
|
79
79
|
(0, inversify_1.inject)(common_1.ILogger),
|
|
80
|
+
(0, inversify_1.named)('core:SettingServiceImpl'),
|
|
80
81
|
tslib_1.__metadata("design:type", Object)
|
|
81
82
|
], SettingServiceImpl.prototype, "logger", void 0);
|
|
82
83
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting-service.js","sourceRoot":"","sources":["../../src/node/setting-service.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;;;;AAEhF,2BAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"setting-service.js","sourceRoot":"","sources":["../../src/node/setting-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.75.0-next.
|
|
3
|
+
"version": "1.75.0-next.42+a35c2a27e",
|
|
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
8
|
"@babel/runtime": "^7.29.7",
|
|
9
|
-
"@lumino/algorithm": "^2.0.
|
|
10
|
-
"@lumino/commands": "^2.3.
|
|
11
|
-
"@lumino/coreutils": "^2.2.
|
|
12
|
-
"@lumino/domutils": "^2.0.
|
|
13
|
-
"@lumino/dragdrop": "^2.1.
|
|
14
|
-
"@lumino/messaging": "^2.0.
|
|
15
|
-
"@lumino/properties": "^2.0.
|
|
16
|
-
"@lumino/signaling": "^2.1.
|
|
17
|
-
"@lumino/virtualdom": "^2.0.
|
|
9
|
+
"@lumino/algorithm": "^2.0.5",
|
|
10
|
+
"@lumino/commands": "^2.3.4",
|
|
11
|
+
"@lumino/coreutils": "^2.2.3",
|
|
12
|
+
"@lumino/domutils": "^2.0.5",
|
|
13
|
+
"@lumino/dragdrop": "^2.1.9",
|
|
14
|
+
"@lumino/messaging": "^2.0.5",
|
|
15
|
+
"@lumino/properties": "^2.0.5",
|
|
16
|
+
"@lumino/signaling": "^2.1.6",
|
|
17
|
+
"@lumino/virtualdom": "^2.0.5",
|
|
18
18
|
"@lumino/widgets": "2.7.5",
|
|
19
|
-
"@parcel/watcher": "^2.
|
|
20
|
-
"@theia/application-package": "1.75.0-next.
|
|
21
|
-
"@theia/request": "1.75.0-next.
|
|
19
|
+
"@parcel/watcher": "^2.6.0",
|
|
20
|
+
"@theia/application-package": "1.75.0-next.42+a35c2a27e",
|
|
21
|
+
"@theia/request": "1.75.0-next.42+a35c2a27e",
|
|
22
22
|
"@types/body-parser": "^1.19.6",
|
|
23
23
|
"@types/express": "^4.17.25",
|
|
24
24
|
"@types/fs-extra": "^4.0.15",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"@vscode/codicons": "0.0.45",
|
|
34
34
|
"ajv": "^6.15.0",
|
|
35
35
|
"async-mutex": "^0.4.1",
|
|
36
|
-
"body-parser": "^1.20.
|
|
36
|
+
"body-parser": "^1.20.6",
|
|
37
37
|
"cookie": "^1.1.1",
|
|
38
|
-
"dompurify": "^3.4.
|
|
38
|
+
"dompurify": "^3.4.13",
|
|
39
39
|
"drivelist": "^12.0.2",
|
|
40
40
|
"express": "^4.22.2",
|
|
41
41
|
"fast-json-stable-stringify": "^2.1.0",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"lodash.debounce": "^4.0.8",
|
|
53
53
|
"lodash.throttle": "^4.1.1",
|
|
54
54
|
"markdown-it": "^14.3.0",
|
|
55
|
-
"markdown-it-anchor": "^9.2.
|
|
56
|
-
"markdown-it-emoji": "^3.
|
|
55
|
+
"markdown-it-anchor": "^9.2.1",
|
|
56
|
+
"markdown-it-emoji": "^3.1.0",
|
|
57
57
|
"msgpackr": "^1.12.1",
|
|
58
58
|
"p-debounce": "^2.1.0",
|
|
59
59
|
"perfect-scrollbar": "1.5.5",
|
|
@@ -68,7 +68,7 @@
|
|
|
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.
|
|
71
|
+
"ws": "^8.21.3",
|
|
72
72
|
"yargs": "^17.7.3"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
@@ -230,5 +230,5 @@
|
|
|
230
230
|
"nyc": {
|
|
231
231
|
"extends": "../../configs/nyc.json"
|
|
232
232
|
},
|
|
233
|
-
"gitHead": "
|
|
233
|
+
"gitHead": "a35c2a27e7d62cc83409f5996cbb076adc61d667"
|
|
234
234
|
}
|
|
@@ -301,7 +301,7 @@ export class AuthenticationServiceImpl implements AuthenticationService {
|
|
|
301
301
|
this.onDidRegisterAuthenticationProviderEmitter.fire({ id, label: authenticationProvider.label });
|
|
302
302
|
|
|
303
303
|
this.updateAccountsMenuItem();
|
|
304
|
-
|
|
304
|
+
this.logger.info(`An authentication provider with id '${id}' was registered.`);
|
|
305
305
|
}
|
|
306
306
|
|
|
307
307
|
unregisterAuthenticationProvider(id: string): void {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject } from 'inversify';
|
|
17
|
+
import { injectable, inject, named } from 'inversify';
|
|
18
18
|
import { isFirefox } from './browser';
|
|
19
19
|
import { ClipboardService } from './clipboard-service';
|
|
20
20
|
import { Emitter, Event } from '../common/event';
|
|
@@ -39,7 +39,7 @@ export class BrowserClipboardService implements ClipboardService {
|
|
|
39
39
|
@inject(MessageService)
|
|
40
40
|
protected readonly messageService: MessageService;
|
|
41
41
|
|
|
42
|
-
@inject(ILogger)
|
|
42
|
+
@inject(ILogger) @named('core:BrowserClipboardService')
|
|
43
43
|
protected readonly logger: ILogger;
|
|
44
44
|
|
|
45
45
|
protected readonly onDidWriteTextEmitter = new Emitter<string>();
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
|
|
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 { FrontendApplicationConfigProvider } from './frontend-application-config-provider';
|
|
21
|
+
FrontendApplicationConfigProvider.set({});
|
|
22
|
+
|
|
23
|
+
// jsdom does not implement queryCommandSupported, which common-frontend-contribution
|
|
24
|
+
// evaluates at module load to determine cut/copy/paste support.
|
|
25
|
+
document.queryCommandSupported = () => false;
|
|
26
|
+
|
|
27
|
+
import * as chai from 'chai';
|
|
28
|
+
import { Emitter } from '../common/event';
|
|
29
|
+
// Initialize the common barrel before common-frontend-contribution: its import graph contains
|
|
30
|
+
// cycles through the barrel (e.g. shell/tab-bar-toolbar) that leave injection tokens undefined
|
|
31
|
+
// when the contribution module itself is the entry point.
|
|
32
|
+
import '../common';
|
|
33
|
+
import { CLASSNAME_OS_LINUX, CLASSNAME_OS_MAC, CLASSNAME_OS_WINDOWS, CommonFrontendContribution } from './common-frontend-contribution';
|
|
34
|
+
import { SecondaryWindowService } from './window/secondary-window-service';
|
|
35
|
+
|
|
36
|
+
disableJSDOM();
|
|
37
|
+
|
|
38
|
+
const expect = chai.expect;
|
|
39
|
+
const OS_CLASSNAMES = [CLASSNAME_OS_MAC, CLASSNAME_OS_WINDOWS, CLASSNAME_OS_LINUX];
|
|
40
|
+
|
|
41
|
+
describe('CommonFrontendContribution', () => {
|
|
42
|
+
|
|
43
|
+
before(() => {
|
|
44
|
+
disableJSDOM = enableJSDOM();
|
|
45
|
+
document.queryCommandSupported = () => false;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
after(() => {
|
|
49
|
+
disableJSDOM();
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
describe('setOsClass', () => {
|
|
53
|
+
|
|
54
|
+
let onWindowLoadedEmitter: Emitter<Window>;
|
|
55
|
+
let contribution: CommonFrontendContribution;
|
|
56
|
+
|
|
57
|
+
beforeEach(() => {
|
|
58
|
+
document.body.classList.remove(...OS_CLASSNAMES);
|
|
59
|
+
onWindowLoadedEmitter = new Emitter<Window>();
|
|
60
|
+
// Bypass the constructor: setOsClass only uses the secondary window service,
|
|
61
|
+
// and this keeps the test independent of the constructor's parameter list.
|
|
62
|
+
contribution = Object.create(CommonFrontendContribution.prototype);
|
|
63
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
64
|
+
(contribution as any).secondaryWindowService = <Partial<SecondaryWindowService>>{
|
|
65
|
+
onWindowLoaded: onWindowLoadedEmitter.event
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('adds the OS class to the main window body', () => {
|
|
70
|
+
contribution['setOsClass']();
|
|
71
|
+
expect(OS_CLASSNAMES.filter(c => document.body.classList.contains(c))).to.have.lengthOf(1);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('adds the OS class to a secondary window body once its document is loaded', () => {
|
|
75
|
+
contribution['setOsClass']();
|
|
76
|
+
const osClass = OS_CLASSNAMES.find(c => document.body.classList.contains(c))!;
|
|
77
|
+
|
|
78
|
+
const body = document.createElement('body');
|
|
79
|
+
const win = <Partial<Window>>{ document: <Partial<Document>>{ body } };
|
|
80
|
+
onWindowLoadedEmitter.fire(win as Window);
|
|
81
|
+
expect(body.classList.contains(osClass), 'class must be added to the loaded window').to.be.true;
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -61,6 +61,7 @@ import { nls } from '../common/nls';
|
|
|
61
61
|
import { CurrentWidgetCommandAdapter } from './shell/current-widget-command-adapter';
|
|
62
62
|
import { ConfirmDialog, confirmExit, ConfirmSaveDialog, Dialog } from './dialogs';
|
|
63
63
|
import { WindowService } from './window/window-service';
|
|
64
|
+
import { SecondaryWindowService } from './window/secondary-window-service';
|
|
64
65
|
import { FrontendApplicationConfigProvider } from './frontend-application-config-provider';
|
|
65
66
|
import { DecorationStyle } from './decoration-style';
|
|
66
67
|
import { codicon, isPinned, Title, togglePinned, Widget } from './widgets';
|
|
@@ -147,6 +148,9 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
147
148
|
@inject(WindowService)
|
|
148
149
|
protected readonly windowService: WindowService;
|
|
149
150
|
|
|
151
|
+
@inject(SecondaryWindowService)
|
|
152
|
+
protected readonly secondaryWindowService: SecondaryWindowService;
|
|
153
|
+
|
|
150
154
|
@inject(UserWorkingDirectoryProvider)
|
|
151
155
|
protected readonly workingDirProvider: UserWorkingDirectoryProvider;
|
|
152
156
|
|
|
@@ -218,12 +222,20 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
218
222
|
}
|
|
219
223
|
|
|
220
224
|
protected setOsClass(): void {
|
|
225
|
+
const osClass = this.getOsClass();
|
|
226
|
+
document.body.classList.add(osClass);
|
|
227
|
+
// The OS class selects the platform-specific font stacks in os.css. Secondary windows
|
|
228
|
+
// have their own document, so apply it there as well.
|
|
229
|
+
this.secondaryWindowService.onWindowLoaded(win => win.document.body.classList.add(osClass));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
protected getOsClass(): string {
|
|
221
233
|
if (isOSX) {
|
|
222
|
-
|
|
234
|
+
return CLASSNAME_OS_MAC;
|
|
223
235
|
} else if (isWindows) {
|
|
224
|
-
|
|
236
|
+
return CLASSNAME_OS_WINDOWS;
|
|
225
237
|
} else {
|
|
226
|
-
|
|
238
|
+
return CLASSNAME_OS_LINUX;
|
|
227
239
|
}
|
|
228
240
|
}
|
|
229
241
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { inject, injectable, optional, postConstruct } from 'inversify';
|
|
17
|
+
import { inject, injectable, optional, postConstruct, named } from 'inversify';
|
|
18
18
|
import { ILogger } from '../common/logger';
|
|
19
19
|
import { Event, Emitter } from '../common/event';
|
|
20
20
|
import { DefaultFrontendApplicationContribution } from './frontend-application-contribution';
|
|
@@ -82,7 +82,7 @@ export abstract class AbstractConnectionStatusService implements ConnectionStatu
|
|
|
82
82
|
|
|
83
83
|
protected connectionStatus: ConnectionStatus = ConnectionStatus.ONLINE;
|
|
84
84
|
|
|
85
|
-
@inject(ILogger)
|
|
85
|
+
@inject(ILogger) @named('core:AbstractConnectionStatusService')
|
|
86
86
|
protected logger: ILogger;
|
|
87
87
|
|
|
88
88
|
constructor(@inject(ConnectionStatusOptions) @optional() protected readonly options: ConnectionStatusOptions = ConnectionStatusOptions.DEFAULT) { }
|
|
@@ -122,6 +122,9 @@ export class FrontendConnectionStatusService extends AbstractConnectionStatusSer
|
|
|
122
122
|
@inject(WebSocketConnectionSource) protected readonly wsConnectionProvider: WebSocketConnectionSource;
|
|
123
123
|
@inject(PingService) protected readonly pingService: PingService;
|
|
124
124
|
|
|
125
|
+
@inject(ILogger) @named('core:FrontendConnectionStatusService')
|
|
126
|
+
protected override readonly logger: ILogger;
|
|
127
|
+
|
|
125
128
|
@postConstruct()
|
|
126
129
|
protected init(): void {
|
|
127
130
|
this.wsConnectionProvider.onSocketDidOpen(() => {
|
|
@@ -177,7 +180,8 @@ export class ApplicationConnectionStatusContribution extends DefaultFrontendAppl
|
|
|
177
180
|
constructor(
|
|
178
181
|
@inject(ConnectionStatusService) protected readonly connectionStatusService: ConnectionStatusService,
|
|
179
182
|
@inject(StatusBar) protected readonly statusBar: StatusBar,
|
|
180
|
-
@inject(ILogger)
|
|
183
|
+
@inject(ILogger) @named('core:ApplicationConnectionStatusContribution')
|
|
184
|
+
protected readonly logger: ILogger
|
|
181
185
|
) {
|
|
182
186
|
super();
|
|
183
187
|
this.connectionStatusService.onStatusChange(state => this.onStateChange(state));
|
|
@@ -52,7 +52,7 @@ export interface FrontendApplicationContribution {
|
|
|
52
52
|
/**
|
|
53
53
|
* Called when an application is stopped or unloaded.
|
|
54
54
|
*
|
|
55
|
-
* Note that this is implemented using `window.
|
|
55
|
+
* Note that this is implemented using `window.pagehide` which doesn't allow any asynchronous code anymore.
|
|
56
56
|
* I.e. this is the last tick.
|
|
57
57
|
*/
|
|
58
58
|
onStop?(app: FrontendApplication): void;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject } from 'inversify';
|
|
17
|
+
import { injectable, inject, named } from 'inversify';
|
|
18
18
|
import { Emitter, Event } from '../common/event';
|
|
19
19
|
import { Deferred } from '../common/promise-util';
|
|
20
20
|
import { ILogger } from '../common/logger';
|
|
@@ -25,7 +25,7 @@ export { FrontendApplicationState };
|
|
|
25
25
|
@injectable()
|
|
26
26
|
export class FrontendApplicationStateService {
|
|
27
27
|
|
|
28
|
-
@inject(ILogger)
|
|
28
|
+
@inject(ILogger) @named('core:FrontendApplicationStateService')
|
|
29
29
|
protected readonly logger: ILogger;
|
|
30
30
|
|
|
31
31
|
private _state: FrontendApplicationState = 'init';
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject, postConstruct } from 'inversify';
|
|
17
|
+
import { injectable, inject, postConstruct, named } from 'inversify';
|
|
18
18
|
import { Emitter } from '../common/event';
|
|
19
19
|
import { Disposable, DisposableCollection } from '../common/disposable';
|
|
20
20
|
import { LabelProviderContribution, DidChangeLabelEvent } from './label-provider';
|
|
@@ -22,6 +22,7 @@ import { FrontendApplicationConfigProvider } from './frontend-application-config
|
|
|
22
22
|
import debounce = require('lodash.debounce');
|
|
23
23
|
import { PreferenceSchemaService } from '../common/preferences/preference-schema';
|
|
24
24
|
import { PreferenceService } from '../common/preferences';
|
|
25
|
+
import { ILogger } from '../common';
|
|
25
26
|
|
|
26
27
|
const ICON_THEME_PREFERENCE_KEY = 'workbench.iconTheme';
|
|
27
28
|
|
|
@@ -100,6 +101,9 @@ export class IconThemeService {
|
|
|
100
101
|
@inject(PreferenceService) protected readonly preferences: PreferenceService;
|
|
101
102
|
@inject(PreferenceSchemaService) protected readonly schemaProvider: PreferenceSchemaService;
|
|
102
103
|
|
|
104
|
+
@inject(ILogger) @named('core:IconThemeService')
|
|
105
|
+
protected readonly logger: ILogger;
|
|
106
|
+
|
|
103
107
|
protected readonly onDidChangeCurrentEmitter = new Emitter<string>();
|
|
104
108
|
readonly onDidChangeCurrent = this.onDidChangeCurrentEmitter.event;
|
|
105
109
|
|
|
@@ -124,7 +128,7 @@ export class IconThemeService {
|
|
|
124
128
|
|
|
125
129
|
register(iconTheme: IconTheme): Disposable {
|
|
126
130
|
if (this._iconThemes.has(iconTheme.id)) {
|
|
127
|
-
|
|
131
|
+
this.logger.warn(new Error(`Icon theme '${iconTheme.id}' has already been registered, skipping.`));
|
|
128
132
|
return Disposable.NULL;
|
|
129
133
|
}
|
|
130
134
|
this._iconThemes.set(iconTheme.id, iconTheme);
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, postConstruct, inject } from 'inversify';
|
|
17
|
+
import { injectable, postConstruct, inject, named } from 'inversify';
|
|
18
18
|
import { isOSX } from '../../common/os';
|
|
19
19
|
import { Emitter, Event } from '../../common/event';
|
|
20
20
|
import { ILogger } from '../../common/logger';
|
|
@@ -29,7 +29,7 @@ export type KeyboardLayoutSource = 'navigator.keyboard' | 'user-choice' | 'press
|
|
|
29
29
|
@injectable()
|
|
30
30
|
export class BrowserKeyboardLayoutProvider implements KeyboardLayoutProvider, KeyboardLayoutChangeNotifier, KeyValidator {
|
|
31
31
|
|
|
32
|
-
@inject(ILogger)
|
|
32
|
+
@inject(ILogger) @named('core:BrowserKeyboardLayoutProvider')
|
|
33
33
|
protected readonly logger: ILogger;
|
|
34
34
|
|
|
35
35
|
@inject(LocalStorageService)
|
|
@@ -19,6 +19,19 @@ import { MarkdownString } from '../../common/markdown-rendering/markdown-string'
|
|
|
19
19
|
import URI from '../../common/uri';
|
|
20
20
|
import { open, OpenerService } from '../opener-service';
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Marks an element whose markdown links are already routed through an {@link OpenerService}.
|
|
24
|
+
*
|
|
25
|
+
* Renderers that install their own link handling declare it with {@link markMarkdownLinksWired},
|
|
26
|
+
* so that {@link wireMarkdownLinkHandler} does not add a second handler and open every link twice.
|
|
27
|
+
*/
|
|
28
|
+
export const MARKDOWN_LINKS_WIRED_ATTRIBUTE = 'data-theia-markdown-links-wired';
|
|
29
|
+
|
|
30
|
+
/** Declares that the element's markdown links are already routed through an {@link OpenerService}. */
|
|
31
|
+
export function markMarkdownLinksWired(root: HTMLElement): void {
|
|
32
|
+
root.setAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE, 'true');
|
|
33
|
+
}
|
|
34
|
+
|
|
22
35
|
/**
|
|
23
36
|
* Wires up anchor clicks inside a rendered markdown element so that they are routed
|
|
24
37
|
* through the {@link OpenerService} instead of relying on default browser navigation.
|
|
@@ -27,6 +40,8 @@ import { open, OpenerService } from '../opener-service';
|
|
|
27
40
|
* Also sets the `title` attribute on each anchor to its `href` (when no title is set)
|
|
28
41
|
* so users can hover to see the link target.
|
|
29
42
|
*
|
|
43
|
+
* Does nothing if the element's links are already wired, see {@link markMarkdownLinksWired}.
|
|
44
|
+
*
|
|
30
45
|
* @returns a {@link Disposable} that removes the click listener.
|
|
31
46
|
*/
|
|
32
47
|
export function wireMarkdownLinkHandler(
|
|
@@ -34,6 +49,10 @@ export function wireMarkdownLinkHandler(
|
|
|
34
49
|
source: MarkdownString,
|
|
35
50
|
openerService: OpenerService
|
|
36
51
|
): Disposable {
|
|
52
|
+
if (root.hasAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE)) {
|
|
53
|
+
return Disposable.NULL;
|
|
54
|
+
}
|
|
55
|
+
markMarkdownLinksWired(root);
|
|
37
56
|
for (const anchor of root.querySelectorAll('a')) {
|
|
38
57
|
const href = anchor.getAttribute('href');
|
|
39
58
|
if (href && !anchor.hasAttribute('title')) {
|
|
@@ -57,5 +76,8 @@ export function wireMarkdownLinkHandler(
|
|
|
57
76
|
}
|
|
58
77
|
};
|
|
59
78
|
root.addEventListener('click', handleClick);
|
|
60
|
-
return Disposable.create(() =>
|
|
79
|
+
return Disposable.create(() => {
|
|
80
|
+
root.removeEventListener('click', handleClick);
|
|
81
|
+
root.removeAttribute(MARKDOWN_LINKS_WIRED_ATTRIBUTE);
|
|
82
|
+
});
|
|
61
83
|
}
|