CommandCodeAI / CommandCodeAI/command-code

WebSocket connections fail behind Fence sandbox (ignore HTTPS_PROXY)

オープン
#625 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

主要言語
言語のデータがありません
スター
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
  1. Install and configure Fence ( https://github.com/fencesandbox/fence )
  2. 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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

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

調査の方向性

まず buildSandboxStreamUrl と defaultCreateSandboxStreamSocket を追跡し、次に既存の HTTP リクエストで detectProxyFromEnv がどのように使用されているかを確認します。Fence sandbox の失敗を再現し、設定された HTTPS_PROXY 経由で WebSocket 接続が成功することを、直接接続を壊さずに検証します。

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

評価

領域
cli, networking
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

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

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