diff --git a/src/Quasar/Network/Runtime/Observable.hs b/src/Quasar/Network/Runtime/Observable.hs index eb4e7ec781b3f88ebd9baa1e67cd54af66475543..5a32a5e34602d17053acc563a05d3938529ffdeb 100644 --- a/src/Quasar/Network/Runtime/Observable.hs +++ b/src/Quasar/Network/Runtime/Observable.hs @@ -49,6 +49,8 @@ newObservableStub startRetrieveRequest startObserveRequest = pure uncachedObserv retrieveFn = toTask <$> startRetrieveRequest observeToStream :: (Binary v, MonadAsync m) => Observable v -> Stream (PackedObservableMessage v) Void -> m () -observeToStream observable stream = - asyncObserve_ observable \msg -> +observeToStream observable stream = do + disposable <- asyncObserve observable \msg -> streamSend stream $ packObservableMessage msg + + attachDisposable (getResourceManager stream) disposable