Repository navigation
fix!: align Protocol 28 codecs and require SDK 17.2.1 - #166
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #166 +/- ##
=========================================
Coverage 99.99% 100.00%
=========================================
Files 573 580 +7
Lines 42218 42523 +305
Branches 5589 5608 +19
=========================================
+ Hits 42216 42523 +307
+ Partials 2 0 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Named struct results could assign a sparse map's values to the wrong fields, typed map arguments could retain insertion order, and ABI event handlers rejected valid sparse Rust SDK 28 data. Decode named records by Symbol key, normalize only void-compatible omissions, and encode canonical maps without mutating caller inputs. Generated clients share these rules and retain dense writes and normalized output fields.
**, with typed errors when an automatic ABI query cannot fit.parseScValEntries.Coverage is enforced at 100%: Codecov project and patch targets have zero tolerance, and the required aggregate CI job independently validates complete, consistent LCOV line, branch and function counters. Tests now exercise every Protocol28 bound method through actual Contract encoding/decoding, native/extended codec dispatch, alternate event data, cold React metadata caching and recorder failure boundaries.
Coverage generation and aggregation use the already-supported Deno 2.9.6 consistently. Deno 2.7.11 incorrectly attributes unreachable whitespace before
finallyand injected decorator scaffolding to source coverage. Its independent compatibility checks remain. The coverage follow-up preserves production behavior and existing report inclusion, without adding exclusions or transformations. Raw profiles are archived per package/shard and fully restored for aggregation.Local validation on the final implementation: 357 suites / 3,513 steps pass, with 100% coverage of 42,524 lines, 11,404 branches and 3,054 functions across 581 measured files. The exact aggregate gate and unchanged CRAP threshold pass. Gate tests reject missed metrics and incomplete/inconsistent reports through the actual CLI. The repaired recorder tests and paging declarations also pass on Deno 2.7.11.
Lint, architecture, public types, JSR/publish dry run, release/API checks, recorder/CI tooling and all 131 documentation examples pass. The compatibility matrix retains isolated Deno 2.7.11/2.9.6 consumers, TypeScript 5.9.3/6.0.3 on Node 22.12/24, upstream wallet checks and production bundles in Chromium, Firefox and WebKit. Exact-head CI passes all 30 applicable jobs for signed commit
29f449a972959e459b65853d47839dcc7b3ce4cf. Its independent aggregate gate confirms 100% of 42,523 lines, 11,408 branches and 3,054 functions across 580 files, with CRAP passing. Codecov confirms 100% project and patch coverage, including all 492 changed coverable lines. One external archive HTTP503 required a same-commit failed-job retry, which passed without code changes.Draft for review; no merge, package publication or deployment. CodeRabbit's draft-skipped status is not a review.