Dashboard: a successful response whose JSON does not parse is treated as an empty success
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 88/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Bắt đầu bằng cách đọc frontend/src/services/api.ts quanh readSuccessBody và nhánh lỗi không phải JSON ngay phía trên. Xác nhận rằng các phản hồi 204/205 rỗng được xử lý riêng, sau đó thay đổi đường dẫn JSON không hợp lệ để ném cùng loại ApiError dành riêng cho đường dẫn đó. Kiểm tra bằng các bài kiểm tra dịch vụ frontend liên quan, bao gồm một phản hồi JSON 2xx có nội dung bị cắt bớt hoặc không hợp lệ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 4
- Merge trung bình
- 5 giờ 36 phút
- Pull request đã merge (30 ngày)
- 509
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Controlvar/controlvar
-
bug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Controlvar/controlvar#1748 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionĐang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Controlvar/controlvar#1737 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Controlvar/controlvar#1562 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
Controlvar/controlvar#1447 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Đang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Controlvar/controlvar#1428 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Controlvar/controlvar
Issue tương tự
-
docs: Release playbookĐang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
awslabs/social-messaging-agent-runtime-toolkit#140 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
subtask
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
fga-eps-mds/2026.2-MeasureSoftGram-DOC#187 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
txn2/mcp-data-platform#2493 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
YO-WHATS-UP2/minigit#78 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
liberation-data/drivine-python#432 ·
Maintainer thường phản hồi trong vòng 1 ngày