@theia/core 1.53.0-next.4 → 1.53.0-next.55
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 +7 -7
- package/i18n/nls.cs.json +582 -552
- package/i18n/nls.de.json +582 -552
- package/i18n/nls.es.json +582 -552
- package/i18n/nls.fr.json +582 -552
- package/i18n/nls.hu.json +582 -552
- package/i18n/nls.it.json +582 -552
- package/i18n/nls.ja.json +582 -552
- package/i18n/nls.json +582 -552
- package/i18n/nls.ko.json +582 -0
- package/i18n/nls.pl.json +582 -552
- package/i18n/nls.pt-br.json +582 -552
- package/i18n/nls.ru.json +582 -552
- package/i18n/nls.tr.json +582 -0
- package/i18n/nls.zh-cn.json +582 -552
- package/i18n/nls.zh-tw.json +582 -0
- package/lib/browser/authentication-service.d.ts +15 -14
- package/lib/browser/authentication-service.d.ts.map +1 -1
- package/lib/browser/authentication-service.js +5 -5
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/catalog.json +6889 -0
- package/lib/browser/common-frontend-contribution.js +3 -3
- package/lib/browser/common-styling-participants.js +166 -166
- package/lib/browser/context-key-service.d.ts +3 -2
- package/lib/browser/context-key-service.d.ts.map +1 -1
- package/lib/browser/context-key-service.js.map +1 -1
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +9 -0
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/json-schema-store.d.ts +0 -3
- package/lib/browser/json-schema-store.d.ts.map +1 -1
- package/lib/browser/json-schema-store.js +2 -12
- package/lib/browser/json-schema-store.js.map +1 -1
- package/lib/browser/open-with-service.d.ts +13 -1
- package/lib/browser/open-with-service.d.ts.map +1 -1
- package/lib/browser/open-with-service.js +48 -9
- package/lib/browser/open-with-service.js.map +1 -1
- package/lib/browser/opener-service.d.ts +8 -0
- package/lib/browser/opener-service.d.ts.map +1 -1
- package/lib/browser/opener-service.js +18 -3
- package/lib/browser/opener-service.js.map +1 -1
- package/lib/browser/progress-location-service.spec.js +7 -7
- package/lib/browser/saveable-service.d.ts.map +1 -1
- package/lib/browser/saveable-service.js +6 -2
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/saveable.d.ts +17 -1
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +62 -1
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +5 -4
- 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 +2 -1
- 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 +6 -16
- 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 +12 -29
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +43 -78
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +8 -39
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +10 -10
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +43 -32
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/storage-service.js +3 -3
- package/lib/browser/tree/tree.spec.js +75 -75
- package/lib/browser/view-container.d.ts +2 -2
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-open-handler.d.ts +4 -1
- package/lib/browser/widget-open-handler.d.ts.map +1 -1
- package/lib/browser/widget-open-handler.js.map +1 -1
- package/lib/browser/widgets/extractable-widget.js +1 -1
- package/lib/browser/widgets/extractable-widget.js.map +1 -1
- package/lib/browser/widgets/index.d.ts +1 -0
- package/lib/browser/widgets/index.d.ts.map +1 -1
- package/lib/browser/widgets/index.js +1 -0
- package/lib/browser/widgets/index.js.map +1 -1
- package/lib/browser/widgets/split-widget.d.ts +45 -0
- package/lib/browser/widgets/split-widget.d.ts.map +1 -0
- package/lib/browser/widgets/split-widget.js +126 -0
- package/lib/browser/widgets/split-widget.js.map +1 -0
- package/lib/common/event.d.ts +2 -0
- package/lib/common/event.d.ts.map +1 -1
- package/lib/common/event.js +4 -0
- package/lib/common/event.js.map +1 -1
- package/lib/common/glob.d.ts +4 -4
- package/lib/common/json-schema.d.ts +2 -0
- package/lib/common/json-schema.d.ts.map +1 -1
- package/lib/common/menu/menu-types.d.ts.map +1 -1
- package/lib/common/menu/menu-types.js.map +1 -1
- package/lib/electron-browser/electron-uri-handler.d.ts +6 -0
- package/lib/electron-browser/electron-uri-handler.d.ts.map +1 -0
- package/lib/electron-browser/electron-uri-handler.js +49 -0
- package/lib/electron-browser/electron-uri-handler.js.map +1 -0
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +6 -6
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/preload.d.ts.map +1 -1
- package/lib/electron-browser/preload.js +12 -0
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-module.js +3 -0
- package/lib/electron-browser/window/electron-window-module.js.map +1 -1
- package/lib/electron-browser/window/external-app-open-handler.js +1 -1
- package/lib/electron-browser/window/external-app-open-handler.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +2 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -1
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts +2 -0
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +27 -3
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +5 -3
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +57 -14
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts +1 -0
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +3 -0
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/i18n/theia-localization-contribution.d.ts.map +1 -1
- package/lib/node/i18n/theia-localization-contribution.js +12 -8
- package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
- package/lib/node/process-utils.spec.js +8 -8
- package/package.json +10 -8
- package/shared/ajv/index.d.ts +2 -2
- package/shared/markdown-it.d.ts +2 -2
- package/shared/markdown-it.js +1 -1
- package/shared/reflect-metadata/index.d.ts +1 -1
- package/shared/reflect-metadata/index.js +1 -1
- package/shared/vscode-languageserver-types/index.d.ts +1 -1
- package/src/browser/about-dialog.tsx +137 -137
- package/src/browser/authentication-service.ts +467 -468
- package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
- package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
- package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
- package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
- package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
- package/src/browser/breadcrumbs/index.ts +21 -21
- package/src/browser/browser-clipboard-service.ts +122 -122
- package/src/browser/browser.ts +239 -239
- package/src/browser/clipboard-service.ts +23 -23
- package/src/browser/color-application-contribution.ts +110 -110
- package/src/browser/color-registry.ts +60 -60
- package/src/browser/command-open-handler.ts +54 -54
- package/src/browser/common-frontend-contribution.ts +2680 -2680
- package/src/browser/common-styling-participants.ts +361 -361
- package/src/browser/connection-status-service.spec.ts +200 -200
- package/src/browser/connection-status-service.ts +216 -216
- package/src/browser/context-key-service.ts +142 -142
- package/src/browser/context-menu-renderer.ts +124 -124
- package/src/browser/core-preferences.ts +343 -334
- package/src/browser/credentials-service.ts +106 -106
- package/src/browser/decoration-style.ts +65 -65
- package/src/browser/decorations-service.ts +209 -209
- package/src/browser/dialogs/react-dialog.tsx +56 -56
- package/src/browser/dialogs.ts +534 -534
- package/src/browser/diff-uris.ts +117 -117
- package/src/browser/encoding-registry.ts +97 -97
- package/src/browser/endpoint.spec.ts +148 -148
- package/src/browser/endpoint.ts +136 -136
- package/src/browser/external-uri-service.ts +79 -79
- package/src/browser/file-icons-js.d.ts +20 -20
- package/src/browser/frontend-application-bindings.ts +62 -62
- package/src/browser/frontend-application-config-provider.spec.ts +45 -45
- package/src/browser/frontend-application-config-provider.ts +50 -50
- package/src/browser/frontend-application-contribution.ts +110 -110
- package/src/browser/frontend-application-module.ts +474 -475
- package/src/browser/frontend-application-state.ts +74 -74
- package/src/browser/frontend-application.ts +326 -326
- package/src/browser/hover-service.ts +218 -218
- package/src/browser/http-open-handler.ts +49 -49
- package/src/browser/i18n/i18n-frontend-module.ts +27 -27
- package/src/browser/i18n/language-quick-pick-service.ts +130 -130
- package/src/browser/icon-registry.ts +87 -87
- package/src/browser/icon-theme-contribution.ts +64 -64
- package/src/browser/icon-theme-service.ts +217 -217
- package/src/browser/icons/CollapseAll.svg +7 -7
- package/src/browser/icons/CollapseAll_inverse.svg +7 -7
- package/src/browser/icons/Refresh.svg +7 -7
- package/src/browser/icons/Refresh_inverse.svg +7 -7
- package/src/browser/icons/add-inverse.svg +4 -4
- package/src/browser/icons/add.svg +4 -4
- package/src/browser/icons/arrow-down-bright.svg +6 -6
- package/src/browser/icons/arrow-down-dark.svg +6 -6
- package/src/browser/icons/arrow-up-bright.svg +6 -6
- package/src/browser/icons/arrow-up-dark.svg +6 -6
- package/src/browser/icons/case-sensitive-dark.svg +16 -16
- package/src/browser/icons/case-sensitive.svg +16 -16
- package/src/browser/icons/chevron-right-dark.svg +5 -5
- package/src/browser/icons/chevron-right-light.svg +6 -6
- package/src/browser/icons/circle-bright.svg +7 -7
- package/src/browser/icons/circle-dark.svg +7 -7
- package/src/browser/icons/clear-search-results-dark.svg +7 -7
- package/src/browser/icons/clear-search-results.svg +7 -7
- package/src/browser/icons/close-all-bright.svg +7 -7
- package/src/browser/icons/close-all-dark.svg +7 -7
- package/src/browser/icons/close-bright.svg +7 -7
- package/src/browser/icons/close-dark.svg +7 -7
- package/src/browser/icons/collapse.svg +4 -4
- package/src/browser/icons/edit-json-dark.svg +6 -6
- package/src/browser/icons/edit-json.svg +6 -6
- package/src/browser/icons/expand.svg +4 -4
- package/src/browser/icons/loading-dark.svg +6 -6
- package/src/browser/icons/loading-light.svg +6 -6
- package/src/browser/icons/open-change-bright.svg +3 -3
- package/src/browser/icons/open-change-dark.svg +4 -4
- package/src/browser/icons/open-file-bright.svg +4 -4
- package/src/browser/icons/open-file-dark.svg +4 -4
- package/src/browser/icons/preview-bright.svg +3 -3
- package/src/browser/icons/preview-dark.svg +3 -3
- package/src/browser/icons/regex-dark.svg +10 -10
- package/src/browser/icons/regex.svg +10 -10
- package/src/browser/icons/remove-all-inverse.svg +4 -4
- package/src/browser/icons/remove-all.svg +4 -4
- package/src/browser/icons/replace-all-inverse.svg +13 -13
- package/src/browser/icons/replace-all.svg +13 -13
- package/src/browser/icons/replace-inverse.svg +15 -15
- package/src/browser/icons/replace.svg +15 -15
- package/src/browser/icons/whole-word-dark.svg +19 -19
- package/src/browser/icons/whole-word.svg +19 -19
- package/src/browser/index.ts +50 -50
- package/src/browser/json-schema-store.ts +118 -127
- package/src/browser/keybinding.spec.ts +554 -554
- package/src/browser/keybinding.ts +759 -759
- package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
- package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
- package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
- package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
- package/src/browser/keyboard/index.ts +20 -20
- package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
- package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
- package/src/browser/keyboard/keys.spec.ts +258 -258
- package/src/browser/keyboard/keys.ts +20 -20
- package/src/browser/keys.ts +21 -21
- package/src/browser/label-parser.spec.ts +165 -165
- package/src/browser/label-parser.ts +108 -108
- package/src/browser/label-provider.spec.ts +62 -62
- package/src/browser/label-provider.ts +385 -385
- package/src/browser/language-icon-provider.ts +55 -55
- package/src/browser/language-service.ts +77 -77
- package/src/browser/logger-frontend-module.ts +65 -65
- package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
- package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
- package/src/browser/menu/browser-menu-module.ts +28 -28
- package/src/browser/menu/browser-menu-plugin.ts +491 -491
- package/src/browser/menu/context-menu-context.ts +41 -41
- package/src/browser/messaging/connection-source.ts +26 -26
- package/src/browser/messaging/frontend-id-provider.ts +37 -37
- package/src/browser/messaging/index.ts +18 -18
- package/src/browser/messaging/messaging-frontend-module.ts +41 -41
- package/src/browser/messaging/service-connection-provider.ts +140 -140
- package/src/browser/messaging/ws-connection-provider.ts +49 -49
- package/src/browser/messaging/ws-connection-source.ts +230 -230
- package/src/browser/mime-service.ts +30 -30
- package/src/browser/navigatable-types.ts +81 -81
- package/src/browser/navigatable.ts +39 -39
- package/src/browser/open-with-service.ts +140 -93
- package/src/browser/opener-service.spec.ts +49 -49
- package/src/browser/opener-service.ts +169 -146
- package/src/browser/performance/frontend-stopwatch.ts +65 -65
- package/src/browser/performance/index.ts +18 -18
- package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
- package/src/browser/preferences/index.ts +23 -23
- package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
- package/src/browser/preferences/preference-configurations.ts +82 -82
- package/src/browser/preferences/preference-contribution.ts +436 -436
- package/src/browser/preferences/preference-language-override-service.ts +111 -111
- package/src/browser/preferences/preference-provider.spec.ts +36 -36
- package/src/browser/preferences/preference-provider.ts +277 -277
- package/src/browser/preferences/preference-proxy.spec.ts +367 -367
- package/src/browser/preferences/preference-proxy.ts +367 -367
- package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
- package/src/browser/preferences/preference-scope.ts +18 -18
- package/src/browser/preferences/preference-service.spec.ts +613 -613
- package/src/browser/preferences/preference-service.ts +594 -594
- package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
- package/src/browser/preferences/preference-validation-service.ts +358 -358
- package/src/browser/preferences/test/index.ts +19 -19
- package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
- package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
- package/src/browser/preferences/test/mock-preference-service.ts +63 -63
- package/src/browser/preload/i18n-preload-contribution.ts +50 -50
- package/src/browser/preload/os-preload-contribution.ts +37 -37
- package/src/browser/preload/preload-module.ts +45 -45
- package/src/browser/preload/preloader.ts +37 -37
- package/src/browser/preload/theme-preload-contribution.ts +31 -31
- package/src/browser/progress-bar-factory.ts +29 -29
- package/src/browser/progress-bar.ts +76 -76
- package/src/browser/progress-client.ts +53 -53
- package/src/browser/progress-location-service.spec.ts +50 -50
- package/src/browser/progress-location-service.ts +96 -96
- package/src/browser/progress-status-bar-item.ts +83 -83
- package/src/browser/quick-input/index.ts +23 -23
- package/src/browser/quick-input/quick-access.ts +75 -75
- package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
- package/src/browser/quick-input/quick-command-service.ts +246 -246
- package/src/browser/quick-input/quick-help-service.ts +87 -87
- package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
- package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
- package/src/browser/quick-input/quick-input-service.ts +17 -17
- package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
- package/src/browser/quick-input/quick-view-service.ts +83 -83
- package/src/browser/request/browser-request-module.ts +23 -23
- package/src/browser/request/browser-request-service.ts +172 -172
- package/src/browser/resource-context-key.ts +77 -77
- package/src/browser/saveable-service.ts +332 -328
- package/src/browser/saveable.ts +395 -327
- package/src/browser/secondary-window-handler.ts +211 -211
- package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
- package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
- package/src/browser/shell/application-shell.ts +2271 -2271
- package/src/browser/shell/current-widget-command-adapter.ts +57 -57
- package/src/browser/shell/index.ts +23 -23
- package/src/browser/shell/shell-layout-restorer.ts +399 -399
- package/src/browser/shell/side-panel-handler.ts +794 -794
- package/src/browser/shell/side-panel-toolbar.ts +111 -111
- package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
- package/src/browser/shell/sidebar-menu-widget.tsx +183 -183
- package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
- package/src/browser/shell/split-panels.ts +191 -191
- package/src/browser/shell/tab-bar-decorator.ts +106 -106
- package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +242 -256
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -207
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +443 -428
- package/src/browser/shell/tab-bars.spec.ts +63 -63
- package/src/browser/shell/tab-bars.ts +1468 -1468
- package/src/browser/shell/theia-dock-panel.ts +265 -265
- package/src/browser/shell/view-column-service.ts +125 -125
- package/src/browser/shell/view-contribution.ts +178 -178
- package/src/browser/source-tree/index.ts +19 -19
- package/src/browser/source-tree/source-tree-widget.tsx +107 -107
- package/src/browser/source-tree/source-tree.ts +146 -146
- package/src/browser/source-tree/tree-source.ts +73 -73
- package/src/browser/status-bar/index.ts +29 -29
- package/src/browser/status-bar/status-bar-types.ts +97 -97
- package/src/browser/status-bar/status-bar-view-model.ts +209 -209
- package/src/browser/status-bar/status-bar.tsx +189 -189
- package/src/browser/storage-service.spec.ts +76 -76
- package/src/browser/storage-service.ts +129 -129
- package/src/browser/style/about.css +36 -36
- package/src/browser/style/alert-messages.css +62 -62
- package/src/browser/style/ansi.css +88 -88
- package/src/browser/style/breadcrumbs.css +130 -130
- package/src/browser/style/dialog.css +126 -126
- package/src/browser/style/dockpanel.css +76 -76
- package/src/browser/style/hover-service.css +101 -101
- package/src/browser/style/icons.css +61 -61
- package/src/browser/style/index.css +353 -351
- package/src/browser/style/materialcolors.css +278 -278
- package/src/browser/style/menus.css +230 -230
- package/src/browser/style/notification.css +39 -39
- package/src/browser/style/os.css +87 -87
- package/src/browser/style/progress-bar.css +43 -43
- package/src/browser/style/quick-title-bar.css +45 -45
- package/src/browser/style/scrollbars.css +172 -172
- package/src/browser/style/search-box.css +123 -123
- package/src/browser/style/select-component.css +107 -107
- package/src/browser/style/sidepanel.css +367 -367
- package/src/browser/style/split-widget.css +38 -0
- package/src/browser/style/status-bar.css +127 -127
- package/src/browser/style/tabs.css +647 -658
- package/src/browser/style/tooltip.css +28 -28
- package/src/browser/style/tree-decorators.css +81 -81
- package/src/browser/style/tree.css +232 -232
- package/src/browser/style/view-container.css +187 -194
- package/src/browser/style/widget.css +19 -19
- package/src/browser/styling-service.ts +96 -96
- package/src/browser/supported-encodings.ts +262 -262
- package/src/browser/test/jsdom.ts +69 -69
- package/src/browser/test/mock-connection-status-service.ts +33 -33
- package/src/browser/test/mock-env-variables-server.ts +47 -47
- package/src/browser/test/mock-opener-service.ts +34 -34
- package/src/browser/test/mock-storage-service.ts +49 -49
- package/src/browser/theming.ts +206 -206
- package/src/browser/tooltip-service.tsx +96 -96
- package/src/browser/tree/fuzzy-search.spec.ts +99 -99
- package/src/browser/tree/fuzzy-search.ts +136 -136
- package/src/browser/tree/index.ts +29 -29
- package/src/browser/tree/search-box-debounce.ts +96 -96
- package/src/browser/tree/search-box.ts +355 -355
- package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
- package/src/browser/tree/test/mock-tree-model.ts +136 -136
- package/src/browser/tree/test/tree-test-container.ts +50 -50
- package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
- package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
- package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
- package/src/browser/tree/tree-compression/index.ts +20 -20
- package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
- package/src/browser/tree/tree-compression/tree-compression.css +28 -28
- package/src/browser/tree/tree-consistency.spec.ts +105 -105
- package/src/browser/tree/tree-container.spec.ts +45 -45
- package/src/browser/tree/tree-container.ts +155 -155
- package/src/browser/tree/tree-decorator.spec.ts +162 -162
- package/src/browser/tree/tree-decorator.ts +238 -238
- package/src/browser/tree/tree-expansion.spec.ts +173 -173
- package/src/browser/tree/tree-expansion.ts +165 -165
- package/src/browser/tree/tree-focus-service.ts +55 -55
- package/src/browser/tree/tree-iterator.spec.ts +170 -170
- package/src/browser/tree/tree-iterator.ts +256 -256
- package/src/browser/tree/tree-label-provider.ts +40 -40
- package/src/browser/tree/tree-model.ts +562 -562
- package/src/browser/tree/tree-navigation.ts +58 -58
- package/src/browser/tree/tree-preference.ts +50 -50
- package/src/browser/tree/tree-search.ts +128 -128
- package/src/browser/tree/tree-selectable.spec.ts +152 -152
- package/src/browser/tree/tree-selection-impl.ts +176 -176
- package/src/browser/tree/tree-selection-state.spec.ts +462 -462
- package/src/browser/tree/tree-selection-state.ts +245 -245
- package/src/browser/tree/tree-selection.ts +159 -159
- package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
- package/src/browser/tree/tree-widget-selection.ts +45 -45
- package/src/browser/tree/tree-widget.tsx +1591 -1591
- package/src/browser/tree/tree.spec.ts +241 -241
- package/src/browser/tree/tree.ts +425 -425
- package/src/browser/undo-redo-handler.ts +85 -85
- package/src/browser/user-working-directory-provider.ts +77 -77
- package/src/browser/view-container.ts +1640 -1640
- package/src/browser/widget-decoration.ts +358 -358
- package/src/browser/widget-manager.spec.ts +102 -102
- package/src/browser/widget-manager.ts +318 -318
- package/src/browser/widget-open-handler.ts +168 -165
- package/src/browser/widgets/alert-message.tsx +56 -56
- package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
- package/src/browser/widgets/extractable-widget.ts +33 -33
- package/src/browser/widgets/index.ts +21 -20
- package/src/browser/widgets/previewable-widget.ts +31 -31
- package/src/browser/widgets/react-renderer.tsx +53 -53
- package/src/browser/widgets/react-widget.tsx +51 -51
- package/src/browser/widgets/select-component.tsx +367 -367
- package/src/browser/widgets/split-widget.ts +163 -0
- package/src/browser/widgets/widget.ts +406 -406
- package/src/browser/window/browser-window-module.ts +32 -32
- package/src/browser/window/default-secondary-window-service.ts +189 -189
- package/src/browser/window/default-window-service.spec.ts +78 -78
- package/src/browser/window/default-window-service.ts +171 -171
- package/src/browser/window/secondary-window-service.ts +39 -39
- package/src/browser/window/test/mock-window-service.ts +29 -29
- package/src/browser/window/window-service.ts +78 -78
- package/src/browser/window/window-title-service.ts +107 -107
- package/src/browser/window/window-title-updater.ts +95 -95
- package/src/browser/window-contribution.ts +64 -64
- package/src/browser-only/frontend-only-application-module.ts +116 -116
- package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
- package/src/browser-only/logger-frontend-only-module.ts +63 -63
- package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
- package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
- package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
- package/src/common/accessibility.ts +33 -33
- package/src/common/application-error.spec.ts +27 -27
- package/src/common/application-error.ts +76 -76
- package/src/common/application-protocol.ts +42 -42
- package/src/common/array-utils.ts +129 -129
- package/src/common/buffer.ts +228 -228
- package/src/common/cancellation.ts +163 -163
- package/src/common/char-code.ts +438 -438
- package/src/common/collections.ts +125 -125
- package/src/common/color.ts +103 -103
- package/src/common/command.spec.ts +208 -208
- package/src/common/command.ts +489 -489
- package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
- package/src/common/contribution-filter/contribution-filter.ts +64 -64
- package/src/common/contribution-filter/filter.ts +23 -23
- package/src/common/contribution-filter/index.ts +19 -19
- package/src/common/contribution-provider.ts +96 -96
- package/src/common/disposable.spec.ts +94 -94
- package/src/common/disposable.ts +188 -188
- package/src/common/encoding-service.ts +380 -380
- package/src/common/encodings.ts +24 -24
- package/src/common/env-variables/env-variables-protocol.ts +38 -38
- package/src/common/env-variables/index.ts +17 -17
- package/src/common/event.spec.ts +32 -32
- package/src/common/event.ts +493 -487
- package/src/common/file-uri.ts +61 -61
- package/src/common/frontend-application-state.ts +38 -38
- package/src/common/glob.ts +741 -741
- package/src/common/hash.ts +85 -85
- package/src/common/i18n/localization-server.ts +25 -25
- package/src/common/i18n/localization.ts +80 -80
- package/src/common/i18n/nls.metadata.json +34112 -34112
- package/src/common/index.ts +51 -51
- package/src/common/json-schema.ts +108 -106
- package/src/common/key-store.ts +26 -26
- package/src/common/keybinding.ts +152 -152
- package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
- package/src/common/keys.ts +694 -694
- package/src/common/label-protocol.ts +35 -35
- package/src/common/logger-protocol.ts +119 -119
- package/src/common/logger-watcher.ts +48 -48
- package/src/common/logger.spec.ts +46 -46
- package/src/common/logger.ts +389 -389
- package/src/common/lsp-types.ts +34 -34
- package/src/common/markdown-rendering/icon-utilities.ts +30 -30
- package/src/common/markdown-rendering/index.ts +18 -18
- package/src/common/markdown-rendering/markdown-string.ts +152 -152
- package/src/common/menu/action-menu-node.ts +65 -65
- package/src/common/menu/composite-menu-node.spec.ts +67 -67
- package/src/common/menu/composite-menu-node.ts +114 -114
- package/src/common/menu/index.ts +21 -21
- package/src/common/menu/menu-adapter.ts +103 -103
- package/src/common/menu/menu-model-registry.ts +374 -374
- package/src/common/menu/menu-types.ts +220 -219
- package/src/common/menu/menu.spec.ts +101 -101
- package/src/common/message-rpc/channel.spec.ts +88 -88
- package/src/common/message-rpc/channel.ts +300 -300
- package/src/common/message-rpc/index.ts +22 -22
- package/src/common/message-rpc/message-buffer.ts +105 -105
- package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
- package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
- package/src/common/message-rpc/rpc-protocol.ts +255 -255
- package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
- package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
- package/src/common/message-service-protocol.ts +148 -148
- package/src/common/message-service.ts +226 -226
- package/src/common/messaging/connection-error-handler.ts +73 -73
- package/src/common/messaging/connection-management.ts +43 -43
- package/src/common/messaging/handler.ts +26 -26
- package/src/common/messaging/index.ts +19 -19
- package/src/common/messaging/proxy-factory.spec.ts +108 -108
- package/src/common/messaging/proxy-factory.ts +336 -336
- package/src/common/messaging/socket-write-buffer.ts +52 -52
- package/src/common/messaging/web-socket-channel.ts +76 -76
- package/src/common/nls.ts +151 -151
- package/src/common/numbers.ts +21 -21
- package/src/common/objects.spec.ts +112 -112
- package/src/common/objects.ts +123 -123
- package/src/common/os.ts +82 -82
- package/src/common/path.spec.ts +415 -415
- package/src/common/path.ts +334 -334
- package/src/common/paths.ts +250 -250
- package/src/common/performance/index.ts +19 -19
- package/src/common/performance/measurement-protocol.ts +104 -104
- package/src/common/performance/measurement.ts +130 -130
- package/src/common/performance/stopwatch.ts +183 -183
- package/src/common/preferences/preference-schema.ts +101 -101
- package/src/common/preferences/preference-scope.spec.ts +48 -48
- package/src/common/preferences/preference-scope.ts +68 -68
- package/src/common/prioritizeable.ts +58 -58
- package/src/common/progress-service-protocol.ts +35 -35
- package/src/common/progress-service.ts +82 -82
- package/src/common/promise-util.spec.ts +102 -102
- package/src/common/promise-util.ts +143 -143
- package/src/common/quick-pick-service.ts +353 -353
- package/src/common/reference.spec.ts +145 -145
- package/src/common/reference.ts +230 -230
- package/src/common/resource.ts +430 -430
- package/src/common/selection-command-handler.ts +101 -101
- package/src/common/selection-service.spec.ts +43 -43
- package/src/common/selection-service.ts +49 -49
- package/src/common/selection.ts +50 -50
- package/src/common/severity.ts +111 -111
- package/src/common/stream.ts +718 -718
- package/src/common/strings.ts +231 -231
- package/src/common/telemetry.ts +45 -45
- package/src/common/ternary-search-tree.ts +417 -417
- package/src/common/test/expect.ts +34 -34
- package/src/common/test/mock-logger.ts +118 -118
- package/src/common/test/mock-menu.ts +35 -35
- package/src/common/test/mock-resource-provider.ts +33 -33
- package/src/common/theme.ts +68 -68
- package/src/common/types.spec.ts +86 -86
- package/src/common/types.ts +140 -140
- package/src/common/uri-command-handler.spec.ts +90 -90
- package/src/common/uri-command-handler.ts +148 -148
- package/src/common/uri.spec.ts +278 -278
- package/src/common/uri.ts +279 -279
- package/src/common/uuid.ts +45 -45
- package/src/common/version.ts +17 -17
- package/src/common/view-column.ts +33 -33
- package/src/common/window.ts +34 -34
- package/src/electron-browser/electron-clipboard-service.ts +32 -32
- package/src/electron-browser/electron-uri-handler.ts +42 -0
- package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
- package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
- package/src/electron-browser/menu/electron-main-menu-factory.ts +339 -338
- package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
- package/src/electron-browser/menu/electron-menu-module.ts +40 -40
- package/src/electron-browser/menu/electron-menu-style.css +110 -110
- package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
- package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
- package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
- package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
- package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
- package/src/electron-browser/preload.ts +264 -249
- package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
- package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
- package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
- package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
- package/src/electron-browser/window/electron-window-module.ts +48 -45
- package/src/electron-browser/window/electron-window-preferences.ts +76 -76
- package/src/electron-browser/window/electron-window-service.ts +109 -109
- package/src/electron-browser/window/external-app-open-handler.ts +42 -42
- package/src/electron-common/electron-api.ts +157 -154
- package/src/electron-common/electron-main-window-service.ts +24 -24
- package/src/electron-common/electron-token.ts +27 -27
- package/src/electron-main/electron-api-main.ts +373 -347
- package/src/electron-main/electron-main-application-module.ts +65 -65
- package/src/electron-main/electron-main-application.ts +860 -818
- package/src/electron-main/electron-main-constants.ts +23 -23
- package/src/electron-main/electron-main-window-service-impl.ts +44 -44
- package/src/electron-main/electron-security-token-service.ts +36 -36
- package/src/electron-main/event-utils.ts +36 -36
- package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
- package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
- package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
- package/src/electron-main/theia-electron-window.ts +219 -214
- package/src/electron-node/cli/electron-backend-cli-module.ts +24 -24
- package/src/electron-node/cli/electron-cli-contribution.ts +35 -35
- package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
- package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
- package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
- package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
- package/src/electron-node/request/electron-backend-request-module.ts +23 -23
- package/src/electron-node/request/electron-backend-request-service.ts +78 -78
- package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
- package/src/electron-node/token/electron-token-backend-module.ts +28 -28
- package/src/electron-node/token/electron-token-validator.ts +93 -93
- package/src/node/application-server.ts +59 -59
- package/src/node/backend-application-config-provider.spec.ts +29 -29
- package/src/node/backend-application-config-provider.ts +48 -48
- package/src/node/backend-application-module.ts +139 -139
- package/src/node/backend-application.ts +374 -374
- package/src/node/cli.spec.ts +94 -94
- package/src/node/cli.ts +63 -63
- package/src/node/console-logger-server.spec.ts +59 -59
- package/src/node/console-logger-server.ts +76 -76
- package/src/node/debug.ts +30 -30
- package/src/node/dynamic-require.ts +56 -56
- package/src/node/env-variables/env-variables-server.ts +123 -123
- package/src/node/env-variables/index.ts +17 -17
- package/src/node/environment-utils.spec.ts +92 -92
- package/src/node/environment-utils.ts +66 -66
- package/src/node/file-uri.spec.ts +76 -76
- package/src/node/filesystem-locking.ts +77 -77
- package/src/node/hosting/backend-application-hosts.ts +60 -60
- package/src/node/hosting/backend-hosting-module.ts +26 -26
- package/src/node/hosting/ws-origin-validator.ts +36 -36
- package/src/node/i18n/i18n-backend-module.ts +42 -42
- package/src/node/i18n/localization-contribution.ts +112 -112
- package/src/node/i18n/localization-provider.ts +125 -125
- package/src/node/i18n/localization-server.ts +52 -52
- package/src/node/i18n/theia-localization-contribution.ts +40 -36
- package/src/node/index.ts +22 -22
- package/src/node/key-store-server.ts +162 -162
- package/src/node/logger-backend-module.ts +88 -88
- package/src/node/logger-cli-contribution.spec.ts +245 -245
- package/src/node/logger-cli-contribution.ts +168 -168
- package/src/node/main.ts +33 -33
- package/src/node/messaging/binary-message-pipe.ts +168 -168
- package/src/node/messaging/connection-container-module.ts +96 -96
- package/src/node/messaging/default-messaging-service.ts +129 -129
- package/src/node/messaging/frontend-connection-service.ts +24 -24
- package/src/node/messaging/index.ts +19 -19
- package/src/node/messaging/ipc-bootstrap.ts +27 -27
- package/src/node/messaging/ipc-channel.ts +77 -77
- package/src/node/messaging/ipc-connection-provider.ts +107 -107
- package/src/node/messaging/ipc-protocol.ts +76 -76
- package/src/node/messaging/messaging-backend-module.ts +52 -52
- package/src/node/messaging/messaging-listeners.ts +52 -52
- package/src/node/messaging/messaging-service.ts +46 -46
- package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
- package/src/node/messaging/websocket-endpoint.ts +79 -79
- package/src/node/messaging/websocket-frontend-connection-service.ts +186 -186
- package/src/node/os-backend-provider.ts +25 -25
- package/src/node/performance/index.ts +18 -18
- package/src/node/performance/measurement-backend-bindings.ts +35 -35
- package/src/node/performance/node-stopwatch.ts +40 -40
- package/src/node/process-utils.spec.ts +48 -48
- package/src/node/process-utils.ts +102 -102
- package/src/node/remote/backend-remote-service.ts +25 -25
- package/src/node/remote/remote-cli-contribution.ts +34 -34
- package/src/node/remote/remote-copy-contribution.ts +45 -45
- package/src/node/request/backend-request-facade.ts +39 -39
- package/src/node/request/backend-request-module.ts +25 -25
- package/src/node/request/proxy-cli-contribution.ts +65 -65
- package/src/node/ws-request-validators.ts +56 -56
- package/src/typings/native-keymap.d.ts +108 -108
- package/i18n/nls.pt-pt.json +0 -552
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2018 TypeFox 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 { injectable, interfaces, decorate, unmanaged, inject } from 'inversify';
|
|
18
|
-
import { RpcProxyFactory, RpcProxy } from '../../common';
|
|
19
|
-
import { RemoteConnectionProvider, ServiceConnectionProvider } from './service-connection-provider';
|
|
20
|
-
|
|
21
|
-
decorate(injectable(), RpcProxyFactory);
|
|
22
|
-
decorate(unmanaged(), RpcProxyFactory, 0);
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* @deprecated This class serves to keep API compatibility for a while.
|
|
26
|
-
* Use the {@linkcode RemoteConnectionProvider} as the injection symbol and {@linkcode ServiceConnectionProvider} as the type instead.
|
|
27
|
-
*/
|
|
28
|
-
@injectable()
|
|
29
|
-
export class WebSocketConnectionProvider {
|
|
30
|
-
@inject(RemoteConnectionProvider)
|
|
31
|
-
private readonly remoteConnectionProvider: ServiceConnectionProvider;
|
|
32
|
-
|
|
33
|
-
static createProxy<T extends object>(container: interfaces.Container, path: string, arg?: object): RpcProxy<T> {
|
|
34
|
-
return ServiceConnectionProvider.createProxy(container, path, arg);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
static createLocalProxy<T extends object>(container: interfaces.Container, path: string, arg?: object): RpcProxy<T> {
|
|
38
|
-
return ServiceConnectionProvider.createLocalProxy(container, path, arg);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static createHandler(container: interfaces.Container, path: string, arg?: object): void {
|
|
42
|
-
return ServiceConnectionProvider.createHandler(container, path, arg);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
createProxy<T extends object>(path: string, target?: object): RpcProxy<T>;
|
|
46
|
-
createProxy<T extends object>(path: string, factory: RpcProxyFactory<T>): RpcProxy<T> {
|
|
47
|
-
return this.remoteConnectionProvider.createProxy(path, factory);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2018 TypeFox 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 { injectable, interfaces, decorate, unmanaged, inject } from 'inversify';
|
|
18
|
+
import { RpcProxyFactory, RpcProxy } from '../../common';
|
|
19
|
+
import { RemoteConnectionProvider, ServiceConnectionProvider } from './service-connection-provider';
|
|
20
|
+
|
|
21
|
+
decorate(injectable(), RpcProxyFactory);
|
|
22
|
+
decorate(unmanaged(), RpcProxyFactory, 0);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated This class serves to keep API compatibility for a while.
|
|
26
|
+
* Use the {@linkcode RemoteConnectionProvider} as the injection symbol and {@linkcode ServiceConnectionProvider} as the type instead.
|
|
27
|
+
*/
|
|
28
|
+
@injectable()
|
|
29
|
+
export class WebSocketConnectionProvider {
|
|
30
|
+
@inject(RemoteConnectionProvider)
|
|
31
|
+
private readonly remoteConnectionProvider: ServiceConnectionProvider;
|
|
32
|
+
|
|
33
|
+
static createProxy<T extends object>(container: interfaces.Container, path: string, arg?: object): RpcProxy<T> {
|
|
34
|
+
return ServiceConnectionProvider.createProxy(container, path, arg);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static createLocalProxy<T extends object>(container: interfaces.Container, path: string, arg?: object): RpcProxy<T> {
|
|
38
|
+
return ServiceConnectionProvider.createLocalProxy(container, path, arg);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static createHandler(container: interfaces.Container, path: string, arg?: object): void {
|
|
42
|
+
return ServiceConnectionProvider.createHandler(container, path, arg);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
createProxy<T extends object>(path: string, target?: object): RpcProxy<T>;
|
|
46
|
+
createProxy<T extends object>(path: string, factory: RpcProxyFactory<T>): RpcProxy<T> {
|
|
47
|
+
return this.remoteConnectionProvider.createProxy(path, factory);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -1,230 +1,230 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2023 STMicroelectronics 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 { AbstractChannel, Channel, Disposable, DisposableCollection, Emitter, Event, servicesPath } from '../../common';
|
|
18
|
-
import { ConnectionSource } from './connection-source';
|
|
19
|
-
import { Socket, io } from 'socket.io-client';
|
|
20
|
-
import { Endpoint } from '../endpoint';
|
|
21
|
-
import { ForwardingChannel } from '../../common/message-rpc/channel';
|
|
22
|
-
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '../../common/message-rpc/uint8-array-message-buffer';
|
|
23
|
-
import { inject, injectable, postConstruct } from 'inversify';
|
|
24
|
-
import { FrontendIdProvider } from './frontend-id-provider';
|
|
25
|
-
import { FrontendApplicationConfigProvider } from '../frontend-application-config-provider';
|
|
26
|
-
import { SocketWriteBuffer } from '../../common/messaging/socket-write-buffer';
|
|
27
|
-
import { ConnectionManagementMessages } from '../../common/messaging/connection-management';
|
|
28
|
-
|
|
29
|
-
@injectable()
|
|
30
|
-
export class WebSocketConnectionSource implements ConnectionSource {
|
|
31
|
-
static readonly NO_CONNECTION = '<none>';
|
|
32
|
-
|
|
33
|
-
@inject(FrontendIdProvider)
|
|
34
|
-
protected readonly frontendIdProvider: FrontendIdProvider;
|
|
35
|
-
|
|
36
|
-
private readonly writeBuffer = new SocketWriteBuffer();
|
|
37
|
-
|
|
38
|
-
private _socket: Socket;
|
|
39
|
-
get socket(): Socket {
|
|
40
|
-
return this._socket;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
protected currentChannel: AbstractChannel;
|
|
44
|
-
|
|
45
|
-
protected readonly onConnectionDidOpenEmitter: Emitter<Channel> = new Emitter();
|
|
46
|
-
get onConnectionDidOpen(): Event<Channel> {
|
|
47
|
-
return this.onConnectionDidOpenEmitter.event;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected readonly onSocketDidOpenEmitter: Emitter<void> = new Emitter();
|
|
51
|
-
get onSocketDidOpen(): Event<void> {
|
|
52
|
-
return this.onSocketDidOpenEmitter.event;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
protected readonly onSocketDidCloseEmitter: Emitter<void> = new Emitter();
|
|
56
|
-
get onSocketDidClose(): Event<void> {
|
|
57
|
-
return this.onSocketDidCloseEmitter.event;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
protected readonly onIncomingMessageActivityEmitter: Emitter<void> = new Emitter();
|
|
61
|
-
get onIncomingMessageActivity(): Event<void> {
|
|
62
|
-
return this.onIncomingMessageActivityEmitter.event;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
constructor() {
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@postConstruct()
|
|
69
|
-
openSocket(): void {
|
|
70
|
-
const url = this.createWebSocketUrl(servicesPath);
|
|
71
|
-
this._socket = this.createWebSocket(url);
|
|
72
|
-
|
|
73
|
-
this._socket.on('connect', () => {
|
|
74
|
-
this.onSocketDidOpenEmitter.fire();
|
|
75
|
-
this.handleSocketConnected();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
this._socket.on('disconnect', () => {
|
|
79
|
-
this.onSocketDidCloseEmitter.fire();
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
this._socket.on('error', reason => {
|
|
83
|
-
if (this.currentChannel) {
|
|
84
|
-
this.currentChannel.onErrorEmitter.fire(reason);
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
|
-
this._socket.connect();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
protected negogiateReconnect(): void {
|
|
91
|
-
const reconnectListener = (hasConnection: boolean) => {
|
|
92
|
-
this._socket.off(ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
93
|
-
if (hasConnection) {
|
|
94
|
-
console.info(`reconnect succeeded on ${this.socket.id}`);
|
|
95
|
-
this.writeBuffer!.flush(this.socket);
|
|
96
|
-
} else {
|
|
97
|
-
if (FrontendApplicationConfigProvider.get().reloadOnReconnect) {
|
|
98
|
-
window.location.reload(); // this might happen in the preload module, when we have no window service yet
|
|
99
|
-
} else {
|
|
100
|
-
console.info(`reconnect failed on ${this.socket.id}`);
|
|
101
|
-
this.currentChannel.onCloseEmitter.fire({ reason: 'reconnecting channel' });
|
|
102
|
-
this.currentChannel.close();
|
|
103
|
-
this.writeBuffer.drain();
|
|
104
|
-
this.socket.disconnect();
|
|
105
|
-
this.socket.connect();
|
|
106
|
-
this.negotiateInitialConnect();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
this._socket.on(ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
111
|
-
console.info(`sending reconnect on ${this.socket.id}`);
|
|
112
|
-
this._socket.emit(ConnectionManagementMessages.RECONNECT, this.frontendIdProvider.getId());
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
protected negotiateInitialConnect(): void {
|
|
116
|
-
const initialConnectListener = () => {
|
|
117
|
-
console.info(`initial connect received on ${this.socket.id}`);
|
|
118
|
-
|
|
119
|
-
this._socket.off(ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
|
|
120
|
-
this.connectNewChannel();
|
|
121
|
-
};
|
|
122
|
-
this._socket.on(ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
|
|
123
|
-
console.info(`sending initial connect on ${this.socket.id}`);
|
|
124
|
-
|
|
125
|
-
this._socket.emit(ConnectionManagementMessages.INITIAL_CONNECT, this.frontendIdProvider.getId());
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
protected handleSocketConnected(): void {
|
|
129
|
-
if (this.currentChannel) {
|
|
130
|
-
this.negogiateReconnect();
|
|
131
|
-
} else {
|
|
132
|
-
this.negotiateInitialConnect();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
connectNewChannel(): void {
|
|
137
|
-
if (this.currentChannel) {
|
|
138
|
-
this.currentChannel.close();
|
|
139
|
-
this.currentChannel.onCloseEmitter.fire({ reason: 'reconnecting channel' });
|
|
140
|
-
}
|
|
141
|
-
this.writeBuffer.drain();
|
|
142
|
-
this.currentChannel = this.createChannel();
|
|
143
|
-
this.onConnectionDidOpenEmitter.fire(this.currentChannel);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
protected createChannel(): AbstractChannel {
|
|
147
|
-
const toDispose = new DisposableCollection();
|
|
148
|
-
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
150
|
-
const messageHandler = (data: any) => {
|
|
151
|
-
this.onIncomingMessageActivityEmitter.fire();
|
|
152
|
-
if (this.currentChannel) {
|
|
153
|
-
// In the browser context socketIO receives binary messages as ArrayBuffers.
|
|
154
|
-
// So we have to convert them to a Uint8Array before delegating the message to the read buffer.
|
|
155
|
-
const buffer = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
|
|
156
|
-
this.currentChannel.onMessageEmitter.fire(() => new Uint8ArrayReadBuffer(buffer));
|
|
157
|
-
};
|
|
158
|
-
};
|
|
159
|
-
this._socket.on('message', messageHandler);
|
|
160
|
-
toDispose.push(Disposable.create(() => {
|
|
161
|
-
this.socket.off('message', messageHandler);
|
|
162
|
-
}));
|
|
163
|
-
|
|
164
|
-
const channel = new ForwardingChannel('any', () => {
|
|
165
|
-
toDispose.dispose();
|
|
166
|
-
}, () => {
|
|
167
|
-
const result = new Uint8ArrayWriteBuffer();
|
|
168
|
-
|
|
169
|
-
result.onCommit(buffer => {
|
|
170
|
-
if (this.socket.connected) {
|
|
171
|
-
this.socket.send(buffer);
|
|
172
|
-
} else {
|
|
173
|
-
this.writeBuffer.buffer(buffer);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
return result;
|
|
178
|
-
});
|
|
179
|
-
return channel;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* @param path The handler to reach in the backend.
|
|
184
|
-
*/
|
|
185
|
-
protected createWebSocketUrl(path: string): string {
|
|
186
|
-
// Since we are using Socket.io, the path should look like the following:
|
|
187
|
-
// proto://domain.com/{path}
|
|
188
|
-
return this.createEndpoint(path).getWebSocketUrl().withPath(path).toString();
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
protected createHttpWebSocketUrl(path: string): string {
|
|
192
|
-
return this.createEndpoint(path).getRestUrl().toString();
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
protected createEndpoint(path: string): Endpoint {
|
|
196
|
-
return new Endpoint({ path });
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Creates a web socket for the given url
|
|
201
|
-
*/
|
|
202
|
-
protected createWebSocket(url: string): Socket {
|
|
203
|
-
return io(url, {
|
|
204
|
-
path: this.createSocketIoPath(url),
|
|
205
|
-
reconnection: true,
|
|
206
|
-
reconnectionDelay: 1000,
|
|
207
|
-
reconnectionDelayMax: 10000,
|
|
208
|
-
reconnectionAttempts: Infinity,
|
|
209
|
-
extraHeaders: {
|
|
210
|
-
// Socket.io strips the `origin` header
|
|
211
|
-
// We need to provide our own for validation
|
|
212
|
-
'fix-origin': window.location.origin
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Path for Socket.io to make its requests to.
|
|
219
|
-
*/
|
|
220
|
-
protected createSocketIoPath(url: string): string | undefined {
|
|
221
|
-
if (location.protocol === Endpoint.PROTO_FILE) {
|
|
222
|
-
return '/socket.io';
|
|
223
|
-
}
|
|
224
|
-
let { pathname } = location;
|
|
225
|
-
if (!pathname.endsWith('/')) {
|
|
226
|
-
pathname += '/';
|
|
227
|
-
}
|
|
228
|
-
return pathname + 'socket.io';
|
|
229
|
-
}
|
|
230
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2023 STMicroelectronics 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 { AbstractChannel, Channel, Disposable, DisposableCollection, Emitter, Event, servicesPath } from '../../common';
|
|
18
|
+
import { ConnectionSource } from './connection-source';
|
|
19
|
+
import { Socket, io } from 'socket.io-client';
|
|
20
|
+
import { Endpoint } from '../endpoint';
|
|
21
|
+
import { ForwardingChannel } from '../../common/message-rpc/channel';
|
|
22
|
+
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '../../common/message-rpc/uint8-array-message-buffer';
|
|
23
|
+
import { inject, injectable, postConstruct } from 'inversify';
|
|
24
|
+
import { FrontendIdProvider } from './frontend-id-provider';
|
|
25
|
+
import { FrontendApplicationConfigProvider } from '../frontend-application-config-provider';
|
|
26
|
+
import { SocketWriteBuffer } from '../../common/messaging/socket-write-buffer';
|
|
27
|
+
import { ConnectionManagementMessages } from '../../common/messaging/connection-management';
|
|
28
|
+
|
|
29
|
+
@injectable()
|
|
30
|
+
export class WebSocketConnectionSource implements ConnectionSource {
|
|
31
|
+
static readonly NO_CONNECTION = '<none>';
|
|
32
|
+
|
|
33
|
+
@inject(FrontendIdProvider)
|
|
34
|
+
protected readonly frontendIdProvider: FrontendIdProvider;
|
|
35
|
+
|
|
36
|
+
private readonly writeBuffer = new SocketWriteBuffer();
|
|
37
|
+
|
|
38
|
+
private _socket: Socket;
|
|
39
|
+
get socket(): Socket {
|
|
40
|
+
return this._socket;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
protected currentChannel: AbstractChannel;
|
|
44
|
+
|
|
45
|
+
protected readonly onConnectionDidOpenEmitter: Emitter<Channel> = new Emitter();
|
|
46
|
+
get onConnectionDidOpen(): Event<Channel> {
|
|
47
|
+
return this.onConnectionDidOpenEmitter.event;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
protected readonly onSocketDidOpenEmitter: Emitter<void> = new Emitter();
|
|
51
|
+
get onSocketDidOpen(): Event<void> {
|
|
52
|
+
return this.onSocketDidOpenEmitter.event;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
protected readonly onSocketDidCloseEmitter: Emitter<void> = new Emitter();
|
|
56
|
+
get onSocketDidClose(): Event<void> {
|
|
57
|
+
return this.onSocketDidCloseEmitter.event;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
protected readonly onIncomingMessageActivityEmitter: Emitter<void> = new Emitter();
|
|
61
|
+
get onIncomingMessageActivity(): Event<void> {
|
|
62
|
+
return this.onIncomingMessageActivityEmitter.event;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
constructor() {
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@postConstruct()
|
|
69
|
+
openSocket(): void {
|
|
70
|
+
const url = this.createWebSocketUrl(servicesPath);
|
|
71
|
+
this._socket = this.createWebSocket(url);
|
|
72
|
+
|
|
73
|
+
this._socket.on('connect', () => {
|
|
74
|
+
this.onSocketDidOpenEmitter.fire();
|
|
75
|
+
this.handleSocketConnected();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
this._socket.on('disconnect', () => {
|
|
79
|
+
this.onSocketDidCloseEmitter.fire();
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
this._socket.on('error', reason => {
|
|
83
|
+
if (this.currentChannel) {
|
|
84
|
+
this.currentChannel.onErrorEmitter.fire(reason);
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
this._socket.connect();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
protected negogiateReconnect(): void {
|
|
91
|
+
const reconnectListener = (hasConnection: boolean) => {
|
|
92
|
+
this._socket.off(ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
93
|
+
if (hasConnection) {
|
|
94
|
+
console.info(`reconnect succeeded on ${this.socket.id}`);
|
|
95
|
+
this.writeBuffer!.flush(this.socket);
|
|
96
|
+
} else {
|
|
97
|
+
if (FrontendApplicationConfigProvider.get().reloadOnReconnect) {
|
|
98
|
+
window.location.reload(); // this might happen in the preload module, when we have no window service yet
|
|
99
|
+
} else {
|
|
100
|
+
console.info(`reconnect failed on ${this.socket.id}`);
|
|
101
|
+
this.currentChannel.onCloseEmitter.fire({ reason: 'reconnecting channel' });
|
|
102
|
+
this.currentChannel.close();
|
|
103
|
+
this.writeBuffer.drain();
|
|
104
|
+
this.socket.disconnect();
|
|
105
|
+
this.socket.connect();
|
|
106
|
+
this.negotiateInitialConnect();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
this._socket.on(ConnectionManagementMessages.RECONNECT, reconnectListener);
|
|
111
|
+
console.info(`sending reconnect on ${this.socket.id}`);
|
|
112
|
+
this._socket.emit(ConnectionManagementMessages.RECONNECT, this.frontendIdProvider.getId());
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
protected negotiateInitialConnect(): void {
|
|
116
|
+
const initialConnectListener = () => {
|
|
117
|
+
console.info(`initial connect received on ${this.socket.id}`);
|
|
118
|
+
|
|
119
|
+
this._socket.off(ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
|
|
120
|
+
this.connectNewChannel();
|
|
121
|
+
};
|
|
122
|
+
this._socket.on(ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
|
|
123
|
+
console.info(`sending initial connect on ${this.socket.id}`);
|
|
124
|
+
|
|
125
|
+
this._socket.emit(ConnectionManagementMessages.INITIAL_CONNECT, this.frontendIdProvider.getId());
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
protected handleSocketConnected(): void {
|
|
129
|
+
if (this.currentChannel) {
|
|
130
|
+
this.negogiateReconnect();
|
|
131
|
+
} else {
|
|
132
|
+
this.negotiateInitialConnect();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
connectNewChannel(): void {
|
|
137
|
+
if (this.currentChannel) {
|
|
138
|
+
this.currentChannel.close();
|
|
139
|
+
this.currentChannel.onCloseEmitter.fire({ reason: 'reconnecting channel' });
|
|
140
|
+
}
|
|
141
|
+
this.writeBuffer.drain();
|
|
142
|
+
this.currentChannel = this.createChannel();
|
|
143
|
+
this.onConnectionDidOpenEmitter.fire(this.currentChannel);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
protected createChannel(): AbstractChannel {
|
|
147
|
+
const toDispose = new DisposableCollection();
|
|
148
|
+
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
150
|
+
const messageHandler = (data: any) => {
|
|
151
|
+
this.onIncomingMessageActivityEmitter.fire();
|
|
152
|
+
if (this.currentChannel) {
|
|
153
|
+
// In the browser context socketIO receives binary messages as ArrayBuffers.
|
|
154
|
+
// So we have to convert them to a Uint8Array before delegating the message to the read buffer.
|
|
155
|
+
const buffer = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
|
|
156
|
+
this.currentChannel.onMessageEmitter.fire(() => new Uint8ArrayReadBuffer(buffer));
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
this._socket.on('message', messageHandler);
|
|
160
|
+
toDispose.push(Disposable.create(() => {
|
|
161
|
+
this.socket.off('message', messageHandler);
|
|
162
|
+
}));
|
|
163
|
+
|
|
164
|
+
const channel = new ForwardingChannel('any', () => {
|
|
165
|
+
toDispose.dispose();
|
|
166
|
+
}, () => {
|
|
167
|
+
const result = new Uint8ArrayWriteBuffer();
|
|
168
|
+
|
|
169
|
+
result.onCommit(buffer => {
|
|
170
|
+
if (this.socket.connected) {
|
|
171
|
+
this.socket.send(buffer);
|
|
172
|
+
} else {
|
|
173
|
+
this.writeBuffer.buffer(buffer);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
return result;
|
|
178
|
+
});
|
|
179
|
+
return channel;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* @param path The handler to reach in the backend.
|
|
184
|
+
*/
|
|
185
|
+
protected createWebSocketUrl(path: string): string {
|
|
186
|
+
// Since we are using Socket.io, the path should look like the following:
|
|
187
|
+
// proto://domain.com/{path}
|
|
188
|
+
return this.createEndpoint(path).getWebSocketUrl().withPath(path).toString();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
protected createHttpWebSocketUrl(path: string): string {
|
|
192
|
+
return this.createEndpoint(path).getRestUrl().toString();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
protected createEndpoint(path: string): Endpoint {
|
|
196
|
+
return new Endpoint({ path });
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Creates a web socket for the given url
|
|
201
|
+
*/
|
|
202
|
+
protected createWebSocket(url: string): Socket {
|
|
203
|
+
return io(url, {
|
|
204
|
+
path: this.createSocketIoPath(url),
|
|
205
|
+
reconnection: true,
|
|
206
|
+
reconnectionDelay: 1000,
|
|
207
|
+
reconnectionDelayMax: 10000,
|
|
208
|
+
reconnectionAttempts: Infinity,
|
|
209
|
+
extraHeaders: {
|
|
210
|
+
// Socket.io strips the `origin` header
|
|
211
|
+
// We need to provide our own for validation
|
|
212
|
+
'fix-origin': window.location.origin
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Path for Socket.io to make its requests to.
|
|
219
|
+
*/
|
|
220
|
+
protected createSocketIoPath(url: string): string | undefined {
|
|
221
|
+
if (location.protocol === Endpoint.PROTO_FILE) {
|
|
222
|
+
return '/socket.io';
|
|
223
|
+
}
|
|
224
|
+
let { pathname } = location;
|
|
225
|
+
if (!pathname.endsWith('/')) {
|
|
226
|
+
pathname += '/';
|
|
227
|
+
}
|
|
228
|
+
return pathname + 'socket.io';
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2019 Red Hat, Inc. 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 { injectable } from 'inversify';
|
|
18
|
-
|
|
19
|
-
export interface MimeAssociation {
|
|
20
|
-
readonly id: string;
|
|
21
|
-
readonly filepattern: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@injectable()
|
|
25
|
-
export class MimeService {
|
|
26
|
-
// should be overridden by an implementation
|
|
27
|
-
setAssociations(associations: MimeAssociation[]): void {
|
|
28
|
-
/* no-op by default */
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2019 Red Hat, Inc. 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 { injectable } from 'inversify';
|
|
18
|
+
|
|
19
|
+
export interface MimeAssociation {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly filepattern: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@injectable()
|
|
25
|
+
export class MimeService {
|
|
26
|
+
// should be overridden by an implementation
|
|
27
|
+
setAssociations(associations: MimeAssociation[]): void {
|
|
28
|
+
/* no-op by default */
|
|
29
|
+
}
|
|
30
|
+
}
|