@reactoo/watchtogether-sdk-js 2.6.25 → 2.6.26

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactoo/watchtogether-sdk-js",
3
- "version": "2.6.25",
3
+ "version": "2.6.26",
4
4
  "description": "Javascript SDK for Reactoo",
5
5
  "main": "src/index.js",
6
6
  "unpkg": "dist/watchtogether-sdk.min.js",
@@ -518,8 +518,23 @@ class RoomSession {
518
518
  this.id = msg["id"];
519
519
  this.privateId = msg["private_id"];
520
520
  this.isConnected = true;
521
- this.emit('joined', true);
522
521
  this._log('We have successfully joined Room');
522
+ this.emit('joined', true, this.constructId);
523
+ this.emit('addLocalParticipant', {
524
+ tid: generateUUID(),
525
+ id: handle.handleId,
526
+ constructId: this.constructId,
527
+ userId: decodeJanusDisplay(handle.userId)?.userId,
528
+ role: decodeJanusDisplay(this.display)?.role,
529
+ track: null,
530
+ stream: null,
531
+ streamMap: {},
532
+ source: null,
533
+ adding: false,
534
+ removing: false,
535
+ hasAudioTrack: false,
536
+ hasVideoTrack: false,
537
+ });
523
538
  for (let f in list) {
524
539
  let userId = list[f]["display"];
525
540
  let streams = list[f]["streams"] || [];
@@ -736,6 +751,7 @@ class RoomSession {
736
751
  source: null,
737
752
  track: null,
738
753
  adding: false,
754
+ removing: false,
739
755
  constructId: this.constructId,
740
756
  hasAudioTrack: false,
741
757
  hasVideoTrack: false
@@ -1397,9 +1413,9 @@ class RoomSession {
1397
1413
  streamMap: structuredClone(config.streamMap),
1398
1414
  track: null,
1399
1415
  source: null,
1400
- optional: true,
1401
1416
  constructId: this.constructId,
1402
1417
  adding: false,
1418
+ removing: false,
1403
1419
  hasAudioTrack: !!(config.stream && config.stream.getAudioTracks().length),
1404
1420
  hasVideoTrack: !!(config.stream && config.stream.getVideoTracks().length)
1405
1421
  })
@@ -1420,7 +1436,6 @@ class RoomSession {
1420
1436
  streamMap: structuredClone(config.streamMap),
1421
1437
  track: null,
1422
1438
  source: null,
1423
- optional: true,
1424
1439
  constructId: this.constructId,
1425
1440
  adding: false,
1426
1441
  hasAudioTrack: !!(config.stream && config.stream.getAudioTracks().length),
@@ -1507,6 +1522,7 @@ class RoomSession {
1507
1522
  track: event.track,
1508
1523
  constructId: this.constructId,
1509
1524
  adding: true,
1525
+ removing: false,
1510
1526
  hasAudioTrack: !!(config.stream && config.stream.getAudioTracks().length),
1511
1527
  hasVideoTrack: !!(config.stream && config.stream.getVideoTracks().length)
1512
1528
  });
@@ -2008,7 +2024,12 @@ class RoomSession {
2008
2024
  let needsNegotiation = false;
2009
2025
  let transceivers = config.pc.getTransceivers();
2010
2026
  let existingTracks = [...(config.streamMap[source] || [])];
2011
- config.streamMap[source] = stream?.getTracks()?.map(track => track.id) || [];
2027
+
2028
+ if(stream?.getTracks().length) {
2029
+ config.streamMap[source] = stream?.getTracks()?.map(track => track.id) || [];
2030
+ } else {
2031
+ delete config.streamMap[source];
2032
+ }
2012
2033
 
2013
2034
  // remove old audio track related to this source
2014
2035
  let oldAudioStream = config?.stream?.getAudioTracks()?.find(track => existingTracks.includes(track.id));
@@ -2211,7 +2232,6 @@ class RoomSession {
2211
2232
  })
2212
2233
  }
2213
2234
 
2214
- //TODO: legacy event, remove in future
2215
2235
  else {
2216
2236
  this.emit('addLocalParticipant', {
2217
2237
  tid: generateUUID(),