livekit-client 2.15.11 → 2.15.12

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.
@@ -12601,7 +12601,7 @@ function getOSVersion(ua) {
12601
12601
  return ua.includes('mac os') ? getMatch(/\(.+?(\d+_\d+(:?_\d+)?)/, ua, 1).replace(/_/g, '.') : undefined;
12602
12602
  }
12603
12603
 
12604
- var version$1 = "2.15.11";
12604
+ var version$1 = "2.15.12";
12605
12605
 
12606
12606
  const version = version$1;
12607
12607
  const protocolVersion = 16;
@@ -14797,11 +14797,13 @@ class SignalClient {
14797
14797
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
14798
14798
  var _a, _b;
14799
14799
  try {
14800
- const timeoutAbortController = new AbortController();
14801
- const signals = abortSignal ? [timeoutAbortController.signal, abortSignal] : [timeoutAbortController.signal];
14802
- const combinedAbort = AbortSignal.any(signals);
14803
- const abortHandler = event => __awaiter(this, void 0, void 0, function* () {
14804
- const target = event.currentTarget;
14800
+ let alreadyAborted = false;
14801
+ const abortHandler = eventOrError => __awaiter(this, void 0, void 0, function* () {
14802
+ if (alreadyAborted) {
14803
+ return;
14804
+ }
14805
+ alreadyAborted = true;
14806
+ const target = eventOrError instanceof Event ? eventOrError.currentTarget : eventOrError;
14805
14807
  const reason = getAbortReasonAsString(target, 'Abort handler called');
14806
14808
  // send leave if we have an active stream writer (connection is open)
14807
14809
  if (this.streamWriter && !this.isDisconnected) {
@@ -14812,12 +14814,16 @@ class SignalClient {
14812
14814
  } else {
14813
14815
  this.close();
14814
14816
  }
14815
- clearTimeout(wsTimeout);
14817
+ cleanupAbortHandlers();
14816
14818
  reject(target instanceof AbortSignal ? target.reason : target);
14817
14819
  });
14818
- combinedAbort.addEventListener('abort', abortHandler);
14820
+ abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.addEventListener('abort', abortHandler);
14821
+ const cleanupAbortHandlers = () => {
14822
+ clearTimeout(wsTimeout);
14823
+ abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.removeEventListener('abort', abortHandler);
14824
+ };
14819
14825
  const wsTimeout = setTimeout(() => {
14820
- timeoutAbortController.abort(new ConnectionError('room connection has timed out (signal)', ConnectionErrorReason.ServerUnreachable));
14826
+ abortHandler(new ConnectionError('room connection has timed out (signal)', ConnectionErrorReason.ServerUnreachable));
14821
14827
  }, opts.websocketTimeout);
14822
14828
  const handleSignalConnected = (connection, firstMessage) => {
14823
14829
  this.handleSignalConnected(connection, wsTimeout, firstMessage);
@@ -14900,8 +14906,9 @@ class SignalClient {
14900
14906
  handleSignalConnected(connection, firstMessageToProcess);
14901
14907
  resolve(validation.response);
14902
14908
  } catch (e) {
14903
- clearTimeout(wsTimeout);
14904
14909
  reject(e);
14910
+ } finally {
14911
+ cleanupAbortHandlers();
14905
14912
  }
14906
14913
  } finally {
14907
14914
  unlock();