Repository navigation
Conversation
18585d2 to
e4fdb53
Compare
javache
left a comment
There was a problem hiding this comment.
We're not super consistent about this, and this is probably an issue across multiple methods (eg onNewIntent) - we should build on the existing Task abstraction within ReactHost to schedule these instead, instead of having ad-hoc queues.
Maybe similarly to callWithExistingReactInstance, you could add a callWithExistingReactContext which queues up a task and waits for a react context?
|
Published the Task-based revision as
Re-ran |
e4fdb53 to
0405099
Compare
|
@javache The Task-based revision is now published in 0405099 and ready for re-review. It uses the existing ReactInstance task rather than a separate queue; all 13 focused ReactHost tests pass on the rebased commit. The earlier fork lock is resolved. CI is running; details and remaining native/device verification limits are in the updated description. |
Summary
Fixes #52114.
Activity results can arrive while bridgeless React startup is already scheduled but the React context is not ready. Defer their delivery through the existing ReactInstance task rather than maintaining a separate queue.
callWithExistingReactContextreads the instance task on the host executor after previously requested startup work, then delivers on the UI executor once initialization succeeds. It does not start an otherwise unused host and drops delivery for a destroyed activity or a replaced instance.This revision follows the requested Task-based approach and is rebased onto upstream
9c7b0f5.Changelog
[ANDROID] [FIXED] - Deliver activity results received during bridgeless React context startup
Test Plan
13 tests passed, 0 failures/errors. Covers ready-context delivery, startup already scheduled, ordering/null intents, and destroyed activities. Changed Kotlin files pass ktfmt 0.59.0;
git diff --check origin/main..HEADpasses.Full native/device verification is left to CI and maintainer testing; it was not run locally.