@videosdk.live/react-sdk 0.6.8 → 0.8.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.
package/dist/index.js CHANGED
@@ -458,7 +458,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
458
458
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
459
459
  };
460
460
 
461
- var version = "0.6.8";
461
+ var version = "0.8.0";
462
462
 
463
463
  var MeetingProvider = function MeetingProvider(_ref) {
464
464
  var children = _ref.children,
@@ -1884,8 +1884,14 @@ var usePubSub = function usePubSub(topic, _temp) {
1884
1884
  setMessages = _useState[1];
1885
1885
  var isSubscribed = React.useRef(false);
1886
1886
  var publish = function publish(message, options, payload) {
1887
- if (meeting) {
1888
- return meeting.pubSub.publish(topic, message, options, payload);
1887
+ try {
1888
+ return Promise.resolve(function () {
1889
+ if (meeting) {
1890
+ return Promise.resolve(meeting.pubSub.publish(topic, message, options, payload));
1891
+ }
1892
+ }());
1893
+ } catch (e) {
1894
+ return Promise.reject(e);
1889
1895
  }
1890
1896
  };
1891
1897
  var _handlePubSub = function _handlePubSub(data) {
@@ -2499,6 +2505,180 @@ var useWhiteboard = function useWhiteboard() {
2499
2505
  };
2500
2506
  };
2501
2507
 
2508
+ var useAgentParticipant = function useAgentParticipant(participantId, _temp) {
2509
+ var _mMeeting$participant;
2510
+ var _ref = _temp === void 0 ? {} : _temp,
2511
+ _ref$onAgentStateChan = _ref.onAgentStateChanged,
2512
+ onAgentStateChanged = _ref$onAgentStateChan === void 0 ? function () {} : _ref$onAgentStateChan,
2513
+ _ref$onAgentTranscrip = _ref.onAgentTranscriptionReceived,
2514
+ onAgentTranscriptionReceived = _ref$onAgentTranscrip === void 0 ? function () {} : _ref$onAgentTranscrip,
2515
+ _ref$onStreamEnabled = _ref.onStreamEnabled,
2516
+ onStreamEnabled = _ref$onStreamEnabled === void 0 ? function () {} : _ref$onStreamEnabled,
2517
+ _ref$onStreamDisabled = _ref.onStreamDisabled,
2518
+ onStreamDisabled = _ref$onStreamDisabled === void 0 ? function () {} : _ref$onStreamDisabled,
2519
+ _ref$onMediaStatusCha = _ref.onMediaStatusChanged,
2520
+ onMediaStatusChanged = _ref$onMediaStatusCha === void 0 ? function () {} : _ref$onMediaStatusCha;
2521
+ var mMeeting = useMeeting();
2522
+ var _useState = React.useState(null),
2523
+ webcamStream = _useState[0],
2524
+ setWebcamStream = _useState[1];
2525
+ var _useState2 = React.useState(null),
2526
+ micStream = _useState2[0],
2527
+ setMicStream = _useState2[1];
2528
+ var _useState3 = React.useState(null),
2529
+ agentState = _useState3[0],
2530
+ setAgentState = _useState3[1];
2531
+ var _useState4 = React.useState(false),
2532
+ webcamOn = _useState4[0],
2533
+ setWebcamOn = _useState4[1];
2534
+ var _useState5 = React.useState(false),
2535
+ micOn = _useState5[0],
2536
+ setMicOn = _useState5[1];
2537
+ var _useState6 = React.useState((_mMeeting$participant = mMeeting.participants.get(participantId)) === null || _mMeeting$participant === void 0 ? void 0 : _mMeeting$participant.mode),
2538
+ mode = _useState6[0],
2539
+ setMode = _useState6[1];
2540
+ var _useMemo = React.useMemo(function () {
2541
+ var _mMeeting$pinnedParti;
2542
+ var participant = mMeeting.participants.get(participantId);
2543
+ if (participant && !participant.isAgent) {
2544
+ console.warn("useAgentParticipant: Participant " + participantId + " is not an agent participant.");
2545
+ }
2546
+ var pinState = (mMeeting === null || mMeeting === void 0 ? void 0 : (_mMeeting$pinnedParti = mMeeting.pinnedParticipants) === null || _mMeeting$pinnedParti === void 0 ? void 0 : _mMeeting$pinnedParti.get(participantId)) || {
2547
+ cam: false,
2548
+ share: false
2549
+ };
2550
+ return {
2551
+ agentParticipant: participant !== null && participant !== void 0 && participant.isAgent ? participant : null,
2552
+ activeSpeakerId: mMeeting.activeSpeakerId,
2553
+ pinState: pinState
2554
+ };
2555
+ }, [mMeeting.participants, mMeeting.pinnedParticipants, mMeeting.activeSpeakerId, participantId]),
2556
+ agentParticipant = _useMemo.agentParticipant,
2557
+ activeSpeakerId = _useMemo.activeSpeakerId,
2558
+ pinState = _useMemo.pinState;
2559
+ var setTrack = function setTrack(stream) {
2560
+ if (stream.track.readyState !== 'live') return;
2561
+ switch (stream.kind) {
2562
+ case 'video':
2563
+ setWebcamStream(stream);
2564
+ break;
2565
+ case 'audio':
2566
+ setMicStream(stream);
2567
+ break;
2568
+ }
2569
+ };
2570
+ var unsetTrack = function unsetTrack(stream) {
2571
+ switch (stream.kind) {
2572
+ case 'video':
2573
+ setWebcamStream(null);
2574
+ break;
2575
+ case 'audio':
2576
+ setMicStream(null);
2577
+ break;
2578
+ }
2579
+ };
2580
+ var _handleAgentStateChanged = function _handleAgentStateChanged(state) {
2581
+ setAgentState(state);
2582
+ onAgentStateChanged(state);
2583
+ };
2584
+ var _handleTranscriptionReceived = function _handleTranscriptionReceived(data) {
2585
+ onAgentTranscriptionReceived(data);
2586
+ };
2587
+ var _handleStreamEnabled = function _handleStreamEnabled(stream) {
2588
+ setTrack(stream);
2589
+ onStreamEnabled(stream);
2590
+ };
2591
+ var _handleMediaStatusChanged = function _handleMediaStatusChanged(data) {
2592
+ var kind = data.kind,
2593
+ peerId = data.peerId,
2594
+ newStatus = data.newStatus;
2595
+ if (kind == 'audio') {
2596
+ setMicOn(newStatus);
2597
+ } else if (kind == 'video') {
2598
+ setWebcamOn(newStatus);
2599
+ }
2600
+ onMediaStatusChanged({
2601
+ kind: kind,
2602
+ peerId: peerId,
2603
+ newStatus: newStatus
2604
+ });
2605
+ };
2606
+ var _handleStreamDisabled = function _handleStreamDisabled(stream) {
2607
+ unsetTrack(stream);
2608
+ onStreamDisabled(stream);
2609
+ };
2610
+ var _handleParticipantModeChanged = function _handleParticipantModeChanged(data) {
2611
+ if (participantId === data.participantId) {
2612
+ setMode(data.mode);
2613
+ }
2614
+ };
2615
+ var remove = function remove() {
2616
+ agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.remove();
2617
+ };
2618
+ var pin = function pin(data) {
2619
+ agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.pin(data);
2620
+ };
2621
+ var unpin = function unpin(data) {
2622
+ agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.unpin(data);
2623
+ };
2624
+ var getAudioStats = function getAudioStats() {
2625
+ return Promise.resolve(agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.getAudioStats());
2626
+ };
2627
+ var getVideoStats = function getVideoStats() {
2628
+ return Promise.resolve(agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.getVideoStats());
2629
+ };
2630
+ React.useEffect(function () {
2631
+ if (!agentParticipant) return;
2632
+ var streams = agentParticipant.streams;
2633
+ if (streams) {
2634
+ streams.forEach(function (stream) {
2635
+ return setTrack(stream);
2636
+ });
2637
+ }
2638
+ if (agentParticipant !== null && agentParticipant !== void 0 && agentParticipant.micOn) {
2639
+ setMicOn(micOn);
2640
+ }
2641
+ if (agentParticipant !== null && agentParticipant !== void 0 && agentParticipant.webcamOn) {
2642
+ setWebcamOn(webcamOn);
2643
+ }
2644
+ setAgentState(agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.agentState);
2645
+ agentParticipant.on('agent-state-changed', _handleAgentStateChanged);
2646
+ agentParticipant.on('agent-transcription-received', _handleTranscriptionReceived);
2647
+ agentParticipant.on('stream-enabled', _handleStreamEnabled);
2648
+ agentParticipant.on('stream-disabled', _handleStreamDisabled);
2649
+ agentParticipant.on('media-status-changed', _handleMediaStatusChanged);
2650
+ eventEmitter.on(events['participant-mode-changed'], _handleParticipantModeChanged);
2651
+ return function () {
2652
+ agentParticipant.off('agent-state-changed', _handleAgentStateChanged);
2653
+ agentParticipant.off('agent-transcription-received', _handleTranscriptionReceived);
2654
+ agentParticipant.off('stream-enabled', _handleStreamEnabled);
2655
+ agentParticipant.off('stream-disabled', _handleStreamDisabled);
2656
+ agentParticipant.off('media-status-changed', _handleMediaStatusChanged);
2657
+ eventEmitter.off(events['participant-mode-changed'], _handleParticipantModeChanged);
2658
+ };
2659
+ }, [agentParticipant]);
2660
+ return {
2661
+ agentParticipant: agentParticipant,
2662
+ id: agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.id,
2663
+ displayName: agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.displayName,
2664
+ agentId: agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.agentId,
2665
+ agentState: agentState,
2666
+ webcamStream: webcamStream,
2667
+ micStream: micStream,
2668
+ webcamOn: webcamOn || !!webcamStream,
2669
+ micOn: micOn || !!micStream,
2670
+ mode: mode,
2671
+ metaData: agentParticipant === null || agentParticipant === void 0 ? void 0 : agentParticipant.metaData,
2672
+ pinState: pinState,
2673
+ isActiveSpeaker: activeSpeakerId === participantId,
2674
+ pin: pin,
2675
+ unpin: unpin,
2676
+ remove: remove,
2677
+ getAudioStats: getAudioStats,
2678
+ getVideoStats: getVideoStats
2679
+ };
2680
+ };
2681
+
2502
2682
  var _excluded = ["participantId", "type"];
2503
2683
  var Constants = jsSdk.VideoSDK.Constants;
2504
2684
  var createCameraVideoTrack = function createCameraVideoTrack(_ref) {
@@ -2530,6 +2710,12 @@ var createCameraVideoTrack = function createCameraVideoTrack(_ref) {
2530
2710
  return Promise.reject(e);
2531
2711
  }
2532
2712
  };
2713
+ var setLogLevel = function setLogLevel(logLevel) {
2714
+ if (logLevel === void 0) {
2715
+ logLevel = Constants.LogLevel.INFO;
2716
+ }
2717
+ jsSdk.VideoSDK.setLogLevel(logLevel);
2718
+ };
2533
2719
  var createScreenShareVideoTrack = function createScreenShareVideoTrack(_ref2) {
2534
2720
  var _ref2$encoderConfig = _ref2.encoderConfig,
2535
2721
  encoderConfig = _ref2$encoderConfig === void 0 ? undefined : _ref2$encoderConfig,
@@ -2787,6 +2973,8 @@ exports.createCameraVideoTrack = createCameraVideoTrack;
2787
2973
  exports.createMicrophoneAudioTrack = createMicrophoneAudioTrack;
2788
2974
  exports.createScreenShareVideoTrack = createScreenShareVideoTrack;
2789
2975
  exports.getNetworkStats = getNetworkStats;
2976
+ exports.setLogLevel = setLogLevel;
2977
+ exports.useAgentParticipant = useAgentParticipant;
2790
2978
  exports.useCharacter = useCharacter;
2791
2979
  exports.useConnection = useConnection;
2792
2980
  exports.useFile = useFile;