Fix async renderer inherited view update crash#904
Conversation
🤖 Augment PR SummarySummary: Fixes a crash in the async renderer when inherited-view updates occur during transition rendering, and adds manual examples/tests to exercise that path. Changes:
Technical Notes: The core fix is a closure-capture change that avoids Swift exclusivity violations during inherited layer updates. 🤖 Was this summary useful? React with 👍 or 👎 |
| } else { | ||
| result = false | ||
| } | ||
| } while !propertiesNeedingUpdate.isEmpty |
There was a problem hiding this comment.
repeat { ... } while !propertiesNeedingUpdate.isEmpty can potentially spin forever if renderAsync(targetTimestamp:) returns nil while propertiesNeedingUpdate stays non-empty (e.g., a stuck update flag), which would hang tests. Consider ensuring the loop has an exit condition when didRender is false (and that canAdvanceTimeAutomatically is always restored).
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #904 +/- ##
=======================================
Coverage 26.28% 26.28%
=======================================
Files 710 710
Lines 49705 49719 +14
=======================================
+ Hits 13063 13070 +7
- Misses 36642 36649 +7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Agent Summary
This PR fixes an async renderer crash when inherited view updates are processed during transition rendering, and adds a focused Example view for manual verification.
Changes included:
NSHostingView._renderAsyncForTest(interval:)path so macOS test hosts can drive async rendering consistently.Validation: