Hello all,
As of developer beta 1 of iOS 13.3 (and associated releases for other platforms), we've changed the behavior of receive(on:)
plus other Scheduler
operators to synchronously send their subscription downstream. Previously, they would "async" it to the provided scheduler.
This means that the test case in the original post of this thread now does what most would expect (print the value). Since the subscription is received synchronously by sink
, and it synchronously requests .unlimited
from its upstream, there is no opportunity for any values sent to the PassthroughSubject
to be dropped.
If you have access to the developer betas, please give it a try with your own Combine scenarios and let me know how it goes.
I'd like to extend a special thank you to everyone here and elsewhere across the web who provided us valuable feedback on this.