CommandCodeAI / CommandCodeAI/command-code
WebSocket connections fail behind Fence sandbox (ignore HTTPS_PROXY)
まだ誰も着手していません。
- 主要言語
- 言語のデータがありません
- スター
- 4k
- フォーク
- 350
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Summary
When running Command Code inside popular sandbox tool Fence (https://github.com/fencesandbox/fence) (Linux sandbox using bwrap --unshare-net), all WebSocket connections time out. Fence routes network traffic through an HTTP proxy (HTTPS_PROXY=http://127.0.0.1:3128) since direct TCP is blocked by the network namespace.
curl, fetch, and HTTP requests work correctly. However, new WebSocket(url) (used in buildSandboxStreamUrl / defaultCreateSandboxStreamSocket) ignores proxy env vars and attempts a direct TCP connection, which is blocked by the sandbox.
The codebase already has detectProxyFromEnv(). Maybe use ws package with https-proxy-agent for WebSocket connections when a proxy is detected, instead of the built-in WebSocket
Expected Behavior
CommandCode working inside Fence sandboxing
Actual Behavior
Connection issues with Fence. Can't use CommandCode with it.
Steps to reproduce the issue
- Install and configure Fence ( https://github.com/fencesandbox/fence )
- Run CommandCode with "fence cmd"
Command Code Version
1.10.0
Operating System
Linux
Terminal/IDE
JetBrains-JediTerm
Shell
bwrap
Session file (optional)
No response
Fix prompt (optional)
No response
Additional context
No response
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず buildSandboxStreamUrl と defaultCreateSandboxStreamSocket を追跡し、次に既存の HTTP リクエストで detectProxyFromEnv がどのように使用されているかを確認します。Fence sandbox の失敗を再現し、設定された HTTPS_PROXY 経由で WebSocket 接続が成功することを、直接接続を壊さずに検証します。
索引モデルが issue の本文から書いたものです。
評価
- 領域
- cli, networking
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 68/100