Desktop shows "OpenCode 1" for incompatible SSH servers even when remote is V2

オープン 初心者向け
#62,582 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
typescript
領域
frontend

調査の方向性

packages/app/src/runtime/server/health-machine.tsを読み、ヘルス状態が互換性なしの場合に、プローブしたバージョンがどのように保持されるかを追ってください。次に、packages/app/src/home/projects/view.tsxとpackages/app/src/session/server-unavailable-panel.tsxのフォールバック、および関連するテストを確認してください。V2または不明なバージョンにOpenCode 1と表示されず、既知の互換性のないバージョンが正確に表示されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

pending close triaging
Summary

When an SSH remote is marked incompatible, Desktop always shows:

This server is running OpenCode 1, which isn't compatible with this app. Upgrade it to OpenCode V2 to continue.

even if the remote is actually running OpenCode V2 (e.g. background service 2.2.5).

Screenshot

SSH remote "deba" tooltip says OpenCode 1

Environment
  • Client: OpenCode Desktop 2.2.6 on Linux
  • Remote over SSH running OpenCode background service 2.2.5 (opencode-cli serve --service; ~/.local/state/opencode/service.json reports "version":"2.2.5")
  • CLI on the remote PATH is also V2 (opencode v2.2.5)
  • SSH auth succeeds; failure is the post-connect incompatible UI
Expected
  • Do not claim the remote is OpenCode 1 when the version is unknown or is a V2 build
  • If the remote is V2 at the wrong patch version, prefer the exact-version / "Server update required" path
  • If truly incompatible, show the actual probed version when known
Actual

Tooltip says the server is running OpenCode 1 and asks to upgrade to V2.

Suspected cause

selectServerVersion only returns a version for healthy health. For incompatible it returns undefined, and the UI falls back to "1":

// packages/app/src/runtime/server/health-machine.ts
export function selectServerVersion(health: ServerHealth | undefined) {
  return health?.type === "healthy" ? health.version : undefined
}

// packages/app/src/home/projects/view.tsx
props.language.t("server.row.incompatible", {
  version: selectServerVersion(props.health) ?? "1",
})

Same fallback in packages/app/src/session/server-unavailable-panel.tsx.

Notes

Updating the remote from 2.2.5 → 2.2.6 restores connectivity in this setup, but the OpenCode 1 label is still incorrect and misleading.

主要言語
TypeScript
スター
224k
フォーク
30k
平均マージ
4時間 44分
マージ済み PR(30日)
513

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

anomalyco/opencode のほかの issue

anomalyco/opencode の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。