🤖 fix: Daytona startAndWait can start a sandbox after its deadline and then report a timeout
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 83/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- backend
調査の方向性
src/node/services/daytona/daytonaSandboxes.ts の184行目付近を読み、DaytonaSandboxes.startAndWait のテストを探してください。開始リクエストの前に期限がどのように追跡されるかを確認し、期限まではポーリングが stopping を報告し、期限後に stopped を報告するという説明されたケースを追加してください。呼び出しがタイムアウトし、POST /sandbox/<id>/start を送信しないことが完了条件です。
索引モデルが issue の本文から書いたものです。
説明
Follow-up from the Codex review of #7100 (thread: https://github.com/coder/xum/pull/7100#discussion_r4369788529, src/node/services/daytona/daytonaSandboxes.ts:184).
Problem
DaytonaSandboxes.startAndWait sends the start request before it checks the deadline. When a sandbox stays in a transitional state (for example stopping) for most of the wait and the last poll after the deadline reports stopped, Xum starts the sandbox and then throws a timeout. The caller sees a failure, but the sandbox runs and bills until Daytona's auto-stop stops it (30 minutes after the last activity).
Proposed fix
Check the remaining time before the start step, and throw the timeout without a start request when the deadline has passed. Add a test with a sandbox that reports stopping until the deadline and stopped after it, and assert that no POST /sandbox/<id>/start is sent.
Why it is deferred
#7100 runs its review loop under a P0/P1-only rule; P2 findings get a tracked follow-up. Daytona's auto-stop bounds the cost of a sandbox started this way.
- 主要言語
- TypeScript
- スター
- 2.1k
- フォーク
- 140
- 平均マージ
- 5時間 8分
- マージ済み PR(30日)
- 952
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/xum のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
🤖 fix: refresh the runtime status chip after a turn, terminal or editor starts a stopped sandboxオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
a10y a10y-audit ai-driven-qa claude
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
linagora/twake-directory-manager#219 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
0️⃣ phase/new
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
Pulse v7: buildPreferencesFromTelos() bypasses telosSectionOrFile(), renders empty on unified-TELOS installs対応中かも @zephyr91 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
danielmiessler/LifeOS#2393 ·
メンテナーはふだん 4 日以内に返信