25f22231a6
The four tests polled the async task pool with a fixed budget of five app.update() calls. Under cargo test --workspace the pool's background threads are starved by other tests, so even an instantly-resolving future can take more than five frames to be polled. Replace the fixed loop with a deadline-bounded loop (5 s timeout) that exits early once the expected side-effect is observable — the same pattern used in sync_plugin.rs tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>