Skip to content

fix(jetbrains): detect unsupported remote workspaces - #13217

Merged
kirillk merged 5 commits into
mainfrom
investigate-podman-container-crash
Aug 20, 2026
Merged

fix(jetbrains): detect unsupported remote workspaces#13217
kirillk merged 5 commits into
mainfrom
investigate-podman-container-crash

Conversation

@kirillk

@kirillk kirillk commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

What

  • Detect JetBrains virtual filesystem workspace paths that the host-side Kilo runtime cannot access.
  • Surface those workspaces through the backend/shared workspace state as UNSUPPORTED instead of continuing to load unreachable project data.
  • Keep workspace load failures out of IDE internal error popups while retaining diagnostic details.

Why

Dev Container and WSL virtual filesystem projects can point at paths that are valid in the IDE but not reachable by the locally spawned Kilo runtime. Marking them unsupported prevents confusing load behavior and gives the frontend a stable state to render dedicated guidance.

Tests

  • ./gradlew :backend:test --tests ai.kilocode.backend.workspace.RemoteDirectoryTest
  • ./gradlew typecheck

Retry exhaustion for workspace/app data loads logged via IntelliJ's
Logger.error, which IntelliJ turns into an 'IDE Internal Error' popup.
Downgrade the exhausted-retry log to warn and enrich workspace fetch
failures with HTTP status and response body so the real cause (e.g. a
500 from the CLI /agent endpoint) is visible in diagnostics instead of
a generic crash-style dialog.
@kilo-code-bot

kilo-code-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 2
SUGGESTION 2
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 77 UNSUPPORTED is terminal on the backend, but the deferred frontend still treats it as connecting
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 365 Raw HTTP response bodies are copied into LoadError.detail and can reach logs/UI

SUGGESTION

File Line Issue
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 245 logResponseBody() duplicates the body already embedded by detail(e)
.changeset/quiet-jetbrains-workspace-errors.md 5 Changeset omits the user-visible unsupported-workspace detection change
Files Reviewed (12 files)
  • .changeset/quiet-jetbrains-workspace-errors.md - 1 issue
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/app/KiloBackendAppService.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloWorkspaceRpcApiImpl.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt - 3 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloWorkspaceState.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/RemoteDirectory.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/app/KiloBackendAppServiceTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/rpc/KiloWorkspaceRpcApiImplTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspaceTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/workspace/RemoteDirectoryTest.kt - 0 issues
  • packages/kilo-jetbrains/build.gradle.kts - 0 issues
  • packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/dto/KiloWorkspaceStateDto.kt - 0 issues

Fix these issues in Kilo Cloud

Previous Review Summary (commit a4ab432)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit a4ab432)

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 2
SUGGESTION 2
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 77 UNSUPPORTED is terminal on the backend, but the deferred frontend still treats it as connecting
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 365 Raw HTTP response bodies are copied into LoadError.detail and can reach logs/UI

SUGGESTION

File Line Issue
packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt 245 logResponseBody() duplicates the body already embedded by detail(e)
.changeset/quiet-jetbrains-workspace-errors.md 5 Changeset omits the user-visible unsupported-workspace detection change
Files Reviewed (12 files)
  • .changeset/quiet-jetbrains-workspace-errors.md - 1 issue
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/app/KiloBackendAppService.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/rpc/KiloWorkspaceRpcApiImpl.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspace.kt - 3 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/KiloWorkspaceState.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/workspace/RemoteDirectory.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/app/KiloBackendAppServiceTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/rpc/KiloWorkspaceRpcApiImplTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/workspace/KiloBackendWorkspaceTest.kt - 0 issues
  • packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/workspace/RemoteDirectoryTest.kt - 0 issues
  • packages/kilo-jetbrains/build.gradle.kts - 0 issues
  • packages/kilo-jetbrains/shared/src/main/kotlin/ai/kilocode/rpc/dto/KiloWorkspaceStateDto.kt - 0 issues

Fix these issues in Kilo Cloud


Reviewed by grok-4.6 · Input: 19.7K · Output: 63 · Cached: 2.2K

Review guidance: REVIEW.md from base branch main

Show unsupported workspace directories (Dev Container / WSL / invalid
virtual path) through the standard in-session connection banner instead
of a stuck "Loading…" state. The banner includes the workspace path and
two clear, localized options: reopen in the container/WSL via JetBrains
Gateway, or open from the local filesystem. Expanded error details now
fit the full text, capped to the available transcript height.

Remove the dev-only kilo.dev.forceUnsupportedWorkspace override used to
reproduce the state during development.
@kirillk
kirillk merged commit 36a59bf into main Aug 20, 2026
24 checks passed
@kirillk
kirillk deleted the investigate-podman-container-crash branch August 20, 2026 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants