title: RXJS sharedReplay does not work when recreating an observable
body: <p>I'm using RXJS websocket for my application. After logging in data is send from my server to the client and the data is stored in an observable using <code>shareReplay</code> to keep the data when navigating the application.</p>
  <pre><code>if(!this.data$ || this.data$Completed) {
      this.data$ = this.dataService.get(this.CTRL, 'list').pipe(
          finalize(() =&gt; {
              console.log('finalizing data list');
              this.data$Completed = true;
          }),
          map(data =&gt; [....]), // irrelevant
          tap((d) =&gt; console.log('data: ', d)),
          shareReplay(1),
          tap((d) =&gt; console.log('data 2: ', d)),
      );
  }
  </code></pre>
  <p>Console output is as intended</p>
  <pre><code>// first subscribe
  data:  [{…}]
  data 2:  [{…}]
  // every other subscribe when resubscribing after navigation / different components
  data 2:  [{…}]
  data 2:  [{…}]
  data 2:  [{…}]
  ...
  </code></pre>
  <p>When logging off the connection is terminated and the <code>finalize</code> method is triggered. When loggin back in the data is send again, but the <code>shareReplay</code> does not work anymore. I get data only on the first subscribe, but not after navigating and resubscribing.</p>
  <pre><code>// logout
  finalizing data list
  
  // logging in again
  data:  [{…}]
  data 2:  [{…}]
  </code></pre>
  <p>I also noticed that the rxjs websocket <code>multiplex</code> in that case sends subscribe commands to the server, so obvisously I subscribe to the websocket subject and not the ReplaySubject.</p>