@signalwire/js 3.12.0 → 3.12.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/dist/core/src/BaseComponent.d.ts +3 -1
- package/dist/core/src/BaseComponent.d.ts.map +1 -1
- package/dist/core/src/RPCMessages/VertoMessages.d.ts +8 -0
- package/dist/core/src/RPCMessages/VertoMessages.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +1 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/redux/features/session/sessionSaga.d.ts.map +1 -1
- package/dist/core/src/redux/features/session/sessionSelectors.d.ts +1 -0
- package/dist/core/src/redux/features/session/sessionSelectors.d.ts.map +1 -1
- package/dist/core/src/redux/features/session/sessionSlice.d.ts +65 -0
- package/dist/core/src/redux/features/session/sessionSlice.d.ts.map +1 -1
- package/dist/core/src/redux/interfaces.d.ts +2 -1
- package/dist/core/src/redux/interfaces.d.ts.map +1 -1
- package/dist/core/src/redux/rootReducer.d.ts +16 -0
- package/dist/core/src/redux/rootReducer.d.ts.map +1 -1
- package/dist/core/src/rooms/RoomSessionPlayback.d.ts +3 -0
- package/dist/core/src/rooms/RoomSessionPlayback.d.ts.map +1 -1
- package/dist/core/src/rooms/methods.d.ts +3 -0
- package/dist/core/src/rooms/methods.d.ts.map +1 -1
- package/dist/core/src/testUtils.d.ts.map +1 -1
- package/dist/core/src/types/common.d.ts +11 -0
- package/dist/core/src/types/common.d.ts.map +1 -1
- package/dist/core/src/types/videoPlayback.d.ts +5 -0
- package/dist/core/src/types/videoPlayback.d.ts.map +1 -1
- package/dist/core/src/types/videoRoomSession.d.ts +1 -0
- package/dist/core/src/types/videoRoomSession.d.ts.map +1 -1
- package/dist/core/src/utils/interfaces.d.ts +7 -5
- package/dist/core/src/utils/interfaces.d.ts.map +1 -1
- package/dist/index.esm.js +82 -3
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +80 -3
- package/dist/index.js.map +3 -3
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/js/src/BaseRoomSession.d.ts +5 -0
- package/dist/js/src/BaseRoomSession.d.ts.map +1 -1
- package/dist/js/src/RoomSession.d.ts +2 -2
- package/dist/js/src/RoomSession.d.ts.map +1 -1
- package/dist/js/src/RoomSession.docs.d.ts +21 -0
- package/dist/js/src/RoomSession.docs.d.ts.map +1 -1
- package/dist/js/src/features/mediaElements/mediaElementsSagas.d.ts.map +1 -1
- package/dist/js/src/utils/interfaces.d.ts +4 -0
- package/dist/js/src/utils/interfaces.d.ts.map +1 -1
- package/dist/js/src/utils/roomSession.d.ts +13 -0
- package/dist/js/src/utils/roomSession.d.ts.map +1 -0
- package/dist/js/src/utils/videoElement.d.ts +1 -0
- package/dist/js/src/utils/videoElement.d.ts.map +1 -1
- package/dist/js/tsconfig.build.tsbuildinfo +1 -1
- package/dist/webrtc/src/BaseConnection.d.ts +8 -0
- package/dist/webrtc/src/BaseConnection.d.ts.map +1 -1
- package/dist/webrtc/src/utils/interfaces.d.ts +2 -0
- package/dist/webrtc/src/utils/interfaces.d.ts.map +1 -1
- package/dist/webrtc/src/utils/webrtcHelpers.native.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/BaseRoomSession.ts +4 -1
- package/src/RoomSession.docs.ts +20 -0
- package/src/RoomSession.ts +60 -3
- package/src/features/mediaElements/mediaElementsSagas.ts +10 -0
- package/src/utils/interfaces.ts +5 -0
- package/src/utils/roomSession.ts +54 -0
- package/src/utils/videoElement.ts +3 -0
package/dist/index.js
CHANGED
|
@@ -162,6 +162,7 @@ var makeLayoutChangedHandler = ({ localOverlay, rootElement }) => (_0) => __asyn
|
|
|
162
162
|
const { layers = [] } = layout;
|
|
163
163
|
const location = layers.find(({ member_id }) => member_id === myMemberId);
|
|
164
164
|
let myLayer = localOverlay.domElement;
|
|
165
|
+
localOverlay.status = location ? "visible" : "hidden";
|
|
165
166
|
if (!location) {
|
|
166
167
|
(0, import_core.getLogger)().debug("Location not found");
|
|
167
168
|
if (myLayer) {
|
|
@@ -247,6 +248,7 @@ var makeVideoElementSaga = ({
|
|
|
247
248
|
const layerMap = /* @__PURE__ */ new Map();
|
|
248
249
|
const videoEl = buildVideo();
|
|
249
250
|
const localOverlay = {
|
|
251
|
+
status: "hidden",
|
|
250
252
|
get id() {
|
|
251
253
|
return addSDKPrefix(room.memberId);
|
|
252
254
|
},
|
|
@@ -272,6 +274,9 @@ var makeVideoElementSaga = ({
|
|
|
272
274
|
if (!this.domElement) {
|
|
273
275
|
return (0, import_core3.getLogger)().warn("Missing localOverlay to show");
|
|
274
276
|
}
|
|
277
|
+
if (this.status === "hidden") {
|
|
278
|
+
return (0, import_core3.getLogger)().info("localOverlay not visible");
|
|
279
|
+
}
|
|
275
280
|
this.domElement.style.opacity = "1";
|
|
276
281
|
}
|
|
277
282
|
};
|
|
@@ -348,6 +353,10 @@ var makeAudioElementSaga = ({ speakerId }) => {
|
|
|
348
353
|
instance: room,
|
|
349
354
|
runSaga
|
|
350
355
|
}) {
|
|
356
|
+
if (typeof Audio === "undefined") {
|
|
357
|
+
(0, import_core3.getLogger)().warn("`Audio` is not supported on this environment.");
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
351
360
|
try {
|
|
352
361
|
const audioEl = new Audio();
|
|
353
362
|
let audioTask;
|
|
@@ -898,6 +907,7 @@ var RoomSessionAPI = (0, import_core8.extendComponent)(RoomSessionConnection, {
|
|
|
898
907
|
setSpeakerVolume: import_core8.Rooms.setOutputVolumeMember,
|
|
899
908
|
setInputSensitivity: import_core8.Rooms.setInputSensitivityMember,
|
|
900
909
|
removeMember: import_core8.Rooms.removeMember,
|
|
910
|
+
removeAllMembers: import_core8.Rooms.removeAllMembers,
|
|
901
911
|
getMembers: import_core8.Rooms.getMembers,
|
|
902
912
|
getLayouts: import_core8.Rooms.getLayouts,
|
|
903
913
|
setLayout: import_core8.Rooms.setLayout,
|
|
@@ -1116,7 +1126,7 @@ var JWTSession = class extends import_core12.BaseJWTSession {
|
|
|
1116
1126
|
}));
|
|
1117
1127
|
this.options = options;
|
|
1118
1128
|
__publicField(this, "WebSocketConstructor", WebSocket);
|
|
1119
|
-
__publicField(this, "agent", "@signalwire/js/3.12.
|
|
1129
|
+
__publicField(this, "agent", "@signalwire/js/3.12.1");
|
|
1120
1130
|
}
|
|
1121
1131
|
get allowHijack() {
|
|
1122
1132
|
return this.options._hijack;
|
|
@@ -1357,8 +1367,48 @@ var joinRoom = (roomOptions) => {
|
|
|
1357
1367
|
};
|
|
1358
1368
|
|
|
1359
1369
|
// src/RoomSession.ts
|
|
1370
|
+
var import_core18 = require("@signalwire/core");
|
|
1371
|
+
|
|
1372
|
+
// src/utils/roomSession.ts
|
|
1360
1373
|
var import_core17 = require("@signalwire/core");
|
|
1374
|
+
var getJoinAudienceMediaParams = ({
|
|
1375
|
+
authState,
|
|
1376
|
+
audio = true,
|
|
1377
|
+
video = true
|
|
1378
|
+
}) => {
|
|
1379
|
+
const getMediaValue = ({
|
|
1380
|
+
remote,
|
|
1381
|
+
local,
|
|
1382
|
+
kind
|
|
1383
|
+
}) => {
|
|
1384
|
+
if (!remote && local) {
|
|
1385
|
+
(0, import_core17.getLogger)().warn(`[joinAudience] ${kind} is currently not allowed on this room.`);
|
|
1386
|
+
}
|
|
1387
|
+
return !!(remote && local);
|
|
1388
|
+
};
|
|
1389
|
+
return {
|
|
1390
|
+
audio: false,
|
|
1391
|
+
video: false,
|
|
1392
|
+
negotiateAudio: getMediaValue({
|
|
1393
|
+
remote: authState.audio_allowed,
|
|
1394
|
+
local: audio,
|
|
1395
|
+
kind: "audio"
|
|
1396
|
+
}),
|
|
1397
|
+
negotiateVideo: getMediaValue({
|
|
1398
|
+
remote: authState.video_allowed,
|
|
1399
|
+
local: video,
|
|
1400
|
+
kind: "video"
|
|
1401
|
+
})
|
|
1402
|
+
};
|
|
1403
|
+
};
|
|
1404
|
+
var isValidJoinAudienceMediaParams = (options) => {
|
|
1405
|
+
return Object.values(options).some(Boolean);
|
|
1406
|
+
};
|
|
1407
|
+
|
|
1408
|
+
// src/RoomSession.ts
|
|
1361
1409
|
var VIDEO_CONSTRAINTS2 = {
|
|
1410
|
+
width: { ideal: 1280, min: 320 },
|
|
1411
|
+
height: { ideal: 720, min: 180 },
|
|
1362
1412
|
aspectRatio: { ideal: 16 / 9 }
|
|
1363
1413
|
};
|
|
1364
1414
|
var UNSAFE_PROP_ACCESS = [
|
|
@@ -1438,14 +1488,41 @@ var RoomSession = function(roomOptions) {
|
|
|
1438
1488
|
});
|
|
1439
1489
|
yield room.join();
|
|
1440
1490
|
} catch (error) {
|
|
1441
|
-
(0,
|
|
1491
|
+
(0, import_core18.getLogger)().error("RoomSession Join", error);
|
|
1492
|
+
client.disconnect();
|
|
1493
|
+
reject(error);
|
|
1494
|
+
}
|
|
1495
|
+
}));
|
|
1496
|
+
};
|
|
1497
|
+
const joinAudience = (params) => {
|
|
1498
|
+
return new Promise((resolve, reject) => __async(this, null, function* () {
|
|
1499
|
+
try {
|
|
1500
|
+
room.attachPreConnectWorkers();
|
|
1501
|
+
const session = yield client.connect();
|
|
1502
|
+
const authState = session._sessionAuthState;
|
|
1503
|
+
const mediaOptions = getJoinAudienceMediaParams(__spreadValues({
|
|
1504
|
+
authState
|
|
1505
|
+
}, params));
|
|
1506
|
+
if (!isValidJoinAudienceMediaParams(mediaOptions)) {
|
|
1507
|
+
yield session.disconnect();
|
|
1508
|
+
return reject(new Error("[joinAudience] Either (or both) `audio` and `video` must be `true` when calling this method."));
|
|
1509
|
+
}
|
|
1510
|
+
room.updateMediaOptions(mediaOptions);
|
|
1511
|
+
room.once("room.subscribed", (payload) => {
|
|
1512
|
+
room.attachOnSubscribedWorkers(payload);
|
|
1513
|
+
resolve(room);
|
|
1514
|
+
});
|
|
1515
|
+
yield room.join();
|
|
1516
|
+
} catch (error) {
|
|
1517
|
+
(0, import_core18.getLogger)().error("RoomSession JoinAudience", error);
|
|
1442
1518
|
client.disconnect();
|
|
1443
1519
|
reject(error);
|
|
1444
1520
|
}
|
|
1445
1521
|
}));
|
|
1446
1522
|
};
|
|
1447
1523
|
const interceptors = {
|
|
1448
|
-
join
|
|
1524
|
+
join,
|
|
1525
|
+
joinAudience
|
|
1449
1526
|
};
|
|
1450
1527
|
return new Proxy(room, {
|
|
1451
1528
|
get(target, prop, receiver) {
|