@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.
Files changed (36) hide show
  1. package/dist/main/lib/ClientMetrics.d.ts +10 -2
  2. package/dist/main/lib/ClientMetrics.d.ts.map +1 -1
  3. package/dist/main/lib/ClientMetrics.js +46 -31
  4. package/dist/main/lib/ClientMetrics.js.map +1 -1
  5. package/dist/main/lib/ConnectionMilestones.d.ts +2 -2
  6. package/dist/main/lib/ConnectionMilestones.d.ts.map +1 -1
  7. package/dist/main/lib/ConnectionMilestones.js +16 -5
  8. package/dist/main/lib/ConnectionMilestones.js.map +1 -1
  9. package/dist/main/lib/constants.js +1 -1
  10. package/dist/main/modules/SignallingClient.d.ts +23 -0
  11. package/dist/main/modules/SignallingClient.d.ts.map +1 -1
  12. package/dist/main/modules/SignallingClient.js +107 -14
  13. package/dist/main/modules/SignallingClient.js.map +1 -1
  14. package/dist/main/modules/StreamingClient.d.ts +36 -0
  15. package/dist/main/modules/StreamingClient.d.ts.map +1 -1
  16. package/dist/main/modules/StreamingClient.js +363 -25
  17. package/dist/main/modules/StreamingClient.js.map +1 -1
  18. package/dist/module/lib/ClientMetrics.d.ts +10 -2
  19. package/dist/module/lib/ClientMetrics.d.ts.map +1 -1
  20. package/dist/module/lib/ClientMetrics.js +43 -29
  21. package/dist/module/lib/ClientMetrics.js.map +1 -1
  22. package/dist/module/lib/ConnectionMilestones.d.ts +2 -2
  23. package/dist/module/lib/ConnectionMilestones.d.ts.map +1 -1
  24. package/dist/module/lib/ConnectionMilestones.js +17 -6
  25. package/dist/module/lib/ConnectionMilestones.js.map +1 -1
  26. package/dist/module/lib/constants.js +1 -1
  27. package/dist/module/modules/SignallingClient.d.ts +23 -0
  28. package/dist/module/modules/SignallingClient.d.ts.map +1 -1
  29. package/dist/module/modules/SignallingClient.js +107 -14
  30. package/dist/module/modules/SignallingClient.js.map +1 -1
  31. package/dist/module/modules/StreamingClient.d.ts +36 -0
  32. package/dist/module/modules/StreamingClient.d.ts.map +1 -1
  33. package/dist/module/modules/StreamingClient.js +363 -25
  34. package/dist/module/modules/StreamingClient.js.map +1 -1
  35. package/dist/umd/anam.js +1 -1
  36. 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
- yield this.peerConnection.setRemoteDescription(answer);
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, _d, _e, _f, _g;
554
- const iceConnectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
555
- if (iceConnectionState) {
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
- if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.iceConnectionState) === 'connected' ||
561
- ((_d = this.peerConnection) === null || _d === void 0 ? void 0 : _d.iceConnectionState) === 'completed') {
562
- if (!this.connectionEstablishedMilestoneRecorded) {
563
- this.connectionEstablishedMilestoneRecorded = true;
564
- (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('client_connection_established', {
565
- iceConnectionState: this.peerConnection.iceConnectionState,
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
- this.publicEventEmitter.emit(AnamEvent.CONNECTION_ESTABLISHED);
569
- // Start collecting stats every 5 seconds
570
- this.startStatsCollection();
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
- else if (((_f = this.peerConnection) === null || _f === void 0 ? void 0 : _f.iceConnectionState) === 'failed') {
573
- (_g = this.connectionMilestones) === null || _g === void 0 ? void 0 : _g.publishFailure({
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 (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.connectionState) === 'failed') {
588
- (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
589
- failureStage: 'webrtc_connection',
590
- connectionState: this.peerConnection.connectionState,
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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"}