@livekit/react-native 2.9.5 → 2.9.7
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/README.md +7 -5
- package/ios/LivekitReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/LivekitReactNative.xcodeproj/xcuserdata/davidliu.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/lib/commonjs/LKNativeModule.js.map +1 -1
- package/lib/commonjs/audio/AudioManager.js +1 -2
- package/lib/commonjs/audio/AudioManager.js.map +1 -1
- package/lib/commonjs/audio/AudioSession.js +105 -100
- package/lib/commonjs/audio/AudioSession.js.map +1 -1
- package/lib/commonjs/audio/MediaRecorder.js +11 -17
- package/lib/commonjs/audio/MediaRecorder.js.map +1 -1
- package/lib/commonjs/components/BarVisualizer.js +8 -8
- package/lib/commonjs/components/BarVisualizer.js.map +1 -1
- package/lib/commonjs/components/LiveKitRoom.js +11 -7
- package/lib/commonjs/components/LiveKitRoom.js.map +1 -1
- package/lib/commonjs/components/VideoTrack.js +34 -47
- package/lib/commonjs/components/VideoTrack.js.map +1 -1
- package/lib/commonjs/components/VideoView.js +36 -48
- package/lib/commonjs/components/VideoView.js.map +1 -1
- package/lib/commonjs/components/ViewPortDetector.js +71 -79
- package/lib/commonjs/components/ViewPortDetector.js.map +1 -1
- package/lib/commonjs/e2ee/RNE2EEManager.js +8 -15
- package/lib/commonjs/e2ee/RNE2EEManager.js.map +1 -1
- package/lib/commonjs/e2ee/RNKeyProvider.js +1 -5
- package/lib/commonjs/e2ee/RNKeyProvider.js.map +1 -1
- package/lib/commonjs/events/EventEmitter.js +2 -4
- package/lib/commonjs/events/EventEmitter.js.map +1 -1
- package/lib/commonjs/hooks/useE2EEManager.js.map +1 -1
- package/lib/commonjs/hooks/useMultibandTrackVolume.js +4 -5
- package/lib/commonjs/hooks/useMultibandTrackVolume.js.map +1 -1
- package/lib/commonjs/hooks/useTrackVolume.js +4 -5
- package/lib/commonjs/hooks/useTrackVolume.js.map +1 -1
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/index.js +3 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/logger.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/polyfills/EncoderDecoderTogether.min.js.map +1 -1
- package/lib/commonjs/polyfills/MediaRecorderShim.js.map +1 -1
- package/lib/commonjs/useParticipant.js.map +1 -1
- package/lib/commonjs/useRoom.js +4 -6
- package/lib/commonjs/useRoom.js.map +1 -1
- package/lib/module/LKNativeModule.js +2 -0
- package/lib/module/LKNativeModule.js.map +1 -1
- package/lib/module/audio/AudioManager.js +2 -0
- package/lib/module/audio/AudioManager.js.map +1 -1
- package/lib/module/audio/AudioSession.js +107 -100
- package/lib/module/audio/AudioSession.js.map +1 -1
- package/lib/module/audio/MediaRecorder.js +13 -17
- package/lib/module/audio/MediaRecorder.js.map +1 -1
- package/lib/module/components/BarVisualizer.js +9 -6
- package/lib/module/components/BarVisualizer.js.map +1 -1
- package/lib/module/components/LiveKitRoom.js +12 -6
- package/lib/module/components/LiveKitRoom.js.map +1 -1
- package/lib/module/components/VideoTrack.js +35 -45
- package/lib/module/components/VideoTrack.js.map +1 -1
- package/lib/module/components/VideoView.js +37 -46
- package/lib/module/components/VideoView.js.map +1 -1
- package/lib/module/components/ViewPortDetector.js +71 -77
- package/lib/module/components/ViewPortDetector.js.map +1 -1
- package/lib/module/e2ee/RNE2EEManager.js +10 -15
- package/lib/module/e2ee/RNE2EEManager.js.map +1 -1
- package/lib/module/e2ee/RNKeyProvider.js +3 -5
- package/lib/module/e2ee/RNKeyProvider.js.map +1 -1
- package/lib/module/events/EventEmitter.js +4 -4
- package/lib/module/events/EventEmitter.js.map +1 -1
- package/lib/module/hooks/useE2EEManager.js +2 -0
- package/lib/module/hooks/useE2EEManager.js.map +1 -1
- package/lib/module/hooks/useMultibandTrackVolume.js +6 -5
- package/lib/module/hooks/useMultibandTrackVolume.js.map +1 -1
- package/lib/module/hooks/useTrackVolume.js +6 -5
- package/lib/module/hooks/useTrackVolume.js.map +1 -1
- package/lib/module/hooks.js +2 -0
- package/lib/module/hooks.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/logger.js +2 -0
- package/lib/module/logger.js.map +1 -1
- package/lib/module/polyfills/EncoderDecoderTogether.min.js.map +1 -1
- package/lib/module/polyfills/MediaRecorderShim.js +2 -0
- package/lib/module/polyfills/MediaRecorderShim.js.map +1 -1
- package/lib/module/useParticipant.js +2 -0
- package/lib/module/useParticipant.js.map +1 -1
- package/lib/module/useRoom.js +6 -6
- package/lib/module/useRoom.js.map +1 -1
- package/lib/typescript/{LKNativeModule.d.ts → src/LKNativeModule.d.ts} +1 -0
- package/lib/typescript/src/LKNativeModule.d.ts.map +1 -0
- package/lib/typescript/{audio → src/audio}/AudioManager.d.ts +1 -0
- package/lib/typescript/src/audio/AudioManager.d.ts.map +1 -0
- package/lib/typescript/{audio → src/audio}/AudioSession.d.ts +1 -0
- package/lib/typescript/src/audio/AudioSession.d.ts.map +1 -0
- package/lib/typescript/{audio → src/audio}/MediaRecorder.d.ts +1 -0
- package/lib/typescript/src/audio/MediaRecorder.d.ts.map +1 -0
- package/lib/typescript/{components → src/components}/BarVisualizer.d.ts +2 -2
- package/lib/typescript/src/components/BarVisualizer.d.ts.map +1 -0
- package/lib/typescript/{components → src/components}/LiveKitRoom.d.ts +2 -1
- package/lib/typescript/src/components/LiveKitRoom.d.ts.map +1 -0
- package/lib/typescript/{components → src/components}/VideoTrack.d.ts +2 -2
- package/lib/typescript/src/components/VideoTrack.d.ts.map +1 -0
- package/lib/typescript/{components → src/components}/VideoView.d.ts +2 -2
- package/lib/typescript/src/components/VideoView.d.ts.map +1 -0
- package/lib/typescript/{components → src/components}/ViewPortDetector.d.ts +3 -2
- package/lib/typescript/src/components/ViewPortDetector.d.ts.map +1 -0
- package/lib/typescript/{e2ee → src/e2ee}/RNE2EEManager.d.ts +1 -0
- package/lib/typescript/src/e2ee/RNE2EEManager.d.ts.map +1 -0
- package/lib/typescript/{e2ee → src/e2ee}/RNKeyProvider.d.ts +1 -0
- package/lib/typescript/src/e2ee/RNKeyProvider.d.ts.map +1 -0
- package/lib/typescript/{events → src/events}/EventEmitter.d.ts +1 -0
- package/lib/typescript/src/events/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/{hooks → src/hooks}/useE2EEManager.d.ts +1 -0
- package/lib/typescript/src/hooks/useE2EEManager.d.ts.map +1 -0
- package/lib/typescript/{hooks → src/hooks}/useMultibandTrackVolume.d.ts +1 -0
- package/lib/typescript/src/hooks/useMultibandTrackVolume.d.ts.map +1 -0
- package/lib/typescript/{hooks → src/hooks}/useTrackVolume.d.ts +1 -0
- package/lib/typescript/src/hooks/useTrackVolume.d.ts.map +1 -0
- package/lib/typescript/{hooks.d.ts → src/hooks.d.ts} +1 -0
- package/lib/typescript/src/hooks.d.ts.map +1 -0
- package/lib/typescript/{index.d.ts → src/index.d.ts} +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/{logger.d.ts → src/logger.d.ts} +1 -0
- package/lib/typescript/src/logger.d.ts.map +1 -0
- package/lib/typescript/src/polyfills/MediaRecorderShim.d.ts +2 -0
- package/lib/typescript/src/polyfills/MediaRecorderShim.d.ts.map +1 -0
- package/lib/typescript/{useParticipant.d.ts → src/useParticipant.d.ts} +1 -0
- package/lib/typescript/src/useParticipant.d.ts.map +1 -0
- package/lib/typescript/{useRoom.d.ts → src/useRoom.d.ts} +1 -0
- package/lib/typescript/src/useRoom.d.ts.map +1 -0
- package/package.json +41 -57
- package/src/audio/MediaRecorder.ts +2 -2
- package/src/components/BarVisualizer.tsx +2 -2
- package/src/components/VideoTrack.tsx +0 -2
- package/src/components/VideoView.tsx +0 -2
- package/src/components/ViewPortDetector.tsx +1 -1
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -7
- package/android/gradlew +0 -249
- package/android/gradlew.bat +0 -92
- package/android/local.properties +0 -8
- package/lib/typescript/polyfills/EncoderDecoderTogether.min.d.ts +0 -0
- package/lib/typescript/polyfills/MediaRecorderShim.d.ts +0 -1
|
@@ -4,21 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
12
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
10
|
const DEFAULT_DELAY = 1000;
|
|
16
11
|
class TimeoutHandler {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
});
|
|
21
|
-
}
|
|
12
|
+
handlerRef = {
|
|
13
|
+
id: -1
|
|
14
|
+
};
|
|
22
15
|
get handler() {
|
|
23
16
|
return this.handlerRef.id;
|
|
24
17
|
}
|
|
@@ -52,70 +45,13 @@ function setIntervalWithTimeout(callback, intervalMs, handleWrapper = new Timeou
|
|
|
52
45
|
* Will not fire visibility changes for zero width/height components.
|
|
53
46
|
*/
|
|
54
47
|
class ViewPortDetector extends _react.Component {
|
|
48
|
+
lastValue = null;
|
|
49
|
+
interval = null;
|
|
50
|
+
view = null;
|
|
51
|
+
lastAppStateActive = false;
|
|
52
|
+
appStateSubscription = null;
|
|
55
53
|
constructor(props) {
|
|
56
54
|
super(props);
|
|
57
|
-
_defineProperty(this, "lastValue", null);
|
|
58
|
-
_defineProperty(this, "interval", null);
|
|
59
|
-
_defineProperty(this, "view", null);
|
|
60
|
-
_defineProperty(this, "lastAppStateActive", false);
|
|
61
|
-
_defineProperty(this, "appStateSubscription", null);
|
|
62
|
-
_defineProperty(this, "hasValidTimeout", (disabled, delay) => {
|
|
63
|
-
let disabledValue = disabled ?? false;
|
|
64
|
-
let delayValue = delay ?? DEFAULT_DELAY;
|
|
65
|
-
return _reactNative.AppState.currentState === 'active' && !disabledValue && delayValue > 0;
|
|
66
|
-
});
|
|
67
|
-
_defineProperty(this, "handleAppStateChange", nextAppState => {
|
|
68
|
-
let nextAppStateActive = nextAppState === 'active';
|
|
69
|
-
if (this.lastAppStateActive !== nextAppStateActive) {
|
|
70
|
-
this.checkVisibility();
|
|
71
|
-
}
|
|
72
|
-
this.lastAppStateActive = nextAppStateActive;
|
|
73
|
-
if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {
|
|
74
|
-
this.stopWatching();
|
|
75
|
-
} else {
|
|
76
|
-
this.startWatching();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
_defineProperty(this, "startWatching", () => {
|
|
80
|
-
if (this.interval) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.interval = setIntervalWithTimeout(this.checkVisibility, this.props.delay || DEFAULT_DELAY);
|
|
84
|
-
});
|
|
85
|
-
_defineProperty(this, "stopWatching", () => {
|
|
86
|
-
var _this$interval;
|
|
87
|
-
(_this$interval = this.interval) === null || _this$interval === void 0 || _this$interval.clear();
|
|
88
|
-
this.interval = null;
|
|
89
|
-
});
|
|
90
|
-
_defineProperty(this, "checkVisibility", () => {
|
|
91
|
-
if (!this.view) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (_reactNative.AppState.currentState !== 'active') {
|
|
95
|
-
this.updateVisibility(false);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
this.view.measure((_x, _y, width, height, _pageX, _pageY) => {
|
|
99
|
-
this.checkInViewPort(width, height);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
_defineProperty(this, "checkInViewPort", (width, height) => {
|
|
103
|
-
let isVisible;
|
|
104
|
-
// Not visible if any of these are missing.
|
|
105
|
-
if (!width || !height) {
|
|
106
|
-
isVisible = false;
|
|
107
|
-
} else {
|
|
108
|
-
isVisible = true;
|
|
109
|
-
}
|
|
110
|
-
this.updateVisibility(isVisible);
|
|
111
|
-
});
|
|
112
|
-
_defineProperty(this, "updateVisibility", isVisible => {
|
|
113
|
-
if (this.lastValue !== isVisible) {
|
|
114
|
-
var _this$props$onChange, _this$props;
|
|
115
|
-
this.lastValue = isVisible;
|
|
116
|
-
(_this$props$onChange = (_this$props = this.props).onChange) === null || _this$props$onChange === void 0 || _this$props$onChange.call(_this$props, isVisible);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
55
|
this.state = {
|
|
120
56
|
rectTop: 0,
|
|
121
57
|
rectBottom: 0
|
|
@@ -129,11 +65,15 @@ class ViewPortDetector extends _react.Component {
|
|
|
129
65
|
}
|
|
130
66
|
}
|
|
131
67
|
componentWillUnmount() {
|
|
132
|
-
|
|
133
|
-
(_this$appStateSubscri = this.appStateSubscription) === null || _this$appStateSubscri === void 0 || _this$appStateSubscri.remove();
|
|
68
|
+
this.appStateSubscription?.remove();
|
|
134
69
|
this.appStateSubscription = null;
|
|
135
70
|
this.stopWatching();
|
|
136
71
|
}
|
|
72
|
+
hasValidTimeout = (disabled, delay) => {
|
|
73
|
+
let disabledValue = disabled ?? false;
|
|
74
|
+
let delayValue = delay ?? DEFAULT_DELAY;
|
|
75
|
+
return _reactNative.AppState.currentState === 'active' && !disabledValue && delayValue > 0;
|
|
76
|
+
};
|
|
137
77
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
138
78
|
if (!this.hasValidTimeout(nextProps.disabled, nextProps.delay)) {
|
|
139
79
|
this.stopWatching();
|
|
@@ -144,13 +84,65 @@ class ViewPortDetector extends _react.Component {
|
|
|
144
84
|
this.startWatching();
|
|
145
85
|
}
|
|
146
86
|
}
|
|
87
|
+
handleAppStateChange = nextAppState => {
|
|
88
|
+
let nextAppStateActive = nextAppState === 'active';
|
|
89
|
+
if (this.lastAppStateActive !== nextAppStateActive) {
|
|
90
|
+
this.checkVisibility();
|
|
91
|
+
}
|
|
92
|
+
this.lastAppStateActive = nextAppStateActive;
|
|
93
|
+
if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {
|
|
94
|
+
this.stopWatching();
|
|
95
|
+
} else {
|
|
96
|
+
this.startWatching();
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
startWatching = () => {
|
|
100
|
+
if (this.interval) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this.interval = setIntervalWithTimeout(this.checkVisibility, this.props.delay || DEFAULT_DELAY);
|
|
104
|
+
};
|
|
105
|
+
stopWatching = () => {
|
|
106
|
+
this.interval?.clear();
|
|
107
|
+
this.interval = null;
|
|
108
|
+
};
|
|
109
|
+
checkVisibility = () => {
|
|
110
|
+
if (!this.view) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (_reactNative.AppState.currentState !== 'active') {
|
|
114
|
+
this.updateVisibility(false);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
this.view.measure((_x, _y, width, height, _pageX, _pageY) => {
|
|
118
|
+
this.checkInViewPort(width, height);
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
checkInViewPort = (width, height) => {
|
|
122
|
+
let isVisible;
|
|
123
|
+
// Not visible if any of these are missing.
|
|
124
|
+
if (!width || !height) {
|
|
125
|
+
isVisible = false;
|
|
126
|
+
} else {
|
|
127
|
+
isVisible = true;
|
|
128
|
+
}
|
|
129
|
+
this.updateVisibility(isVisible);
|
|
130
|
+
};
|
|
131
|
+
updateVisibility = isVisible => {
|
|
132
|
+
if (this.lastValue !== isVisible) {
|
|
133
|
+
this.lastValue = isVisible;
|
|
134
|
+
this.props.onChange?.(isVisible);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
147
137
|
render() {
|
|
148
|
-
return /*#__PURE__*/
|
|
138
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
149
139
|
collapsable: false,
|
|
150
140
|
ref: component => {
|
|
151
141
|
this.view = component;
|
|
152
|
-
}
|
|
153
|
-
|
|
142
|
+
},
|
|
143
|
+
...this.props,
|
|
144
|
+
children: this.props.children
|
|
145
|
+
});
|
|
154
146
|
}
|
|
155
147
|
}
|
|
156
148
|
exports.default = ViewPortDetector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","has","get","n","__proto__","a","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEFAULT_DELAY","TimeoutHandler","constructor","id","handler","handlerRef","clear","clearTimeout","setIntervalWithTimeout","callback","intervalMs","handleWrapper","cleared","timeout","setTimeout","ViewPortDetector","Component","props","disabled","delay","disabledValue","delayValue","AppState","currentState","nextAppState","nextAppStateActive","lastAppStateActive","checkVisibility","hasValidTimeout","stopWatching","startWatching","interval","_this$interval","view","updateVisibility","measure","_x","_y","width","height","_pageX","_pageY","checkInViewPort","isVisible","lastValue","_this$props$onChange","_this$props","onChange","state","rectTop","rectBottom","componentDidMount","appStateSubscription","addEventListener","handleAppStateChange","componentWillUnmount","_this$appStateSubscri","remove","UNSAFE_componentWillReceiveProps","nextProps","propKey","render","createElement","View","collapsable","ref","component","children"],"sources":["ViewPortDetector.tsx"],"sourcesContent":["'use strict';\n\nimport React, { Component, type PropsWithChildren } from 'react';\nimport {\n AppState,\n type AppStateStatus,\n type NativeEventSubscription,\n View,\n type ViewStyle,\n} from 'react-native';\n\nconst DEFAULT_DELAY = 1000;\n\nexport type Props = {\n disabled?: boolean;\n style?: ViewStyle;\n onChange?: (isVisible: boolean) => void;\n delay?: number;\n propKey?: any;\n};\n\nclass TimeoutHandler {\n private handlerRef: { id: any } = { id: -1 };\n\n get handler(): any {\n return this.handlerRef.id;\n }\n set handler(n: any) {\n this.handlerRef.id = n;\n }\n\n clear() {\n clearTimeout(this.handlerRef.id as any);\n }\n}\n\nfunction setIntervalWithTimeout(\n callback: (clear: () => void) => any,\n intervalMs: number,\n handleWrapper = new TimeoutHandler()\n): TimeoutHandler {\n let cleared = false;\n\n const timeout = () => {\n handleWrapper.handler = setTimeout(() => {\n callback(() => {\n cleared = true;\n handleWrapper.clear();\n });\n if (!cleared) {\n timeout();\n }\n }, intervalMs);\n };\n timeout();\n return handleWrapper;\n}\n\n/**\n * Detects when this is in the viewport and visible.\n *\n * Will not fire visibility changes for zero width/height components.\n */\nexport default class ViewPortDetector extends Component<\n PropsWithChildren<Props>\n> {\n private lastValue: boolean | null = null;\n private interval: TimeoutHandler | null = null;\n private view: View | null = null;\n private lastAppStateActive = false;\n private appStateSubscription: NativeEventSubscription | null = null;\n\n constructor(props: Props) {\n super(props);\n this.state = { rectTop: 0, rectBottom: 0 };\n }\n\n componentDidMount() {\n this.lastAppStateActive = AppState.currentState === 'active';\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n this.handleAppStateChange\n );\n if (this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.startWatching();\n }\n }\n\n componentWillUnmount() {\n this.appStateSubscription?.remove();\n this.appStateSubscription = null;\n this.stopWatching();\n }\n\n hasValidTimeout = (disabled?: boolean, delay?: number): boolean => {\n let disabledValue = disabled ?? false;\n let delayValue = delay ?? DEFAULT_DELAY;\n return (\n AppState.currentState === 'active' && !disabledValue && delayValue > 0\n );\n };\n\n UNSAFE_componentWillReceiveProps(nextProps: Props) {\n if (!this.hasValidTimeout(nextProps.disabled, nextProps.delay)) {\n this.stopWatching();\n } else {\n if (this.props.propKey !== nextProps.propKey) {\n this.lastValue = null;\n }\n this.startWatching();\n }\n }\n handleAppStateChange = (nextAppState: AppStateStatus) => {\n let nextAppStateActive = nextAppState === 'active';\n if (this.lastAppStateActive !== nextAppStateActive) {\n this.checkVisibility();\n }\n this.lastAppStateActive = nextAppStateActive;\n\n if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.stopWatching();\n } else {\n this.startWatching();\n }\n };\n\n startWatching = () => {\n if (this.interval) {\n return;\n }\n this.interval = setIntervalWithTimeout(\n this.checkVisibility,\n this.props.delay || DEFAULT_DELAY\n );\n };\n\n stopWatching = () => {\n this.interval?.clear();\n this.interval = null;\n };\n\n checkVisibility = () => {\n if (!this.view) {\n return;\n }\n\n if (AppState.currentState !== 'active') {\n this.updateVisibility(false);\n return;\n }\n\n this.view.measure((_x, _y, width, height, _pageX, _pageY) => {\n this.checkInViewPort(width, height);\n });\n };\n checkInViewPort = (width?: number, height?: number) => {\n let isVisible: boolean;\n // Not visible if any of these are missing.\n if (!width || !height) {\n isVisible = false;\n } else {\n isVisible = true;\n }\n this.updateVisibility(isVisible);\n };\n\n updateVisibility = (isVisible: boolean) => {\n if (this.lastValue !== isVisible) {\n this.lastValue = isVisible;\n this.props.onChange?.(isVisible);\n }\n };\n render() {\n return (\n <View\n collapsable={false}\n ref={(component) => {\n this.view = component;\n }}\n {...this.props}\n >\n {this.props.children}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","default","_react","require","_reactNative","_jsxRuntime","DEFAULT_DELAY","TimeoutHandler","handlerRef","id","handler","n","clear","clearTimeout","setIntervalWithTimeout","callback","intervalMs","handleWrapper","cleared","timeout","setTimeout","ViewPortDetector","Component","lastValue","interval","view","lastAppStateActive","appStateSubscription","constructor","props","state","rectTop","rectBottom","componentDidMount","AppState","currentState","addEventListener","handleAppStateChange","hasValidTimeout","disabled","delay","startWatching","componentWillUnmount","remove","stopWatching","disabledValue","delayValue","UNSAFE_componentWillReceiveProps","nextProps","propKey","nextAppState","nextAppStateActive","checkVisibility","updateVisibility","measure","_x","_y","width","height","_pageX","_pageY","checkInViewPort","isVisible","onChange","render","jsx","View","collapsable","ref","component","children"],"sourceRoot":"../../../src","sources":["components/ViewPortDetector.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,23 +8,18 @@ var _reactNativeWebrtc = require("@livekit/react-native-webrtc");
|
|
|
8
8
|
var _livekitClient = require("livekit-client");
|
|
9
9
|
var _events = _interopRequireDefault(require("events"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
11
|
/**
|
|
15
12
|
* @experimental
|
|
16
13
|
*/
|
|
17
14
|
class RNE2EEManager extends _events.default {
|
|
15
|
+
frameCryptors = new Map();
|
|
16
|
+
algorithm = _reactNativeWebrtc.RTCFrameCryptorAlgorithm.kAesGcm;
|
|
17
|
+
encryptionEnabled = false;
|
|
18
|
+
dataChannelEncryptionEnabled = false;
|
|
19
|
+
dataPacketCryptorLock = new _livekitClient.Mutex();
|
|
20
|
+
dataPacketCryptor = undefined;
|
|
18
21
|
constructor(keyProvider, dcEncryptionEnabled = false) {
|
|
19
22
|
super();
|
|
20
|
-
_defineProperty(this, "room", void 0);
|
|
21
|
-
_defineProperty(this, "frameCryptors", new Map());
|
|
22
|
-
_defineProperty(this, "keyProvider", void 0);
|
|
23
|
-
_defineProperty(this, "algorithm", _reactNativeWebrtc.RTCFrameCryptorAlgorithm.kAesGcm);
|
|
24
|
-
_defineProperty(this, "encryptionEnabled", false);
|
|
25
|
-
_defineProperty(this, "dataChannelEncryptionEnabled", false);
|
|
26
|
-
_defineProperty(this, "dataPacketCryptorLock", new _livekitClient.Mutex());
|
|
27
|
-
_defineProperty(this, "dataPacketCryptor", undefined);
|
|
28
23
|
this.keyProvider = keyProvider;
|
|
29
24
|
this.encryptionEnabled = false;
|
|
30
25
|
this.dataChannelEncryptionEnabled = dcEncryptionEnabled;
|
|
@@ -169,13 +164,11 @@ class RNE2EEManager extends _events.default {
|
|
|
169
164
|
// No-op
|
|
170
165
|
}
|
|
171
166
|
setParticipantCryptorEnabled(enabled, participantIdentity) {
|
|
172
|
-
|
|
173
|
-
if (this.encryptionEnabled !== enabled && participantIdentity === ((_this$room = this.room) === null || _this$room === void 0 ? void 0 : _this$room.localParticipant.identity)) {
|
|
167
|
+
if (this.encryptionEnabled !== enabled && participantIdentity === this.room?.localParticipant.identity) {
|
|
174
168
|
this.encryptionEnabled = enabled;
|
|
175
169
|
this.emit(_livekitClient.EncryptionEvent.ParticipantEncryptionStatusChanged, enabled, this.room.localParticipant);
|
|
176
170
|
} else {
|
|
177
|
-
|
|
178
|
-
const participant = (_this$room2 = this.room) === null || _this$room2 === void 0 ? void 0 : _this$room2.getParticipantByIdentity(participantIdentity);
|
|
171
|
+
const participant = this.room?.getParticipantByIdentity(participantIdentity);
|
|
179
172
|
if (!participant) {
|
|
180
173
|
throw TypeError(`couldn't set encryption status, participant not found ${participantIdentity}`);
|
|
181
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeWebrtc","require","_livekitClient","_events","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","RNE2EEManager","EventEmitter","constructor","keyProvider","dcEncryptionEnabled","Map","RTCFrameCryptorAlgorithm","kAesGcm","Mutex","undefined","encryptionEnabled","dataChannelEncryptionEnabled","isEnabled","isDataChannelEncryptionEnabled","setup","room","setupEventListeners","localParticipant","on","ParticipantEvent","LocalTrackPublished","publication","setupE2EESender","LocalTrackUnpublished","frameCryptor","findTrackCryptor","trackSid","frameCryptors","delete","setEnabled","dispose","RoomEvent","TrackSubscribed","_track","pub","participant","setupE2EEReceiver","TrackUnsubscribed","_participant","SignalConnected","setParticipantCryptorEnabled","isE2EEEnabled","identity","isEncrypted","createFrameCryptorForSender","track","sender","set","setKeyIndex","getLatestKeyIndex","createFrameCryptorForReceiver","receiver","setSifTrailer","trailer","getDataPacketCryptor","dataPacketCryptor","unlock","dataPacketCryptorLock","lock","RTCDataPacketCryptorFactory","createDataPacketCryptor","algorithm","rtcKeyProvider","encryptData","data","Error","participantId","encryptedPacket","encrypt","uuid","payload","iv","keyIndex","handleEncryptedData","participantIdentity","packet","decryptedData","decrypt","trackId","get","RTCFrameCryptorFactory","createFrameCryptorForRtpSender","createFrameCryptorForRtpReceiver","setupEngine","_engine","enabled","_this$room","emit","EncryptionEvent","ParticipantEncryptionStatusChanged","_this$room2","getParticipantByIdentity","exports"],"sources":["RNE2EEManager.ts"],"sourcesContent":["import {\n RTCDataPacketCryptor,\n RTCDataPacketCryptorFactory,\n RTCFrameCryptorAlgorithm,\n RTCFrameCryptorFactory,\n RTCRtpReceiver,\n type RTCEncryptedPacket,\n type RTCFrameCryptor,\n type RTCRtpSender,\n} from '@livekit/react-native-webrtc';\nimport {\n LocalParticipant,\n LocalTrackPublication,\n ParticipantEvent,\n RemoteParticipant,\n RemoteTrackPublication,\n RoomEvent,\n type Room,\n type BaseE2EEManager,\n type E2EEManagerCallbacks,\n EncryptionEvent,\n type DecryptDataResponseMessage,\n type EncryptDataResponseMessage,\n Mutex,\n} from 'livekit-client';\nimport type RNKeyProvider from './RNKeyProvider';\nimport type RTCEngine from 'livekit-client/dist/src/room/RTCEngine';\nimport EventEmitter from 'events';\nimport type TypedEventEmitter from 'typed-emitter';\n\n/**\n * @experimental\n */\nexport default class RNE2EEManager\n extends (EventEmitter as new () => TypedEventEmitter<E2EEManagerCallbacks>)\n implements BaseE2EEManager\n{\n private room?: Room;\n private frameCryptors: Map<string, RTCFrameCryptor> = new Map();\n private keyProvider: RNKeyProvider;\n private algorithm: RTCFrameCryptorAlgorithm =\n RTCFrameCryptorAlgorithm.kAesGcm;\n\n private encryptionEnabled: boolean = false;\n private dataChannelEncryptionEnabled: boolean = false;\n\n private dataPacketCryptorLock = new Mutex();\n private dataPacketCryptor: RTCDataPacketCryptor | undefined = undefined;\n constructor(\n keyProvider: RNKeyProvider,\n dcEncryptionEnabled: boolean = false\n ) {\n super();\n this.keyProvider = keyProvider;\n this.encryptionEnabled = false;\n this.dataChannelEncryptionEnabled = dcEncryptionEnabled;\n }\n\n get isEnabled(): boolean {\n return this.encryptionEnabled;\n }\n get isDataChannelEncryptionEnabled(): boolean {\n return this.isEnabled && this.dataChannelEncryptionEnabled;\n }\n set isDataChannelEncryptionEnabled(value: boolean) {\n this.dataChannelEncryptionEnabled = value;\n }\n\n setup(room: Room) {\n if (this.room !== room) {\n this.room = room;\n this.setupEventListeners(room);\n }\n }\n\n private setupEventListeners(room: Room) {\n room.localParticipant\n .on(ParticipantEvent.LocalTrackPublished, async (publication) => {\n this.setupE2EESender(publication, room.localParticipant);\n })\n .on(ParticipantEvent.LocalTrackUnpublished, async (publication) => {\n let frameCryptor = this.findTrackCryptor(publication.trackSid);\n if (frameCryptor) {\n this.frameCryptors.delete(publication.trackSid);\n await frameCryptor.setEnabled(false);\n await frameCryptor.dispose();\n }\n });\n\n room\n .on(RoomEvent.TrackSubscribed, (_track, pub, participant) => {\n this.setupE2EEReceiver(pub, participant);\n })\n .on(\n RoomEvent.TrackUnsubscribed,\n async (_track, publication, _participant) => {\n let frameCryptor = this.findTrackCryptor(publication.trackSid);\n if (frameCryptor) {\n this.frameCryptors.delete(publication.trackSid);\n await frameCryptor.setEnabled(false);\n await frameCryptor.dispose();\n }\n }\n )\n .on(RoomEvent.SignalConnected, () => {\n if (!this.room) {\n throw new TypeError(`expected room to be present on signal connect`);\n }\n this.setParticipantCryptorEnabled(\n this.room.localParticipant.isE2EEEnabled,\n this.room.localParticipant.identity\n );\n });\n }\n\n private async setupE2EESender(\n publication: LocalTrackPublication,\n participant: LocalParticipant\n ) {\n if (!publication.isEncrypted) {\n return;\n }\n\n var frameCryptor = this.findTrackCryptor(publication.trackSid);\n\n if (!frameCryptor) {\n frameCryptor = this.createFrameCryptorForSender(\n publication.track!.sender,\n participant.identity\n );\n\n this.frameCryptors.set(publication.trackSid, frameCryptor);\n frameCryptor.setEnabled(true);\n frameCryptor.setKeyIndex(\n this.keyProvider.getLatestKeyIndex(participant.identity)\n );\n }\n }\n\n private async setupE2EEReceiver(\n publication: RemoteTrackPublication,\n participant: RemoteParticipant\n ) {\n if (!publication.isEncrypted) {\n return;\n }\n\n var frameCryptor = this.findTrackCryptor(publication.trackSid);\n\n if (!frameCryptor) {\n frameCryptor = this.createFrameCryptorForReceiver(\n publication.track!.receiver,\n participant.identity\n );\n\n this.frameCryptors.set(publication.trackSid, frameCryptor);\n frameCryptor.setEnabled(true);\n frameCryptor.setKeyIndex(\n this.keyProvider.getLatestKeyIndex(participant.identity)\n );\n }\n }\n\n setSifTrailer(trailer: Uint8Array): void {\n this.keyProvider.setSifTrailer(trailer);\n }\n\n private async getDataPacketCryptor(): Promise<RTCDataPacketCryptor> {\n let dataPacketCryptor = this.dataPacketCryptor;\n if (dataPacketCryptor) {\n return dataPacketCryptor;\n }\n\n let unlock = await this.dataPacketCryptorLock.lock();\n\n try {\n dataPacketCryptor = this.dataPacketCryptor;\n if (dataPacketCryptor) {\n return dataPacketCryptor;\n }\n\n dataPacketCryptor =\n await RTCDataPacketCryptorFactory.createDataPacketCryptor(\n this.algorithm,\n this.keyProvider.rtcKeyProvider\n );\n\n this.dataPacketCryptor = dataPacketCryptor;\n return dataPacketCryptor;\n } finally {\n unlock();\n }\n }\n async encryptData(\n data: Uint8Array\n ): Promise<EncryptDataResponseMessage['data']> {\n let room = this.room;\n if (!room) {\n throw new Error(\"e2eemanager isn't setup with room!\");\n }\n\n let participantId = room.localParticipant.identity;\n\n let dataPacketCryptor = await this.getDataPacketCryptor();\n\n let encryptedPacket = await dataPacketCryptor.encrypt(\n participantId,\n this.keyProvider.getLatestKeyIndex(participantId),\n data\n );\n\n if (!encryptedPacket) {\n throw new Error('encryption for packet failed');\n }\n return {\n uuid: '', //not used\n payload: encryptedPacket.payload,\n iv: encryptedPacket.iv,\n keyIndex: encryptedPacket.keyIndex,\n };\n }\n\n async handleEncryptedData(\n payload: Uint8Array,\n iv: Uint8Array,\n participantIdentity: string,\n keyIndex: number\n ): Promise<DecryptDataResponseMessage['data']> {\n let packet = {\n payload,\n iv,\n keyIndex,\n } satisfies RTCEncryptedPacket;\n\n let dataPacketCryptor = await this.getDataPacketCryptor();\n let decryptedData = await dataPacketCryptor.decrypt(\n participantIdentity,\n packet\n );\n\n if (!decryptedData) {\n throw new Error('decryption for packet failed');\n }\n\n return {\n uuid: '', //not used\n payload: decryptedData,\n } satisfies DecryptDataResponseMessage['data'];\n }\n\n // Utility methods\n //////////////////////\n\n private findTrackCryptor(trackId: string): RTCFrameCryptor | undefined {\n return this.frameCryptors.get(trackId);\n }\n\n private createFrameCryptorForSender(\n sender: RTCRtpSender,\n participantId: string\n ): RTCFrameCryptor {\n return RTCFrameCryptorFactory.createFrameCryptorForRtpSender(\n participantId,\n sender,\n this.algorithm,\n this.keyProvider.rtcKeyProvider\n );\n }\n\n private createFrameCryptorForReceiver(\n receiver: RTCRtpReceiver,\n participantId: string\n ): RTCFrameCryptor {\n return RTCFrameCryptorFactory.createFrameCryptorForRtpReceiver(\n participantId,\n receiver,\n this.algorithm,\n this.keyProvider.rtcKeyProvider\n );\n }\n\n setupEngine(_engine: RTCEngine): void {\n // No-op\n }\n setParticipantCryptorEnabled(\n enabled: boolean,\n participantIdentity: string\n ): void {\n if (\n this.encryptionEnabled !== enabled &&\n participantIdentity === this.room?.localParticipant.identity\n ) {\n this.encryptionEnabled = enabled;\n this.emit(\n EncryptionEvent.ParticipantEncryptionStatusChanged,\n enabled,\n this.room!.localParticipant\n );\n } else {\n const participant =\n this.room?.getParticipantByIdentity(participantIdentity);\n if (!participant) {\n throw TypeError(\n `couldn't set encryption status, participant not found ${participantIdentity}`\n );\n }\n this.emit(\n EncryptionEvent.ParticipantEncryptionStatusChanged,\n enabled,\n participant\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeWebrtc","require","_livekitClient","_events","_interopRequireDefault","e","__esModule","default","RNE2EEManager","EventEmitter","frameCryptors","Map","algorithm","RTCFrameCryptorAlgorithm","kAesGcm","encryptionEnabled","dataChannelEncryptionEnabled","dataPacketCryptorLock","Mutex","dataPacketCryptor","undefined","constructor","keyProvider","dcEncryptionEnabled","isEnabled","isDataChannelEncryptionEnabled","value","setup","room","setupEventListeners","localParticipant","on","ParticipantEvent","LocalTrackPublished","publication","setupE2EESender","LocalTrackUnpublished","frameCryptor","findTrackCryptor","trackSid","delete","setEnabled","dispose","RoomEvent","TrackSubscribed","_track","pub","participant","setupE2EEReceiver","TrackUnsubscribed","_participant","SignalConnected","TypeError","setParticipantCryptorEnabled","isE2EEEnabled","identity","isEncrypted","createFrameCryptorForSender","track","sender","set","setKeyIndex","getLatestKeyIndex","createFrameCryptorForReceiver","receiver","setSifTrailer","trailer","getDataPacketCryptor","unlock","lock","RTCDataPacketCryptorFactory","createDataPacketCryptor","rtcKeyProvider","encryptData","data","Error","participantId","encryptedPacket","encrypt","uuid","payload","iv","keyIndex","handleEncryptedData","participantIdentity","packet","decryptedData","decrypt","trackId","get","RTCFrameCryptorFactory","createFrameCryptorForRtpSender","createFrameCryptorForRtpReceiver","setupEngine","_engine","enabled","emit","EncryptionEvent","ParticipantEncryptionStatusChanged","getParticipantByIdentity","exports"],"sourceRoot":"../../../src","sources":["e2ee/RNE2EEManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _livekitClient = require("livekit-client");
|
|
8
8
|
var _reactNativeWebrtc = require("@livekit/react-native-webrtc");
|
|
9
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
9
|
const defaultRatchetSalt = 'LKFrameEncryptionKey';
|
|
13
10
|
const defaultMagicBytes = 'LK-ROCKS';
|
|
14
11
|
const defaultRatchetWindowSize = 16;
|
|
@@ -24,6 +21,7 @@ const defaultDiscardFrameWhenCryptorNotReady = false;
|
|
|
24
21
|
* @experimental
|
|
25
22
|
*/
|
|
26
23
|
class RNKeyProvider extends _livekitClient.BaseKeyProvider {
|
|
24
|
+
latestSetIndex = new Map();
|
|
27
25
|
constructor(options) {
|
|
28
26
|
const opts = {
|
|
29
27
|
sharedKey: options.sharedKey ?? true,
|
|
@@ -40,8 +38,6 @@ class RNKeyProvider extends _livekitClient.BaseKeyProvider {
|
|
|
40
38
|
}
|
|
41
39
|
opts.uncryptedMagicBytes = magicBytes;
|
|
42
40
|
super(opts);
|
|
43
|
-
_defineProperty(this, "latestSetIndex", new Map());
|
|
44
|
-
_defineProperty(this, "nativeKeyProvider", void 0);
|
|
45
41
|
this.nativeKeyProvider = _reactNativeWebrtc.RTCFrameCryptorFactory.createDefaultKeyProvider(opts);
|
|
46
42
|
}
|
|
47
43
|
getLatestKeyIndex(participantId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_livekitClient","require","_reactNativeWebrtc","
|
|
1
|
+
{"version":3,"names":["_livekitClient","require","_reactNativeWebrtc","defaultRatchetSalt","defaultMagicBytes","defaultRatchetWindowSize","defaultFailureTolerance","defaultKeyRingSize","defaultDiscardFrameWhenCryptorNotReady","RNKeyProvider","BaseKeyProvider","latestSetIndex","Map","constructor","options","opts","sharedKey","ratchetSalt","ratchetWindowSize","failureTolerance","keyRingSize","keyringSize","discardFrameWhenCryptorNotReady","magicBytes","uncryptedMagicBytes","TextEncoder","encode","nativeKeyProvider","RTCFrameCryptorFactory","createDefaultKeyProvider","getLatestKeyIndex","participantId","get","setSharedKey","key","keyIndex","ratchetSharedKey","setKey","getOptions","set","ratchetKey","participantIdentity","setSifTrailer","trailer","rtcKeyProvider","dispose","exports","default"],"sourceRoot":"../../../src","sources":["e2ee/RNKeyProvider.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,18 +26,16 @@ function setupNativeEvents() {
|
|
|
26
26
|
}
|
|
27
27
|
const _subscriptions = new Map();
|
|
28
28
|
function addListener(listener, eventName, eventHandler) {
|
|
29
|
-
var _subscriptions$get;
|
|
30
29
|
if (!NATIVE_EVENTS.includes(eventName)) {
|
|
31
30
|
throw new Error(`Invalid event: ${eventName}`);
|
|
32
31
|
}
|
|
33
32
|
if (!_subscriptions.has(listener)) {
|
|
34
33
|
_subscriptions.set(listener, []);
|
|
35
34
|
}
|
|
36
|
-
|
|
35
|
+
_subscriptions.get(listener)?.push(eventEmitter.addListener(eventName, eventHandler));
|
|
37
36
|
}
|
|
38
37
|
function removeListener(listener) {
|
|
39
|
-
|
|
40
|
-
(_subscriptions$get2 = _subscriptions.get(listener)) === null || _subscriptions$get2 === void 0 || _subscriptions$get2.forEach(sub => {
|
|
38
|
+
_subscriptions.get(listener)?.forEach(sub => {
|
|
41
39
|
sub.remove();
|
|
42
40
|
});
|
|
43
41
|
_subscriptions.delete(listener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_EventEmitter","_interopRequireDefault","_LKNativeModule","e","__esModule","default","nativeEmitter","NativeEventEmitter","LiveKitModule","NATIVE_EVENTS","eventEmitter","EventEmitter","setupNativeEvents","eventName","addListener","args","emit","_subscriptions","Map","listener","eventHandler","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_EventEmitter","_interopRequireDefault","_LKNativeModule","e","__esModule","default","nativeEmitter","NativeEventEmitter","LiveKitModule","NATIVE_EVENTS","eventEmitter","EventEmitter","setupNativeEvents","eventName","addListener","args","emit","_subscriptions","Map","listener","eventHandler","includes","Error","has","set","get","push","removeListener","forEach","sub","remove","delete"],"sourceRoot":"../../../src","sources":["events/EventEmitter.ts"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAD,sBAAA,CAAAF,OAAA;AAA8C,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF9C;;AAIA;AACA;AACA,MAAMG,aAAa,GAAG,IAAIC,+BAAkB,CAACC,uBAAa,CAAC;AAE3D,MAAMC,aAAa,GAAG,CACpB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,CAChB;AAED,MAAMC,YAAY,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEhC,SAASC,iBAAiBA,CAAA,EAAG;EAClC,KAAK,MAAMC,SAAS,IAAIJ,aAAa,EAAE;IACrCH,aAAa,CAACQ,WAAW,CAACD,SAAS,EAAE,CAAC,GAAGE,IAAI,KAAK;MAChDL,YAAY,CAACM,IAAI,CAACH,SAAS,EAAE,GAAGE,IAAI,CAAC;IACvC,CAAC,CAAC;EACJ;AACF;AAKA,MAAME,cAAoD,GAAG,IAAIC,GAAG,CAAC,CAAC;AAE/D,SAASJ,WAAWA,CACzBK,QAAkB,EAClBN,SAAiB,EACjBO,YAA0B,EACpB;EACN,IAAI,CAACX,aAAa,CAACY,QAAQ,CAACR,SAAS,CAAC,EAAE;IACtC,MAAM,IAAIS,KAAK,CAAC,kBAAkBT,SAAS,EAAE,CAAC;EAChD;EAEA,IAAI,CAACI,cAAc,CAACM,GAAG,CAACJ,QAAQ,CAAC,EAAE;IACjCF,cAAc,CAACO,GAAG,CAACL,QAAQ,EAAE,EAAE,CAAC;EAClC;EAEAF,cAAc,CACXQ,GAAG,CAACN,QAAQ,CAAC,EACZO,IAAI,CAAChB,YAAY,CAACI,WAAW,CAACD,SAAS,EAAEO,YAAY,CAAC,CAAC;AAC7D;AAEO,SAASO,cAAcA,CAACR,QAAkB,EAAQ;EACvDF,cAAc,CAACQ,GAAG,CAACN,QAAQ,CAAC,EAAES,OAAO,CAAEC,GAAG,IAAK;IAC7CA,GAAG,CAACC,MAAM,CAAC,CAAC;EACd,CAAC,CAAC;EAEFb,cAAc,CAACc,MAAM,CAACZ,QAAQ,CAAC;AACjC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNE2EEManager","_interopRequireDefault","require","_","_react","e","__esModule","default","useRNE2EEManager","options","keyProvider","useState","RNKeyProvider","keyProviderOptions","e2eeManager","RNE2EEManager","useEffect","setup","setSharedKey","sharedKey","error","log","warn","dispose"],"
|
|
1
|
+
{"version":3,"names":["_RNE2EEManager","_interopRequireDefault","require","_","_react","e","__esModule","default","useRNE2EEManager","options","keyProvider","useState","RNKeyProvider","keyProviderOptions","e2eeManager","RNE2EEManager","useEffect","setup","setSharedKey","sharedKey","error","log","warn","dispose"],"sourceRoot":"../../../src","sources":["hooks/useE2EEManager.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAA4C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAc5C;AACA;AACA;AACO,SAASG,gBAAgBA,CAC9BC,OAAgC,EACZ;EACpB,IAAI,CAACC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAC1B,MAAM,IAAIC,eAAa,CAACH,OAAO,CAACI,kBAAkB,IAAI,CAAC,CAAC,CAC1D,CAAC;EACD,IAAI,CAACC,WAAW,CAAC,GAAG,IAAAH,eAAQ,EAAC,MAAM,IAAII,sBAAa,CAACL,WAAW,EAAE,KAAK,CAAC,CAAC;EAEzE,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIC,KAAK,GAAG,MAAAA,CAAA,KAAY;MACtB,IAAI;QACF,MAAMP,WAAW,CAACQ,YAAY,CAACT,OAAO,CAACU,SAAS,CAAC;MACnD,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,KAAG,CAACC,IAAI,CAAC,0BAA0B,EAAEF,KAAK,CAAC;MAC7C;IACF,CAAC;IACDH,KAAK,CAAC,CAAC;IACP,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC,EAAE,CAACP,WAAW,EAAED,OAAO,CAACU,SAAS,CAAC,CAAC;EAEpC,IAAAH,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXN,WAAW,CAACa,OAAO,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACb,WAAW,CAAC,CAAC;EAEjB,OAAO;IACLA,WAAW;IACXI;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -28,8 +28,7 @@ const multibandDefaults = {
|
|
|
28
28
|
* @returns A number array containing the volume for each frequency band.
|
|
29
29
|
*/
|
|
30
30
|
function useMultibandTrackVolume(trackOrTrackReference, options) {
|
|
31
|
-
|
|
32
|
-
const track = trackOrTrackReference instanceof _livekitClient.Track ? trackOrTrackReference : trackOrTrackReference === null || trackOrTrackReference === void 0 || (_trackOrTrackReferenc = trackOrTrackReference.publication) === null || _trackOrTrackReferenc === void 0 ? void 0 : _trackOrTrackReferenc.track;
|
|
31
|
+
const track = trackOrTrackReference instanceof _livekitClient.Track ? trackOrTrackReference : trackOrTrackReference?.publication?.track;
|
|
33
32
|
const opts = (0, _react.useMemo)(() => {
|
|
34
33
|
return {
|
|
35
34
|
...multibandDefaults,
|
|
@@ -39,10 +38,10 @@ function useMultibandTrackVolume(trackOrTrackReference, options) {
|
|
|
39
38
|
// disabled due to use of JSON.stringify, dependencies are reference equality
|
|
40
39
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
40
|
}, [JSON.stringify(options)]);
|
|
42
|
-
const mediaStreamTrack = track
|
|
41
|
+
const mediaStreamTrack = track?.mediaStreamTrack;
|
|
43
42
|
const hasMediaStreamTrack = mediaStreamTrack != null;
|
|
44
|
-
const peerConnectionId =
|
|
45
|
-
const mediaStreamTrackId = mediaStreamTrack
|
|
43
|
+
const peerConnectionId = mediaStreamTrack?._peerConnectionId ?? -1;
|
|
44
|
+
const mediaStreamTrackId = mediaStreamTrack?.id;
|
|
46
45
|
let [magnitudes, setMagnitudes] = (0, _react.useState)([]);
|
|
47
46
|
(0, _react.useEffect)(() => {
|
|
48
47
|
let listener = Object();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_livekitClient","require","_react","_EventEmitter","_LKNativeModule","_interopRequireDefault","e","__esModule","default","multibandDefaults","bands","minFrequency","maxFrequency","updateInterval","useMultibandTrackVolume","trackOrTrackReference","options","
|
|
1
|
+
{"version":3,"names":["_livekitClient","require","_react","_EventEmitter","_LKNativeModule","_interopRequireDefault","e","__esModule","default","multibandDefaults","bands","minFrequency","maxFrequency","updateInterval","useMultibandTrackVolume","trackOrTrackReference","options","track","Track","publication","opts","useMemo","JSON","stringify","mediaStreamTrack","hasMediaStreamTrack","peerConnectionId","_peerConnectionId","mediaStreamTrackId","id","magnitudes","setMagnitudes","useState","useEffect","listener","Object","reactTag","LiveKitModule","createMultibandVolumeProcessor","addListener","event","removeListener","deleteMultibandVolumeProcessor"],"sourceRoot":"../../../src","sources":["hooks/useMultibandTrackVolume.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA8C,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9C;AACA;AACA;AACA;;AAoBA,MAAMG,iBAAiB,GAAG;EACxBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,IAAI;EAClBC,cAAc,EAAE;AAClB,CAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CACrCC,qBAG+B,EAC/BC,OAAqC,EACrC;EACA,MAAMC,KAAK,GACTF,qBAAqB,YAAYG,oBAAK,GAClCH,qBAAqB,GAEnBA,qBAAqB,EAAEI,WAAW,EAAEF,KACrC;EACP,MAAMG,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAM;IACzB,OAAO;MAAE,GAAGZ,iBAAiB;MAAE,GAAGO;IAAQ,CAAC;;IAE3C;IACA;EACF,CAAC,EAAE,CAACM,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC,CAAC;EAE7B,MAAMQ,gBAAgB,GAAGP,KAAK,EAAEO,gBAEnB;EACb,MAAMC,mBAAmB,GAAGD,gBAAgB,IAAI,IAAI;EACpD,MAAME,gBAAgB,GAAGF,gBAAgB,EAAEG,iBAAiB,IAAI,CAAC,CAAC;EAClE,MAAMC,kBAAkB,GAAGJ,gBAAgB,EAAEK,EAAE;EAE/C,IAAI,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAW,EAAE,CAAC;EACxD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,QAAQ,GAAGC,MAAM,CAAC,CAAC;IACvB,IAAIC,QAAuB,GAAG,IAAI;IAClC,IAAIX,mBAAmB,EAAE;MACvBW,QAAQ,GAAGC,uBAAa,CAACC,8BAA8B,CACrDlB,IAAI,EACJM,gBAAgB,EAChBE,kBACF,CAAC;MACD,IAAAW,yBAAW,EAACL,QAAQ,EAAE,wBAAwB,EAAGM,KAAU,IAAK;QAC9D,IAAIA,KAAK,CAACV,UAAU,IAAIM,QAAQ,IAAII,KAAK,CAACX,EAAE,KAAKO,QAAQ,EAAE;UACzDL,aAAa,CAACS,KAAK,CAACV,UAAU,CAAC;QACjC;MACF,CAAC,CAAC;IACJ;IACA,OAAO,MAAM;MACX,IAAIL,mBAAmB,EAAE;QACvB,IAAAgB,4BAAc,EAACP,QAAQ,CAAC;QACxB,IAAIE,QAAQ,EAAE;UACZC,uBAAa,CAACK,8BAA8B,CAC1CN,QAAQ,EACRV,gBAAgB,EAChBE,kBACF,CAAC;QACH;MACF;IACF,CAAC;EACH,CAAC,EAAE,CAACH,mBAAmB,EAAEC,gBAAgB,EAAEE,kBAAkB,EAAER,IAAI,CAAC,CAAC;EAErE,OAAOU,UAAU;AACnB","ignoreList":[]}
|
|
@@ -16,12 +16,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
16
16
|
* @returns A number between 0-1 representing the volume.
|
|
17
17
|
*/
|
|
18
18
|
function useTrackVolume(trackOrTrackReference) {
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
const mediaStreamTrack = track === null || track === void 0 ? void 0 : track.mediaStreamTrack;
|
|
19
|
+
const track = trackOrTrackReference instanceof _livekitClient.Track ? trackOrTrackReference : trackOrTrackReference?.publication?.track;
|
|
20
|
+
const mediaStreamTrack = track?.mediaStreamTrack;
|
|
22
21
|
const hasMediaStreamTrack = mediaStreamTrack != null;
|
|
23
|
-
const peerConnectionId =
|
|
24
|
-
const mediaStreamTrackId = mediaStreamTrack
|
|
22
|
+
const peerConnectionId = mediaStreamTrack?._peerConnectionId ?? -1;
|
|
23
|
+
const mediaStreamTrackId = mediaStreamTrack?.id;
|
|
25
24
|
let [volume, setVolume] = (0, _react.useState)(0.0);
|
|
26
25
|
(0, _react.useEffect)(() => {
|
|
27
26
|
let listener = Object();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_livekitClient","require","_react","_EventEmitter","_LKNativeModule","_interopRequireDefault","e","__esModule","default","useTrackVolume","trackOrTrackReference","
|
|
1
|
+
{"version":3,"names":["_livekitClient","require","_react","_EventEmitter","_LKNativeModule","_interopRequireDefault","e","__esModule","default","useTrackVolume","trackOrTrackReference","track","Track","publication","mediaStreamTrack","hasMediaStreamTrack","peerConnectionId","_peerConnectionId","mediaStreamTrackId","id","volume","setVolume","useState","useEffect","listener","Object","reactTag","LiveKitModule","createVolumeProcessor","addListener","event","removeListener","deleteVolumeProcessor"],"sourceRoot":"../../../src","sources":["hooks/useTrackVolume.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA8C,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9C;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,cAAcA,CAC5BC,qBAG+B,EAC/B;EACA,MAAMC,KAAK,GACTD,qBAAqB,YAAYE,oBAAK,GAClCF,qBAAqB,GAEnBA,qBAAqB,EAAEG,WAAW,EAAEF,KACrC;EAEP,MAAMG,gBAAgB,GAAGH,KAAK,EAAEG,gBAEnB;EACb,MAAMC,mBAAmB,GAAGD,gBAAgB,IAAI,IAAI;EACpD,MAAME,gBAAgB,GAAGF,gBAAgB,EAAEG,iBAAiB,IAAI,CAAC,CAAC;EAClE,MAAMC,kBAAkB,GAAGJ,gBAAgB,EAAEK,EAAE;EAE/C,IAAI,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,GAAG,CAAC;EACvC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,QAAQ,GAAGC,MAAM,CAAC,CAAC;IACvB,IAAIC,QAAuB,GAAG,IAAI;IAClC,IAAIX,mBAAmB,EAAE;MACvBW,QAAQ,GAAGC,uBAAa,CAACC,qBAAqB,CAC5CZ,gBAAgB,EAChBE,kBACF,CAAC;MACD,IAAAW,yBAAW,EAACL,QAAQ,EAAE,qBAAqB,EAAGM,KAAU,IAAK;QAC3D,IAAIA,KAAK,CAACV,MAAM,IAAIM,QAAQ,IAAII,KAAK,CAACX,EAAE,KAAKO,QAAQ,EAAE;UACrDL,SAAS,CAACS,KAAK,CAACV,MAAM,CAAC;QACzB;MACF,CAAC,CAAC;IACJ;IACA,OAAO,MAAM;MACX,IAAIL,mBAAmB,EAAE;QACvB,IAAAgB,4BAAc,EAACP,QAAQ,CAAC;QACxB,IAAIE,QAAQ,EAAE;UACZC,uBAAa,CAACK,qBAAqB,CACjCN,QAAQ,EACRV,gBAAgB,EAChBE,kBACF,CAAC;QACH;MACF;IACF,CAAC;EACH,CAAC,EAAE,CAACH,mBAAmB,EAAEC,gBAAgB,EAAEE,kBAAkB,CAAC,CAAC;EAE/D,OAAOE,MAAM;AACf","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentsReact","require","_useE2EEManager","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTrackVolume","_useMultibandTrackVolume"],"
|
|
1
|
+
{"version":3,"names":["_componentsReact","require","_useE2EEManager","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTrackVolume","_useMultibandTrackVolume"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAgDA,IAAAC,eAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,eAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,eAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,eAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,eAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,eAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,eAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,wBAAA,GAAAf,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAY,wBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,wBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,wBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -163,8 +163,7 @@ Object.keys(_AudioManager).forEach(function (key) {
|
|
|
163
163
|
});
|
|
164
164
|
});
|
|
165
165
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
166
|
-
function
|
|
167
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
166
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
168
167
|
/**
|
|
169
168
|
* Registers the required globals needed for LiveKit to work.
|
|
170
169
|
*
|
|
@@ -219,9 +218,8 @@ function livekitRegisterGlobals() {
|
|
|
219
218
|
global.LiveKitReactNativeGlobal = lkGlobal;
|
|
220
219
|
}
|
|
221
220
|
function fixWebrtcAdapter() {
|
|
222
|
-
var _window;
|
|
223
221
|
// @ts-ignore
|
|
224
|
-
if (
|
|
222
|
+
if (window?.navigator !== undefined) {
|
|
225
223
|
// @ts-ignore
|
|
226
224
|
const {
|
|
227
225
|
navigator
|
|
@@ -243,9 +241,8 @@ function shimArrayAt() {
|
|
|
243
241
|
}
|
|
244
242
|
}
|
|
245
243
|
function shimCryptoUuid() {
|
|
246
|
-
var _global$crypto;
|
|
247
244
|
let crypto = global.crypto;
|
|
248
|
-
if (typeof
|
|
245
|
+
if (typeof global.crypto?.randomUUID !== 'function') {
|
|
249
246
|
let createRandomUUID = () => {
|
|
250
247
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
251
248
|
/* eslint-disable no-bitwise */
|