@anam-ai/js-sdk 4.17.0 → 4.18.0
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.
- package/dist/main/lib/ClientMetrics.d.ts +10 -2
- package/dist/main/lib/ClientMetrics.d.ts.map +1 -1
- package/dist/main/lib/ClientMetrics.js +46 -31
- package/dist/main/lib/ClientMetrics.js.map +1 -1
- package/dist/main/lib/ConnectionMilestones.d.ts +2 -2
- package/dist/main/lib/ConnectionMilestones.d.ts.map +1 -1
- package/dist/main/lib/ConnectionMilestones.js +16 -5
- package/dist/main/lib/ConnectionMilestones.js.map +1 -1
- package/dist/main/lib/constants.js +1 -1
- package/dist/main/modules/SignallingClient.d.ts +23 -0
- package/dist/main/modules/SignallingClient.d.ts.map +1 -1
- package/dist/main/modules/SignallingClient.js +107 -14
- package/dist/main/modules/SignallingClient.js.map +1 -1
- package/dist/main/modules/StreamingClient.d.ts +36 -0
- package/dist/main/modules/StreamingClient.d.ts.map +1 -1
- package/dist/main/modules/StreamingClient.js +363 -25
- package/dist/main/modules/StreamingClient.js.map +1 -1
- package/dist/module/lib/ClientMetrics.d.ts +10 -2
- package/dist/module/lib/ClientMetrics.d.ts.map +1 -1
- package/dist/module/lib/ClientMetrics.js +43 -29
- package/dist/module/lib/ClientMetrics.js.map +1 -1
- package/dist/module/lib/ConnectionMilestones.d.ts +2 -2
- package/dist/module/lib/ConnectionMilestones.d.ts.map +1 -1
- package/dist/module/lib/ConnectionMilestones.js +17 -6
- package/dist/module/lib/ConnectionMilestones.js.map +1 -1
- package/dist/module/lib/constants.js +1 -1
- package/dist/module/modules/SignallingClient.d.ts +23 -0
- package/dist/module/modules/SignallingClient.d.ts.map +1 -1
- package/dist/module/modules/SignallingClient.js +107 -14
- package/dist/module/modules/SignallingClient.js.map +1 -1
- package/dist/module/modules/StreamingClient.d.ts +36 -0
- package/dist/module/modules/StreamingClient.d.ts.map +1 -1
- package/dist/module/modules/StreamingClient.js +363 -25
- package/dist/module/modules/StreamingClient.js.map +1 -1
- package/dist/umd/anam.js +1 -1
- package/package.json +1 -1
|
@@ -16,12 +16,34 @@ import { ToolCallManager } from './ToolCallManager';
|
|
|
16
16
|
const SUCCESS_METRIC_POLLING_TIMEOUT_MS = 15000; // After this time we will stop polling for the first frame and consider the session a failure.
|
|
17
17
|
const STATS_COLLECTION_INTERVAL_MS = 5000;
|
|
18
18
|
const ICE_CANDIDATE_POOL_SIZE = 2; // Optimisation to speed up connection time
|
|
19
|
+
const MAX_ICE_RESTART_ATTEMPTS = 3;
|
|
20
|
+
const ICE_DISCONNECTED_GRACE_MS = 2000;
|
|
21
|
+
const ICE_RESTART_WATCHDOG_MS = 3000;
|
|
22
|
+
const ENSURE_WS_OPEN_TIMEOUT_MS = 5000;
|
|
19
23
|
export class StreamingClient {
|
|
20
24
|
constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager, connectionMilestones) {
|
|
21
25
|
var _a, _b, _c, _d;
|
|
22
26
|
this.peerConnection = null;
|
|
27
|
+
this.connectionEstablishedEmitted = false;
|
|
28
|
+
this.iceRestartInProgress = false;
|
|
29
|
+
this.iceRestartAttempts = 0;
|
|
30
|
+
this.iceRestartAwaitedAnswer = false;
|
|
31
|
+
// Restart-episode telemetry (see sendIceRestartMetric). null = no episode.
|
|
32
|
+
this.iceRestartEpisodeStartMs = null;
|
|
33
|
+
this.iceRestartEpisodeTrigger = null;
|
|
34
|
+
this.iceRestartStopped = false; // set on shutdown; halts all restart activity
|
|
35
|
+
this.iceDisconnectedGraceTimer = null;
|
|
36
|
+
this.iceRestartWatchdogTimer = null;
|
|
37
|
+
this.pendingWsOpenListener = null;
|
|
38
|
+
this.pendingWsOpenTimeout = null;
|
|
39
|
+
this.pendingWsOpenReject = null;
|
|
23
40
|
this.connectionReceivedAnswer = false;
|
|
24
41
|
this.remoteIceCandidateBuffer = [];
|
|
42
|
+
// While a re-offer is being minted and sent, local candidates are buffered here
|
|
43
|
+
// so they reach the server AFTER the restart offer (which carries the new ICE
|
|
44
|
+
// credentials); otherwise the engine adds them against the old generation and
|
|
45
|
+
// drops them. null = not buffering (normal path).
|
|
46
|
+
this.iceRestartCandidateBuffer = null;
|
|
25
47
|
this.inputAudioStream = null;
|
|
26
48
|
this.dataChannel = null;
|
|
27
49
|
this.videoElement = null;
|
|
@@ -428,9 +450,30 @@ export class StreamingClient {
|
|
|
428
450
|
case SignalMessageAction.ANSWER: {
|
|
429
451
|
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('answer_received');
|
|
430
452
|
const answer = signalMessage.payload;
|
|
431
|
-
|
|
453
|
+
if (this.peerConnection.signalingState !== 'have-local-offer') {
|
|
454
|
+
// Late answer to a superseded / rolled-back restart offer — ignore it so
|
|
455
|
+
// it cannot be applied in a stable state or against a different offer.
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
458
|
+
try {
|
|
459
|
+
yield this.peerConnection.setRemoteDescription(answer);
|
|
460
|
+
}
|
|
461
|
+
catch (err) {
|
|
462
|
+
console.error('StreamingClient - setRemoteDescription(answer) failed', err);
|
|
463
|
+
if (!this.connectionEstablishedEmitted &&
|
|
464
|
+
!this.isAwaitingRestartAnswer()) {
|
|
465
|
+
// Initial-connection answer: no restart watchdog will retry, so
|
|
466
|
+
// surface the failure instead of hanging the connection. Once the
|
|
467
|
+
// session has been established, any answer is a restart answer
|
|
468
|
+
// (even if ICE recovered on its own and cleared the restart flags
|
|
469
|
+
// before it arrived) — ICE-failure handling owns recovery then.
|
|
470
|
+
this.handleWebrtcFailure(err);
|
|
471
|
+
}
|
|
472
|
+
break; // restart answers: let the ICE restart watchdog retry
|
|
473
|
+
}
|
|
432
474
|
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('remote_description_set');
|
|
433
475
|
this.connectionReceivedAnswer = true;
|
|
476
|
+
this.onAnswerAccepted();
|
|
434
477
|
// flush the remote buffer
|
|
435
478
|
yield this.flushRemoteIceCandidateBuffer();
|
|
436
479
|
break;
|
|
@@ -452,6 +495,8 @@ export class StreamingClient {
|
|
|
452
495
|
}
|
|
453
496
|
case SignalMessageAction.END_SESSION:
|
|
454
497
|
const reason = signalMessage.payload;
|
|
498
|
+
// Server-ended session mid-restart counts as aborted; user hang-up doesn't.
|
|
499
|
+
this.sendIceRestartMetric('aborted');
|
|
455
500
|
(_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
|
|
456
501
|
failureStage: 'server_closed_connection',
|
|
457
502
|
});
|
|
@@ -543,6 +588,11 @@ export class StreamingClient {
|
|
|
543
588
|
this.firstLocalIceCandidateSent = true;
|
|
544
589
|
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_local_ice_candidate_sent', getIceCandidateMilestoneTags(event.candidate));
|
|
545
590
|
}
|
|
591
|
+
if (this.iceRestartCandidateBuffer) {
|
|
592
|
+
// Hold until the re-offer is sent (see restartIce).
|
|
593
|
+
this.iceRestartCandidateBuffer.push(event.candidate);
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
546
596
|
this.signallingClient.sendIceCandidate(event.candidate);
|
|
547
597
|
}
|
|
548
598
|
else {
|
|
@@ -550,31 +600,307 @@ export class StreamingClient {
|
|
|
550
600
|
}
|
|
551
601
|
}
|
|
552
602
|
onIceConnectionStateChange() {
|
|
553
|
-
var _a, _b, _c
|
|
554
|
-
const
|
|
555
|
-
if (
|
|
603
|
+
var _a, _b, _c;
|
|
604
|
+
const state = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
|
|
605
|
+
if (state) {
|
|
556
606
|
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_connection_state_changed', {
|
|
557
|
-
iceConnectionState,
|
|
607
|
+
iceConnectionState: state,
|
|
558
608
|
});
|
|
559
609
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
this.
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
610
|
+
switch (state) {
|
|
611
|
+
case 'connected':
|
|
612
|
+
case 'completed':
|
|
613
|
+
this.clearIceDisconnectedGraceTimer();
|
|
614
|
+
this.clearIceRestartWatchdog();
|
|
615
|
+
this.iceRestartInProgress = false;
|
|
616
|
+
this.sendIceRestartMetric('recovered'); // before the attempts reset below
|
|
617
|
+
this.iceRestartAttempts = 0;
|
|
618
|
+
this.signallingClient.endIceRestartReconnect();
|
|
619
|
+
if (!this.connectionEstablishedMilestoneRecorded) {
|
|
620
|
+
this.connectionEstablishedMilestoneRecorded = true;
|
|
621
|
+
(_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('client_connection_established', {
|
|
622
|
+
iceConnectionState: state,
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
if (!this.connectionEstablishedEmitted) {
|
|
626
|
+
this.connectionEstablishedEmitted = true;
|
|
627
|
+
this.publicEventEmitter.emit(AnamEvent.CONNECTION_ESTABLISHED);
|
|
628
|
+
}
|
|
629
|
+
this.startStatsCollection(); // idempotent (guards on statsCollectionInterval)
|
|
630
|
+
break;
|
|
631
|
+
case 'disconnected':
|
|
632
|
+
this.scheduleIceRestartAfterGrace();
|
|
633
|
+
break;
|
|
634
|
+
case 'failed':
|
|
635
|
+
this.clearIceDisconnectedGraceTimer();
|
|
636
|
+
void this.restartIce();
|
|
637
|
+
break;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
clearIceDisconnectedGraceTimer() {
|
|
641
|
+
if (this.iceDisconnectedGraceTimer) {
|
|
642
|
+
clearTimeout(this.iceDisconnectedGraceTimer);
|
|
643
|
+
this.iceDisconnectedGraceTimer = null;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
clearIceRestartWatchdog() {
|
|
647
|
+
if (this.iceRestartWatchdogTimer) {
|
|
648
|
+
clearTimeout(this.iceRestartWatchdogTimer);
|
|
649
|
+
this.iceRestartWatchdogTimer = null;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
// One metric per restart episode, sent at episode end. No-op when no
|
|
653
|
+
// episode is active; deliberately silent on user shutdown mid-episode.
|
|
654
|
+
sendIceRestartMetric(outcome) {
|
|
655
|
+
var _a;
|
|
656
|
+
if (this.iceRestartEpisodeStartMs === null) {
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
const durationMs = Math.round(performance.now() - this.iceRestartEpisodeStartMs);
|
|
660
|
+
const trigger = (_a = this.iceRestartEpisodeTrigger) !== null && _a !== void 0 ? _a : 'unknown';
|
|
661
|
+
this.iceRestartEpisodeStartMs = null;
|
|
662
|
+
this.iceRestartEpisodeTrigger = null;
|
|
663
|
+
// durationMs is the value, not a tag: near-unique tag values explode
|
|
664
|
+
// InfluxDB series cardinality. Episode count = count of points.
|
|
665
|
+
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_ICE_RESTART, durationMs, {
|
|
666
|
+
outcome,
|
|
667
|
+
attempts: this.iceRestartAttempts,
|
|
668
|
+
trigger,
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
// True while a restart offer is outstanding (in-progress gate, awaited-answer
|
|
672
|
+
// grace cycle, or armed watchdog) — i.e. an incoming answer belongs to an ICE
|
|
673
|
+
// restart rather than the initial connection.
|
|
674
|
+
isAwaitingRestartAnswer() {
|
|
675
|
+
return (this.iceRestartInProgress ||
|
|
676
|
+
this.iceRestartAwaitedAnswer ||
|
|
677
|
+
this.iceRestartWatchdogTimer !== null);
|
|
678
|
+
}
|
|
679
|
+
onAnswerAccepted() {
|
|
680
|
+
var _a;
|
|
681
|
+
const wasAwaitingRestartAnswer = this.isAwaitingRestartAnswer();
|
|
682
|
+
this.clearIceRestartWatchdog();
|
|
683
|
+
this.iceRestartAwaitedAnswer = false;
|
|
684
|
+
if (!wasAwaitingRestartAnswer) {
|
|
685
|
+
return;
|
|
686
|
+
}
|
|
687
|
+
this.iceRestartInProgress = false;
|
|
688
|
+
const state = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
|
|
689
|
+
if (state === 'disconnected' || state === 'failed') {
|
|
690
|
+
this.scheduleIceRestartAfterGrace();
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
// Clears the pending ensureSignallingConnected wait (timeout + listener).
|
|
694
|
+
clearPendingWsOpenWait() {
|
|
695
|
+
if (this.pendingWsOpenTimeout) {
|
|
696
|
+
clearTimeout(this.pendingWsOpenTimeout);
|
|
697
|
+
this.pendingWsOpenTimeout = null;
|
|
698
|
+
}
|
|
699
|
+
if (this.pendingWsOpenListener) {
|
|
700
|
+
this.internalEventEmitter.removeListener(InternalEvent.WEB_SOCKET_OPEN, this.pendingWsOpenListener);
|
|
701
|
+
this.pendingWsOpenListener = null;
|
|
702
|
+
}
|
|
703
|
+
this.pendingWsOpenReject = null;
|
|
704
|
+
}
|
|
705
|
+
// Stops all restart activity: timers, pending WS wait, and the in-progress gate.
|
|
706
|
+
cancelIceRestart() {
|
|
707
|
+
this.clearIceDisconnectedGraceTimer();
|
|
708
|
+
this.clearIceRestartWatchdog();
|
|
709
|
+
const reject = this.pendingWsOpenReject;
|
|
710
|
+
this.clearPendingWsOpenWait();
|
|
711
|
+
if (reject)
|
|
712
|
+
reject(new Error('ice restart cancelled'));
|
|
713
|
+
this.iceRestartCandidateBuffer = null;
|
|
714
|
+
this.iceRestartInProgress = false;
|
|
715
|
+
// End the metric episode: a late END_SESSION after shutdown must not
|
|
716
|
+
// count the hang-up as an aborted restart.
|
|
717
|
+
this.iceRestartEpisodeStartMs = null;
|
|
718
|
+
this.iceRestartEpisodeTrigger = null;
|
|
719
|
+
this.signallingClient.endIceRestartReconnect();
|
|
720
|
+
}
|
|
721
|
+
// Send any candidates buffered while the re-offer was minted+sent, then stop
|
|
722
|
+
// buffering (see restartIce/onIceCandidate).
|
|
723
|
+
flushIceRestartCandidateBuffer() {
|
|
724
|
+
const buffered = this.iceRestartCandidateBuffer;
|
|
725
|
+
this.iceRestartCandidateBuffer = null;
|
|
726
|
+
if (!buffered)
|
|
727
|
+
return;
|
|
728
|
+
for (const candidate of buffered) {
|
|
729
|
+
this.signallingClient.sendIceCandidate(candidate);
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
scheduleIceRestartAfterGrace() {
|
|
733
|
+
if (this.iceRestartStopped ||
|
|
734
|
+
this.iceRestartInProgress ||
|
|
735
|
+
this.iceDisconnectedGraceTimer) {
|
|
736
|
+
return;
|
|
737
|
+
}
|
|
738
|
+
this.iceDisconnectedGraceTimer = setTimeout(() => {
|
|
739
|
+
var _a;
|
|
740
|
+
this.iceDisconnectedGraceTimer = null;
|
|
741
|
+
if (this.iceRestartStopped)
|
|
742
|
+
return;
|
|
743
|
+
const state = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
|
|
744
|
+
if (state === 'disconnected' || state === 'failed') {
|
|
745
|
+
void this.restartIce();
|
|
567
746
|
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
747
|
+
}, ICE_DISCONNECTED_GRACE_MS);
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* Resolve once the signalling WebSocket is open (it auto-reconnects on close),
|
|
751
|
+
* or reject if it is terminally closed / times out. Restart offers must never
|
|
752
|
+
* be sent on a dead socket. Timeout + listener are stored so shutdown can clear
|
|
753
|
+
* them (see clearPendingWsOpenWait).
|
|
754
|
+
*/
|
|
755
|
+
ensureSignallingConnected() {
|
|
756
|
+
if (this.signallingClient.isConnected()) {
|
|
757
|
+
return Promise.resolve();
|
|
571
758
|
}
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
failureStage: 'ice_connection',
|
|
575
|
-
iceConnectionState: this.peerConnection.iceConnectionState,
|
|
576
|
-
});
|
|
759
|
+
if (this.signallingClient.isPermanentlyClosed()) {
|
|
760
|
+
return Promise.reject(new Error('signalling permanently closed'));
|
|
577
761
|
}
|
|
762
|
+
return new Promise((resolve, reject) => {
|
|
763
|
+
this.pendingWsOpenReject = reject;
|
|
764
|
+
this.pendingWsOpenTimeout = setTimeout(() => {
|
|
765
|
+
this.clearPendingWsOpenWait();
|
|
766
|
+
reject(new Error('timed out waiting for signalling WebSocket'));
|
|
767
|
+
}, ENSURE_WS_OPEN_TIMEOUT_MS);
|
|
768
|
+
const onOpen = () => {
|
|
769
|
+
this.clearPendingWsOpenWait();
|
|
770
|
+
resolve();
|
|
771
|
+
};
|
|
772
|
+
this.pendingWsOpenListener = onOpen;
|
|
773
|
+
this.internalEventEmitter.addListener(InternalEvent.WEB_SOCKET_OPEN, onOpen);
|
|
774
|
+
});
|
|
775
|
+
}
|
|
776
|
+
/**
|
|
777
|
+
* Automatic ICE restart. Mints a new offer with fresh ICE credentials and
|
|
778
|
+
* sends it over the existing channel. Bounded retries via a watchdog; on
|
|
779
|
+
* exhaustion or terminal signalling, falls back to the WebRTC-failure path.
|
|
780
|
+
*/
|
|
781
|
+
restartIce() {
|
|
782
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
783
|
+
var _a, _b;
|
|
784
|
+
if (!this.peerConnection ||
|
|
785
|
+
this.iceRestartInProgress ||
|
|
786
|
+
this.iceRestartStopped) {
|
|
787
|
+
return;
|
|
788
|
+
}
|
|
789
|
+
if (this.signallingClient.isPermanentlyClosed()) {
|
|
790
|
+
// Session is already ending via the signalling layer; stop spinning.
|
|
791
|
+
this.sendIceRestartMetric('aborted');
|
|
792
|
+
this.cancelIceRestart();
|
|
793
|
+
return;
|
|
794
|
+
}
|
|
795
|
+
if (this.iceRestartAttempts >= MAX_ICE_RESTART_ATTEMPTS) {
|
|
796
|
+
console.error('StreamingClient - restartIce: exhausted attempts');
|
|
797
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.publishFailure({
|
|
798
|
+
failureStage: 'ice_connection',
|
|
799
|
+
iceConnectionState: (_b = this.peerConnection) === null || _b === void 0 ? void 0 : _b.iceConnectionState,
|
|
800
|
+
});
|
|
801
|
+
this.sendIceRestartMetric('exhausted');
|
|
802
|
+
this.cancelIceRestart();
|
|
803
|
+
this.handleWebrtcFailure('The connection to our servers was lost. Please try again.');
|
|
804
|
+
return;
|
|
805
|
+
}
|
|
806
|
+
if (this.iceRestartAttempts === 0) {
|
|
807
|
+
this.iceRestartEpisodeStartMs = performance.now();
|
|
808
|
+
this.iceRestartEpisodeTrigger = this.peerConnection.iceConnectionState;
|
|
809
|
+
}
|
|
810
|
+
// Set the in-progress gate BEFORE any await so a concurrent trigger
|
|
811
|
+
// (watchdog retry + ICE 'failed' event) cannot start a second restart.
|
|
812
|
+
this.iceRestartInProgress = true;
|
|
813
|
+
this.iceRestartAttempts += 1;
|
|
814
|
+
try {
|
|
815
|
+
// Avoid offer glare: only start a fresh offer from a stable signalling state.
|
|
816
|
+
if (this.peerConnection.signalingState !== 'stable') {
|
|
817
|
+
yield this.peerConnection.setLocalDescription({ type: 'rollback' });
|
|
818
|
+
}
|
|
819
|
+
// On the first attempt of a restart episode, force a fresh signalling
|
|
820
|
+
// socket. A network switch can leave the old one half-open (readyState
|
|
821
|
+
// still OPEN, no close event), so the offer would be sent into a dead
|
|
822
|
+
// socket and never reach the server. Retries (attempt > 1) reuse the
|
|
823
|
+
// now-live socket so an in-flight answer isn't dropped.
|
|
824
|
+
if (this.iceRestartAttempts === 1) {
|
|
825
|
+
this.signallingClient.reconnectForIceRestart();
|
|
826
|
+
}
|
|
827
|
+
yield this.ensureSignallingConnected();
|
|
828
|
+
if (this.iceRestartStopped)
|
|
829
|
+
return;
|
|
830
|
+
// ICE may have recovered on its own while we waited for signalling.
|
|
831
|
+
const currentIceState = this.peerConnection.iceConnectionState;
|
|
832
|
+
if (currentIceState === 'connected' || currentIceState === 'completed') {
|
|
833
|
+
this.iceRestartInProgress = false;
|
|
834
|
+
// No-ops if the connected handler already closed the episode.
|
|
835
|
+
this.sendIceRestartMetric('recovered');
|
|
836
|
+
this.signallingClient.endIceRestartReconnect();
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
this.connectionReceivedAnswer = false;
|
|
840
|
+
this.remoteIceCandidateBuffer = [];
|
|
841
|
+
const offer = yield this.peerConnection.createOffer({ iceRestart: true });
|
|
842
|
+
// Buffer local candidates that gather from setLocalDescription until the
|
|
843
|
+
// re-offer is sent. The engine queues remote candidates only while it has
|
|
844
|
+
// no remote description; during a restart it still holds the OLD ICE
|
|
845
|
+
// credentials, so a candidate arriving before the re-offer is applied would
|
|
846
|
+
// be added against the old generation and dropped. WS messages are handled
|
|
847
|
+
// in order, so sending the offer first pins the new credentials server-side.
|
|
848
|
+
this.iceRestartCandidateBuffer = [];
|
|
849
|
+
yield this.peerConnection.setLocalDescription(offer);
|
|
850
|
+
if (!this.peerConnection.localDescription) {
|
|
851
|
+
throw new Error('null local description after ICE restart offer');
|
|
852
|
+
}
|
|
853
|
+
yield this.signallingClient.sendOffer(this.peerConnection.localDescription);
|
|
854
|
+
this.flushIceRestartCandidateBuffer();
|
|
855
|
+
this.iceRestartAwaitedAnswer = false;
|
|
856
|
+
this.clearIceRestartWatchdog();
|
|
857
|
+
this.iceRestartWatchdogTimer = setTimeout(() => this.onIceRestartWatchdog(), ICE_RESTART_WATCHDOG_MS);
|
|
858
|
+
}
|
|
859
|
+
catch (err) {
|
|
860
|
+
// The offer never made it out; drop candidates buffered for it (a retry
|
|
861
|
+
// mints a fresh offer and gathers again).
|
|
862
|
+
this.iceRestartCandidateBuffer = null;
|
|
863
|
+
console.error('StreamingClient - restartIce: error', err);
|
|
864
|
+
this.iceRestartInProgress = false;
|
|
865
|
+
if (this.iceRestartStopped) {
|
|
866
|
+
this.cancelIceRestart();
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
869
|
+
if (this.signallingClient.isPermanentlyClosed()) {
|
|
870
|
+
this.sendIceRestartMetric('aborted');
|
|
871
|
+
this.cancelIceRestart();
|
|
872
|
+
return; // signalling layer already emitted CONNECTION_CLOSED
|
|
873
|
+
}
|
|
874
|
+
this.clearIceRestartWatchdog();
|
|
875
|
+
this.iceRestartWatchdogTimer = setTimeout(() => {
|
|
876
|
+
this.iceRestartWatchdogTimer = null;
|
|
877
|
+
void this.restartIce();
|
|
878
|
+
}, ICE_RESTART_WATCHDOG_MS);
|
|
879
|
+
}
|
|
880
|
+
});
|
|
881
|
+
}
|
|
882
|
+
// Watchdog for an outstanding restart offer. Only rolls back and re-offers
|
|
883
|
+
// once the current offer is resolved, so a second offer is never minted while
|
|
884
|
+
// the first offer's answer is still in flight (the ANSWER handler could
|
|
885
|
+
// otherwise apply it against the wrong offer).
|
|
886
|
+
onIceRestartWatchdog() {
|
|
887
|
+
var _a;
|
|
888
|
+
this.iceRestartWatchdogTimer = null;
|
|
889
|
+
this.iceRestartInProgress = false;
|
|
890
|
+
if (this.iceRestartStopped)
|
|
891
|
+
return;
|
|
892
|
+
const state = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
|
|
893
|
+
if (state === 'connected' || state === 'completed')
|
|
894
|
+
return;
|
|
895
|
+
if (!this.connectionReceivedAnswer && !this.iceRestartAwaitedAnswer) {
|
|
896
|
+
// Offer still unanswered: give the in-flight answer one more cycle before
|
|
897
|
+
// rolling it back and re-offering.
|
|
898
|
+
this.iceRestartAwaitedAnswer = true;
|
|
899
|
+
this.iceRestartInProgress = true;
|
|
900
|
+
this.iceRestartWatchdogTimer = setTimeout(() => this.onIceRestartWatchdog(), ICE_RESTART_WATCHDOG_MS);
|
|
901
|
+
return;
|
|
902
|
+
}
|
|
903
|
+
void this.restartIce();
|
|
578
904
|
}
|
|
579
905
|
onConnectionStateChange() {
|
|
580
906
|
var _a, _b, _c, _d, _e;
|
|
@@ -584,11 +910,21 @@ export class StreamingClient {
|
|
|
584
910
|
connectionState,
|
|
585
911
|
});
|
|
586
912
|
}
|
|
587
|
-
if (
|
|
588
|
-
(
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
913
|
+
if (connectionState === 'failed') {
|
|
914
|
+
const iceState = (_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.iceConnectionState;
|
|
915
|
+
const recovering = !this.iceRestartStopped &&
|
|
916
|
+
(iceState === 'disconnected' || iceState === 'failed');
|
|
917
|
+
// A recoverable ICE failure also flips the aggregate state to 'failed'.
|
|
918
|
+
// The recorder is first-call-wins, so don't finalize failure telemetry
|
|
919
|
+
// while the ICE restart is still recovering; the terminal publish comes
|
|
920
|
+
// from restartIce (exhausted) or the 'closed' branch below. A genuine
|
|
921
|
+
// non-ICE failure (e.g. DTLS with ICE still connected) still publishes.
|
|
922
|
+
if (!recovering) {
|
|
923
|
+
(_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
|
|
924
|
+
failureStage: 'webrtc_connection',
|
|
925
|
+
connectionState,
|
|
926
|
+
});
|
|
927
|
+
}
|
|
592
928
|
}
|
|
593
929
|
if (((_e = this.peerConnection) === null || _e === void 0 ? void 0 : _e.connectionState) === 'closed') {
|
|
594
930
|
console.error('StreamingClient - onConnectionStateChange: Connection closed');
|
|
@@ -851,6 +1187,8 @@ export class StreamingClient {
|
|
|
851
1187
|
shutdown() {
|
|
852
1188
|
return __awaiter(this, void 0, void 0, function* () {
|
|
853
1189
|
var _a;
|
|
1190
|
+
this.iceRestartStopped = true;
|
|
1191
|
+
this.cancelIceRestart();
|
|
854
1192
|
if (this.showPeerConnectionStatsReport) {
|
|
855
1193
|
const stats = yield ((_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.getStats());
|
|
856
1194
|
if (stats) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
|