Skip to content

Gateway plugin does not see project anymore #23803

Description

@batleforc

Describe the bug

Since 0.0.14 Devspaces Gateway plugin added a need to list the project ( https://github.com/redhat-developer/devspaces-gateway-plugin/blob/main/src/main/kotlin/com/redhat/devtools/gateway/server/RemoteIDEServerStatus.kt#L32 ) in a workspace before connecting to it. Since InteliJ 2025.3 remote-dev-server.sh status $PROJECT_SOURCE does not show project in the list before first connecting to the IDE and on restart does not show it anymore.
I did a reverse of the bug following this issue #23485 and ended up with a case different. No matter how many time i do the status command the pid stay the same so we are not in a temporary instances, and the unattendedMode stay set to true. I also used intelij 2026.1, 2023.3.4 and had the same issue.
When i try to force the connection to the ide by bypassing the extensions (oc port-forward then copy-paste direct connects link), I successfully connect and can work.
The user is stuck with the extensions in 0.0.13 that make a first login with OC mandatory and who stopped working (the connect button stays grey without any log has to why).

Che version

7.115

Steps to reproduce

  1. Overwrite the entrypoint-init-container.sh with the following
#!/bin/sh
#
# Copyright (c) 2023-2025 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#   Red Hat, Inc. - initial API and implementation
#

# Being called as a pre-start command, the script downloads the requested IDE and
# copies the binaries to the shared volume which should be mounted to a folder in a dev container.

ide_flavour="$1"
# mounted volume path
ide_server_path="/idea-server"

# IDEA, if none is specified
if [ -z "$ide_flavour" ]; then
    ide_flavour="idea"
fi

# Download the IDE binaries and install them to the shared volume.
cd "$ide_server_path" || exit
echo "Downloading IDE binaries..."
# After updating the versions here, update the editor definitions in https://github.com/eclipse-che/che-operator/tree/main/editors-definitions
ide_download_url=""
archive_name=""
# API : https://data.services.jetbrains.com/products?code=GO&type=release
case $ide_flavour in
  idea)
    # Code IIU
    # https://www.jetbrains.com/fr-fr/idea/download/other.html
    ide_download_url="https://download.jetbrains.com/idea/idea-2025.3.3.tar.gz"
    archive_name="idea-2025.3.3.tar.gz"
    ;;
# Other IDE are ommited for testing case
  *)
    echo -n "Unknown IDE is specified: $ide_flavour"
    echo -n "Check the editor definition."
    ;;
esac

editor_download_url_env_name="EDITOR_DOWNLOAD_URL_$(echo "$ide_id" | tr '/' '_' | tr '-' '_' | tr '[:lower:]' '[:upper:]')"
editor_download_url_configured=$(eval "echo \$${editor_download_url_env_name}")
if [ -n "$editor_download_url_configured" ]; then
    ide_download_url=$editor_download_url_configured
    echo "Using editor download URL from environment variable: $ide_download_url"
fi

# Check if IDE already downloaded, if so do now download it again
if [ ! -f $archive_name ]; then
    echo "Downloading version of IDE"
    rm -rf *
    curl -sL "$ide_download_url" -o $archive_name
    tar xzf $archive_name --strip-components=1
else
    echo "Ide already in the latest version"
fi

cp -r /status-app/ "$ide_server_path"
cp /entrypoint-volume.sh "$ide_server_path"

# Copy Node.js binaries to the editor volume.
# It will be copied to the user container if it's absent.
cp /usr/bin/node "$ide_server_path"/node-ubi9
cp /node-ubi8 "$ide_server_path"/node-ubi8
cp -r /node-ubi9-ld_libs "$ide_server_path"/node-ubi9-ld_libs

# Copy the folder with machine-exec binaries compatible with UBI8/9
cp -r /machine-exec-bin "$ide_server_path"/machine-exec-bin

# Copy the plugin that communicates with the machine-exec server
cp -r /ide-plugin "$ide_server_path"/ide-plugin

echo "Volume content:"
ls -la "$ide_server_path"
  1. Start with the edited IDE
  2. Try to connect to the new ide and end up with this message
Image
  1. Check the json returned by the status command
{
  "appPid": 253,
  "appVersion": "IU-261.22158.277",
  "runtimeVersion": "25.0.2b329.72",
  "unattendedMode": true,
  "backendUnresponsive": false,
  "modalDialogIsOpened": true,
  "idePath": "/idea-server",
  "ideIdentityString": "/home/user/.config/JetBrains/IntelliJIdea2026.1",
  "joinLink": "{ A VALID JOIN LINK }",
  "httpLink": "{ A VALID HTTPLINK }",
  "gatewayLink": "{ A VALID GATEWAY LINK }"
}

Tester with both the Redhat UDI and our own image.
Both the /idea-server/std.out and the one directly from the ide in the WS does not show any error.

Expected behavior

To be hable to connect to the workspace with 0.0.15

Runtime

OpenShift

Screenshots

No response

Installation method

other (please specify in additional context)

Environment

Linux

Eclipse Che Logs

N/A

Additional context

No response

Metadata

Metadata

Assignees

Labels

area/gatewayteam/CThis team is responsible for the the IDEs and Extensions

Type

Fields

No fields configured for Bug.

Projects

Status
✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions