Avoid client errors when a new variant of `MultiFilesUri` is added
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 65/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- rust
- Lĩnh vực
- blockchain, cli
Hướng nghiên cứu
Start at the MultiFilesUri definition and compare its serialization behavior with the signed entity types’ custom serde approach. Trace how locations are handled in the client library and client CLI, then run or add unit tests for known and unknown variants and the golden test for a message containing an unknown variant. Done means unsupported locations are skipped without deserialization errors while known variants continue to work.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Why
MultiFilesUri only has the Template variant and is deserialized with the derived serde implementation, so adding a new variant on the aggregator side would make already released clients fail to deserialize the Cardano database messages.
What
Make the deserialization of MultiFilesUri tolerant to unknown variants, so that a client ignores the locations it does not support instead of failing.
How
- Add a catch-all variant to
MultiFilesUrifor the unknown variants - Implement a custom serde deserialization that maps any unknown variant to the catch-all (same approach as
SignedEntityTypeMessage, as#[serde(other)]only supports unit variants) - Make
expand_to_file_uriandexpand_for_immutable_file_numberofMultiFilesUrireturn an error for the catch-all variant - Skip the locations with an unknown URI variant in
ImmutablesMessagePart::sanitized_locations, so that the client library and the client CLI ignore them - Add a golden test with a message that holds an unknown varian
- Ngôn ngữ chính
- Rust
- Star
- 155
- Fork
- 52
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 37
Chuẩn bị môi trường
- Không có Dockerfile hay 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 IntersectMBO/mithril
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
IntersectMBO/mithril#1605 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
spike :satellite:
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
IntersectMBO/mithril#3701 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesCó thể đã có người làm @jpraynaud đã nhận 2 ngày trước. Đang mởfeature :rocket:
IntersectMBO/mithril#3700 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
feature :rocket:
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
IntersectMBO/mithril#3699 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
feature :rocket:
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
IntersectMBO/mithril#3698 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của IntersectMBO/mithril
Issue tương tự
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openaiCó thể đã có người làm @arvindkumar-ship-it đã nhận hôm nay. Đang mởllm translation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
BerriAI/litellm#51871 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
comp-formats
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 64/100
ClickHouse/ClickHouse#131694 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
C-Bug S-Needs-Triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
bevyengine/bevy#26558 ·
Maintainer thường phản hồi trong vòng 2 ngày