@livedigital/client 3.31.0 → 3.31.1

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@livedigital/client",
3
3
  "author": "vlprojects",
4
4
  "license": "MIT",
5
- "version": "3.31.0",
5
+ "version": "3.31.1",
6
6
  "private": false,
7
7
  "bugs": {
8
8
  "url": "https://github.com/vlprojects/livedigital-sdk/issues"
@@ -493,10 +493,10 @@ class Peer {
493
493
  });
494
494
  }
495
495
 
496
- reset() {
496
+ async reset(): Promise<void> {
497
497
  this.producers.clear();
498
498
 
499
- this.tracks.forEach((x) => x.close());
499
+ await Promise.all(Array.from(this.tracks.values()).map((track) => track.close()));
500
500
  this.tracks.clear();
501
501
 
502
502
  const eventNames = [
@@ -18,11 +18,11 @@ import PeerConsumer from './PeerConsumer';
18
18
  export interface IPeersService {
19
19
  has(id: Peer['id']): boolean;
20
20
  get(id: Peer['id']): Peer | undefined;
21
- remove(id: Peer['id']): void;
21
+ remove(id: Peer['id']): Promise<void>;
22
22
  all(): Peer[];
23
23
  hosts(): Peer[];
24
24
  audience(): Peer[];
25
- reset(): void;
25
+ reset(): Promise<void>;
26
26
  load(role?: Role): Promise<void>;
27
27
  add(peerData: PeerResponse, emit: boolean): Peer;
28
28
  isModerator(id: Peer['id'] | undefined): boolean;
@@ -82,14 +82,13 @@ export class Peers implements IPeersService {
82
82
  return this.peersStorage.delete(id);
83
83
  }
84
84
 
85
- remove(id: Peer['id']) {
85
+ async remove(id: Peer['id']): Promise<void> {
86
86
  const peer = this.get(id);
87
87
  if (!peer) {
88
88
  return;
89
89
  }
90
90
 
91
- peer.tracks.forEach((track) => track.close());
92
- peer.reset();
91
+ await peer.reset();
93
92
 
94
93
  this.delete(id);
95
94
  this.clientEventEmitter.safeEmit(CLIENT_EVENTS.peerLeft, id);
@@ -111,8 +110,8 @@ export class Peers implements IPeersService {
111
110
  .filter((peer) => peer.role === 'audience');
112
111
  }
113
112
 
114
- reset() {
115
- this.peersStorage.forEach((x) => x.reset());
113
+ async reset(): Promise<void> {
114
+ await Promise.all(Array.from(this.peersStorage.values()).map((track) => track.reset()));
116
115
  this.peersStorage.clear();
117
116
  }
118
117
 
@@ -182,7 +182,7 @@ class Engine {
182
182
  this.myPeer.delete();
183
183
  this.webRtcIssueDetector?.stopWatchingNewPeerConnections();
184
184
 
185
- this.peers.reset();
185
+ await this.peers.reset();
186
186
 
187
187
  await this.network.closeSendTransport();
188
188
  await this.network.closeReceiveTransport();
@@ -274,8 +274,8 @@ class Engine {
274
274
  return this.peers.add(peerData, emit);
275
275
  }
276
276
 
277
- public removePeer(peerId: string): void {
278
- this.peers.remove(peerId);
277
+ public async removePeer(peerId: string): Promise<void> {
278
+ return this.peers.remove(peerId);
279
279
  }
280
280
 
281
281
  public async updateAppData(appData: Record<string, unknown>): Promise<void> {