Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: olexii4 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1663 +/- ##
========================================
Coverage 92.45% 92.46%
========================================
Files 609 612 +3
Lines 63850 64377 +527
Branches 5011 5058 +47
========================================
+ Hits 59031 59524 +493
- Misses 4754 4786 +32
- Partials 65 67 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
2 similar comments
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
Creates new DevWorkspaceTemplate, patches workspace annotations and spec.contributions, then deletes the old template. Reuses createDevWorkspaceTemplate and patchWorkspace from existing code. Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Haiku 4.5 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
The DELETE /namespace/:ns/devworkspacetemplates/:name route was wrapped in isLocalRun(), making it unavailable in production deployments. The changeWorkspaceEditor action creator calls deleteTemplate() after switching the editor, so the orphaned old template was never cleaned up on a real cluster. Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
- Overview tab: remove version from editor label; hide pencil button (not just disable) when workspace is not stopped/failed; add tooltip icon (Popover + FormGroupLabelHelp) matching AI Tool row alignment - Change Editor modal: fixed header (title + filter) does not scroll with the list; filter now searches display name, all versions, and all descriptions; filter placeholder shortened to "Filter by"; filter input capped at max-width 30%; version labels shown on all rows, not just the selected one; checkbox style (type=checkbox) instead of radio; versionLabel style matches AI Tool (height, margin-left, no min-width); custom editor shown as informational item when current editor ID is unknown to the registry - After confirming an editor change, show "Workspace has been updated" success alert or a danger alert with the error message, matching the AI Tool behaviour (uses AppAlerts via lazyInject) Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
- devWorkspaceTemplateApi: add deleteTemplate success + error tests - changeWorkspaceEditor: add error-path and same-name-skip tests - editor helpers: add displayName/name fallback tests - SelectorModal: add filter-reset-on-close test - EditorFormGroup: add architecture-filter test Assisted-by: Claude Sonnet 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
|
Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1663 (linux/amd64, linux/arm64, linux/s390x) kubectl patch commandkubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1663", name: che-dashboard}]}}]" |
|
@olexii4: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What does this PR do?
Adds a Change Editor form group to the Workspace Details → Overview tab, following the same UX pattern as "Change AI Tools".
When a workspace is stopped, a pencil button opens a modal with radio buttons listing all available editors (grouped by display name). Each editor group with multiple versions shows an inline version picker (EllipsisV dropdown), matching the existing
EditorSelectorgallery in Create Workspace. On confirm, the dashboard:DevWorkspaceTemplatefor the selected editor (reusingDevWorkspaceClient.createDevWorkspaceTemplate, which setsownerReferencesand injects cluster env vars).che.eclipse.org/che-editor, thedevfile-sourcefactory params, andspec.contributions[0].kubernetes.namein one atomic PATCH.DevWorkspaceTemplate(the backend DELETE route already existed; adeleteTemplatefrontend wrapper is added todevWorkspaceTemplateApi.ts).The button is disabled when the workspace is not
STOPPEDorFAILED, using the sameisReadonlyguard already in place for Name, Storage Type, and AI Tool.Screenshot/screencast of this PR
What issues does this PR fix or reference?
fixes eclipse-che/che#23935
Is it tested? How?
Without this PR: no way to change the editor on an existing stopped workspace without recreating it.
Release Notes
Added "Change Editor" option to the workspace Overview tab, allowing users to switch the IDE of a stopped workspace without recreating it.
Docs PR
N/A