fix(container): remove legacy compose FFI - #8441
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe change removes the unused legacy Compose FFI feature and implementation from ChangesLegacy Compose FFI removal
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR removes the unused legacy compose FFI while leaving the canonical API unchanged; no actionable merge-blocking risk remains, aside from a localized test-robustness follow-up if the manifest has no features table. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
|
Validated as part of an 11-PR batch (#8439, #8440, #8441, #8442, #8443, #8444, #8446,
One thing stated plainly: these are hardening, not demonstrated repairsI could not make the underlying bugs reproduce. My probe passes on unmodified That is consistent with the string audit having found these windows by reading rather than by |
Summary
Delete
perry-container-compose's unused legacy FFI feature and module, whose private 4-byte string header was incompatible with the runtime's 20-byte string ABI. The canonical stack-handle compose FFI inperry-stdlibremains unchanged.Changes
ffiCargo feature, module gate, and duplicatejs_compose_*exports.perry-stdlib's dependency declaration.Related issue
Fixes #8422
Test plan
cargo fmt --all -- --checkcargo check -p perry-container-composeConfirmed
cargo check -p perry-container-compose --features ffinow fails because the feature no longer exists.cargo test -p perry-container-compose(171 tests passed)Canonical stdlib compose FFI smoke tests passed within
cargo test -p perry-stdlib --features container --tests(129 lib tests passed). The run then stopped on six existing promise-state assertions incontainer_backend_selection; the same six failures reproduce on untouchedmainat526e0b502.cargo build --profile perry-dev -p perry -p perry-runtime-static -p perry-stdlib-staticcargo build --releasecleancargo test --workspace --exclude perry-ui-ios --exclude perry-ui-tvos --exclude perry-ui-watchos --exclude perry-ui-gtk4 --exclude perry-ui-android --exclude perry-ui-windowspasses(if user-facing) Added or updated a test under
test-files/or a#[test]in the affected crate(if CLI / stdlib / runtime API changed) Updated
docs/src/(not applicable; canonical API is unchanged)(if touching a platform UI backend) Built
-p perry-ui-<backend>locally on that platform (not applicable)Screenshots / output
Not applicable.
Checklist
feat:/fix:/docs:/chore:prefix convention used in the logSummary by CodeRabbit
Breaking Changes
Documentation
Tests