Conversation
|
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}]}}]" |
3 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}]}}]" |
|
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}]}}]" |
|
/retest |
- Use findIndex to locate the editor contribution by name instead of hard-coding index 0; fixes incorrect patch when other contributions (e.g. AI tool) precede the editor entry - Wrap old-template deletion in its own try/catch so a stale-resource error does not surface as a failed editor change after the workspace is already patched - Guard devfile-source regex replacement — only run it when the annotation actually contains che-editor=, leaving unrelated sources unchanged - Replace Checkbox with Radio in EditorSelectorModal so screen readers correctly announce single-selection semantics Assisted-by: Claude Opus 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}]}}]" |
|
/retest |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1663 +/- ##
==========================================
+ Coverage 92.45% 92.47% +0.02%
==========================================
Files 609 612 +3
Lines 63850 64556 +706
Branches 5011 5107 +96
==========================================
+ Hits 59031 59698 +667
- Misses 4754 4791 +37
- Partials 65 67 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@olexii4 I did just deploy it and had some problems:
And that's the bug I had for the past 20 min of test (except for chemuxer that refuse to boot but that's another subject) |
When switching editor groups the modal always reset the version to group.versions[0].version. If the first version in the list did not match the current editor's version (e.g. insiders before latest), going back to the original editor showed the wrong version. Replace selectedVersion: string with versionsByGroup: Record<string, string> so each group independently tracks its selected version for the duration of the modal session. State is reset on modal open so a previous session's choices never persist across Cancel/reopen. Adds three regression tests covering the reported scenario. 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}]}}]" |
|
@batleforc thanks for catching this. Fixed in efa10707: replaced the single Could you test it after the changes? |
|
@olexii4 Looks good to me. The IDE Switch works perfectly for me. |
svor
left a comment
There was a problem hiding this comment.
lgtm
Screen.Recording.2026-09-09.at.17.28.01.mov
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ibuziuk, olexii4, svor 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 |
|
@olexii4: hello, I have a suggesting about how to slightly improve selection of editor in the Change Editor dialog. IMHO it's not so convenient to locate editor by scrolling the page: It would be more convenient for usage if we could get rid of vertical scroll bar, which should be possible to do by increasing the dialog window height and removal the second line with editor description from the list, like Also, the Another possible improvement is displaying the list of editors in the same order as on the Editor Selector section in Create Workspace page: It would be appreciated if you could take a look. |
Move editor description from inline text to hover tooltip, sort editors the same way as the Create Workspace editor gallery (che-code first, versions by priority, deprecated last), and adopt the shared TagLabel component for version/tag badges. Assisted-by: Claude Opus 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
|
New changes are detected. LGTM label has been removed. |
|
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}]}}]" |
Remove dotted underline from editor names, collapse margins between editor list items, and increase list max-height from 18rem to 20rem. Assisted-by: Claude Opus 4.6 Signed-off-by: Oleksii Orel <oorel@redhat.com>
@dmytro-ndp I have fixed: |
The PatternFly Content h6 elements added large block margins that could not be overridden by a CSS module selector. Removing the wrapper eliminates the spacing issue. Assisted-by: Claude Opus 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}]}}]" |
1 similar comment
|
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}]}}]" |
|
/retest |
|
@olexii4 : thank you for handling PR review feedback. While the Change Editor dialog looks more concise after your changes, there is still room for improvement: rewrite or get rid of editor line hints with the Editor description, which overlap the lines above significantly::
I have also successfully tested switching between the web IDE and VS Code SSH IDEs, as mentioned as a common case in the fixed issue https://redhat.atlassian.net/browse/CRW-10647. At the same time, there was an issue where if you leave the Visual Studio Code (desktop) (SSH) landing page after workspace startup, the User Dashboard redirects to this opened page regardless of whether the workspace editor was changed to VS Code Editor later: |
Assisted-by: Claude Opus 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}]}}]" |
|
@dmytro-ndp I have fixed it. Could you recheck it? |






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 https://redhat.atlassian.net/browse/CRW-10647
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
eclipse-che/che-docs#3192