@3dsource/angular-unreal-module 0.0.137 → 0.0.138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5384,9 +5384,19 @@ class StreamStatusTelemetryService2 {
|
|
|
5384
5384
|
}
|
|
5385
5385
|
}
|
|
5386
5386
|
init() {
|
|
5387
|
-
// Start a new session
|
|
5387
|
+
// Start a new session when a real connection attempt BEGINS, not on
|
|
5388
|
+
// every `initSignalling` dispatch. `initSignalling` is fired multiple
|
|
5389
|
+
// times per page load (the unreal-scene effect, `startStream`, the
|
|
5390
|
+
// reconnect effect), but the connection layer collapses them into one
|
|
5391
|
+
// attempt via `connectToSignaling$` (`exhaustMap` + `!cirrusConnected`
|
|
5392
|
+
// filter). `setEstablishingConnection(true)` is dispatched exactly
|
|
5393
|
+
// once per real attempt from `SignallingService.startEstablishingConnection()`,
|
|
5394
|
+
// downstream of that guard — so binding here yields one session per
|
|
5395
|
+
// attempt instead of a burst of `restart` churn sessions. Genuine
|
|
5396
|
+
// reconnects (e.g. DataChannelTimeout) re-enter the same path and
|
|
5397
|
+
// correctly end the prior session as `restart` + start a new one.
|
|
5388
5398
|
this.actions$
|
|
5389
|
-
.pipe(ofType(
|
|
5399
|
+
.pipe(ofType(setEstablishingConnection), filter$1(({ value }) => value === true), takeUntil$1(this.destroy$))
|
|
5390
5400
|
.subscribe(() => this.startSession());
|
|
5391
5401
|
// Action-stream end triggers (NOT a state-observable subscription).
|
|
5392
5402
|
//
|