batch: land #8813, #8815, #8816, #8817, #8818, #8819, #8820 - #8822
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (107)
📝 WalkthroughWalkthroughThis PR adds native ChangesNative
Runtime archive compatibility
Async events and networking
Runtime behavior and GC safety
Sharp image creation
Estimated code review effort: 5 (Critical) | ~120 minutes Suggested reviewers: ✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Batch landing of seven reviewed PRs, validated once as a single merged tree.
All seven merged cleanly with no conflicts and no fixes needed while landing.
Audit notes
put_value_index_fast_path. Sound:PutValueSetstores the assignment base in bothtargetandreceiver, so those are two HIR representations of one source evaluation, not two that need coalescing, andsame_put_value_receiver_expris already trusted on the sibling same-receiver path. The property this rests on —IndexSet::lowerevaluating the base once — is asserted directly bysame_call_returned_array_uses_array_index_store_and_evaluates_receiver_once, withdistinct_call_receiver_stays_on_explicit_receiver_put_value_pathcovering the fail-closed side.runtime_dirty_external_slot_span, not new barrier logic, so no new trust is required. Compaction usesptr::copy(memmove), correctly overlap-safe.with_mut_ptr+ 10with_const_ptr+ 3across_mutagainst only 18 bareget_raw_*reads, across 35 handle scopes. Itstimer.rschange (+10/-3) does not touchjs_callback_timer_has_pendingorjs_callback_timer_tick, so it cannot undermine the assertions fix(async_hooks): complete Node lifecycle parity #8671 landed in re-land #8671: async_hooks lifecycle parity (defer crypto completions) #8814 — confirmed by the fullperry-stdlibsuite staying at 120/0.perry-ext-qs/{parse,stringify,options}.rs); thesha256/ported-atfields record what it was ported from. TheCargo.lockdelta is exactly one new package,perry-ext-qs, first-party — zero new third-party dependencies, no vendored JS, nopackage.jsonchange.Validation (merged tree)
perry-runtime2690,perry-codegen1251,perry-hir336,perry-stdlib120,perry-ext-qs11 — all 0 failedAn earlier run of this same validation died of ENOSPC (the Data volume was at 100%); those results were discarded rather than interpreted, and the numbers above come from a clean re-run with 40Gi free, verified by
dfbefore and after.Summary by CodeRabbit
New Features
qs.sharpnow supports creating solid RGB and RGBA images with configurable backgrounds.Bug Fixes