TS SDK: `Result` errors are serialized with the `ok` type (instance crash)
Maintainer thường phản hồi trong vòng 1 ngày
@Tyagiquamar đang làm issue này rồi.
Từ ngày 11/10/2026.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- Dưới một giờ
- Mức phù hợp với người mới
- 85/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
- devtools
Hướng nghiên cứu
Lỗi nằm trong crates/bindings-typescript/src/lib/algebraic_type.ts quanh dòng 655-662, nơi serializeErr được tạo từ ty.variants[0] thay vì ty.variants[1]. Hãy đọc bộ serializer result xung quanh để xác nhận mẫu này, sau đó thêm một test serialize t.result có kiểu ok và kiểu err khác nhau, chẳng hạn t.result(SomeObject, t.string()) với { err: 'nope' }. Công việc hoàn thành khi chuỗi lỗi được serialize thành string và test đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Version: spacetimedb (npm) 2.11.0, still on master e596513
Where: crates/bindings-typescript/src/lib/algebraic_type.ts ~L655-662
const serializeOk = AlgebraicType.makeSerializer(ty.variants[0].algebraicType, typespace);
const serializeErr = AlgebraicType.makeSerializer(ty.variants[0].algebraicType, typespace); // ← should be variants[1]
Repro: a TS procedure (or anything else returning a result) declared as t.result(SomeObject, t.string()) that
returns { err: 'nope' }.
Actual: TypeError: Cannot read properties of undefined (reading 'length') in writeString, and the instance
reports a fatal error. The error string is written with the SomeObject serializer.
Expected: the error is serialized as a string.
It only works by accident when the ok and err types are the same (e.g. t.result(t.string(), t.string())).
Fix: ty.variants[1].algebraicType on the serializeErr line.
- Ngôn ngữ chính
- Rust
- Star
- 25.3k
- Fork
- 1.1k
- Merge trung bình
- 4 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 44
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không 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 clockworklabs/SpacetimeDB
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
clockworklabs/SpacetimeDB#6146 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TS SDK: `t.result()` is typed `Ok | Err`, but the runtime expects `{ ok } | { err }`Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
clockworklabs/SpacetimeDB#6127 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TS SDK: `ctx.http.fetch` throws for status codes the `statuses` package doesn't knowCó thể đã có người làm @kshanxs đã nhận 1 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
clockworklabs/SpacetimeDB#6126 ·
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 72/100
clockworklabs/SpacetimeDB#6124 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TS SDK: `ctx.http.fetch` splits header values that contain commasCó thể đã có người làm @kshanxs đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
clockworklabs/SpacetimeDB#6123 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của clockworklabs/SpacetimeDB
Issue tương tự
-
ai_p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ClickHouse/ClickHouse#125522 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: OpenRouter streaming chunks report the requested router name instead of the model OpenRouter servedCó thể đã có người làm @Mrun25 đã nhận hôm nay. Đang mởbug llm translation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
BerriAI/litellm#46095 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:low flow:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
jaroslawherod/micold-ai-ide#788 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Docs: refresh target-app-parity and file-format-parity against mainCó thể đã có người làm @vangel76 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
storytold/photocraft#4417 · 1 bình luận ·
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 75/100
bevyengine/dlss_wgpu#37 ·