Dashboard: a successful response whose JSON does not parse is treated as an empty success
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 88/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- frontend
調査の方向性
まず frontend/src/services/api.ts の readSuccessBody 周辺と、その直上にある非 JSON のエラーブランチを読みます。空の 204/205 応答が別々に処理されていることを確認し、その後、破損した JSON のパスが同じ種類のパス固有の ApiError を発生させるように変更します。関連するフロントエンドサービスのテストで検証し、本文が切り詰められているか無効な 2xx JSON 応答も含めます。
索引モデルが issue の本文から書いたものです。
説明
readSuccessBody in frontend/src/services/api.ts (lines ~370-375) returns undefined when a 2xx response with a JSON content type has a body that does not parse:
try {
return (await response.json()) as T;
} catch {
return undefined as T;
}
So a truncated or malformed successful body is treated as a successful empty result. The caller then shows success, or fails later on a property of undefined with a message that does not say what went wrong. Empty 204/205 responses are already handled before this point and are not affected.
Expected: a body that the content type says is JSON but that does not parse raises an ApiError naming the path (as the non-JSON branch above already does), so the page shows a clear error. Found in a code review (2026-10-06); no user report.
- 主要言語
- Python
- スター
- 0
- フォーク
- 4
- 平均マージ
- 5時間 19分
- マージ済み PR(30日)
- 503
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Controlvar/controlvar のほかの issue
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionオープンbug post-launch
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Controlvar/controlvar#1737 ·
メンテナーはふだん 1 日以内に返信
-
fix(api): the feature-flag list has no defined order across pages対応中かも @amarkanday が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Controlvar/controlvar#1612 ·
メンテナーはふだん 1 日以内に返信
-
bug post-launch
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Controlvar/controlvar#1562 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
Controlvar/controlvar#1447 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")オープンbug post-launch
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Controlvar/controlvar#1428 ·
メンテナーはふだん 1 日以内に返信
Controlvar/controlvar の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
huggingface/deep-rl-class#723 ·
-
[tool] bug: Qwen3 XML tool parser raises on `...` argument values (Ellipsis is not JSON serializable)対応中かも @super-yuki が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 87/100
verl-project/verl#8559 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
TencentCloud/octop-harness#228 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
google/osv-scalibr#2585 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
NousResearch/hermes-agent#149323 ·
メンテナーはふだん 1 日以内に返信