From 156cd92651fa78e611da75f24a843b5d548f63f9 Mon Sep 17 00:00:00 2001 From: delchev Date: Sat, 11 Jul 2026 12:21:02 +0300 Subject: [PATCH] feat(ui): list the Application and My shells in the IDE Window -> Shells menu The Window -> Shells submenu is fed by the 'platform-shells' extension point, but only shell-ide (Workbench) and the Dashboard registered a shell extension - the shared application shell (/services/web/application/) and the new personal My Shell (/services/web/my/) were not reachable from the IDE menu. Register both via the same extension + config pattern as the Dashboard: - resources-application: applicationShell 'Applications' -> /services/web/application/index.html - resources-my: myShell 'My' -> /services/web/my/index.html Verified on a fresh fat-jar boot: the menus extension service returns both entries under Window -> Shells (Applications, Dashboard, My, Workbench) and both linked pages serve 200. Co-Authored-By: Claude Fable 5 --- .../dirigible/application/configs/shell.js | 19 +++++++++++++++++++ .../application/extensions/shell.extension | 5 +++++ .../META-INF/dirigible/my/configs/shell.js | 19 +++++++++++++++++++ .../dirigible/my/extensions/shell.extension | 5 +++++ 4 files changed, 48 insertions(+) create mode 100644 components/resources/resources-application/src/main/resources/META-INF/dirigible/application/configs/shell.js create mode 100644 components/resources/resources-application/src/main/resources/META-INF/dirigible/application/extensions/shell.extension create mode 100644 components/resources/resources-my/src/main/resources/META-INF/dirigible/my/configs/shell.js create mode 100644 components/resources/resources-my/src/main/resources/META-INF/dirigible/my/extensions/shell.extension diff --git a/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/configs/shell.js b/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/configs/shell.js new file mode 100644 index 00000000000..cd75945b0f4 --- /dev/null +++ b/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/configs/shell.js @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026 Eclipse Dirigible contributors + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v20.html + * + * SPDX-FileCopyrightText: Eclipse Dirigible contributors + * SPDX-License-Identifier: EPL-2.0 + */ +const shellData = { + id: 'applicationShell', + path: '/services/web/application/index.html', + label: 'Applications' +}; +if (typeof exports !== 'undefined') { + exports.getShell = () => shellData; +} diff --git a/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/extensions/shell.extension b/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/extensions/shell.extension new file mode 100644 index 00000000000..42ff64d9411 --- /dev/null +++ b/components/resources/resources-application/src/main/resources/META-INF/dirigible/application/extensions/shell.extension @@ -0,0 +1,5 @@ +{ + "module": "application/configs/shell.js", + "extensionPoint": "platform-shells", + "description": "Application Shell" +} diff --git a/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/configs/shell.js b/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/configs/shell.js new file mode 100644 index 00000000000..0771c85819b --- /dev/null +++ b/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/configs/shell.js @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026 Eclipse Dirigible contributors + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v20.html + * + * SPDX-FileCopyrightText: Eclipse Dirigible contributors + * SPDX-License-Identifier: EPL-2.0 + */ +const shellData = { + id: 'myShell', + path: '/services/web/my/index.html', + label: 'My' +}; +if (typeof exports !== 'undefined') { + exports.getShell = () => shellData; +} diff --git a/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/extensions/shell.extension b/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/extensions/shell.extension new file mode 100644 index 00000000000..ef2c1a42a13 --- /dev/null +++ b/components/resources/resources-my/src/main/resources/META-INF/dirigible/my/extensions/shell.extension @@ -0,0 +1,5 @@ +{ + "module": "my/configs/shell.js", + "extensionPoint": "platform-shells", + "description": "My Shell" +}