No ToTask, ever — the test exemption is retracted

The guidance used to say tests were the one sanctioned place to bridge an observable to a Task. That exemption never held: a Task completed from inside an Rx pipeline resumes its awaiter inline, on the signalling thread, still inside Rx's trampoline, and everything the continuation does inherits that — so a bridge written "only in a test" changes how the code under test runs.

A test now awaits the observable directly under a timeout (await hub.DisposalCompleted.FirstOrDefaultAsync().Timeout(30.Seconds())), exactly as production code composes and subscribes. The only place a bridge may still work is inside an activity, where nothing mesh-side runs after the await — and even there the reactive shape is preferred.

Reconnecting…
The server was updated. Reloading the page to pick up the latest version.