I already know that
publish shares a single subscription and also returns a ConnectableObservable ( so we have to Connect(
shareReplay() is basically publishReplay().refCount()
Definitely not.
Both shareReplay and publishReplay (+ calling connect on it) will make the observable behind it hot.
But the very important difference between them is:
shareReplay: won't stop emitting until it's completed, no matter if there are no subscriptions anymore or not.publishReplay: will stop after the last subscriber unsubscribes if used together with refCountImho this is a crucial information.