@livekit/react-native 2.9.6 → 2.9.8

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.
Files changed (140) hide show
  1. package/README.md +7 -5
  2. package/ios/LivekitReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  3. package/ios/LivekitReactNative.xcodeproj/xcuserdata/davidliu.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  4. package/lib/commonjs/LKNativeModule.js.map +1 -1
  5. package/lib/commonjs/audio/AudioManager.js +1 -2
  6. package/lib/commonjs/audio/AudioManager.js.map +1 -1
  7. package/lib/commonjs/audio/AudioSession.js +105 -100
  8. package/lib/commonjs/audio/AudioSession.js.map +1 -1
  9. package/lib/commonjs/audio/MediaRecorder.js +54 -35
  10. package/lib/commonjs/audio/MediaRecorder.js.map +1 -1
  11. package/lib/commonjs/components/BarVisualizer.js +8 -8
  12. package/lib/commonjs/components/BarVisualizer.js.map +1 -1
  13. package/lib/commonjs/components/LiveKitRoom.js +11 -7
  14. package/lib/commonjs/components/LiveKitRoom.js.map +1 -1
  15. package/lib/commonjs/components/VideoTrack.js +34 -47
  16. package/lib/commonjs/components/VideoTrack.js.map +1 -1
  17. package/lib/commonjs/components/VideoView.js +36 -48
  18. package/lib/commonjs/components/VideoView.js.map +1 -1
  19. package/lib/commonjs/components/ViewPortDetector.js +71 -79
  20. package/lib/commonjs/components/ViewPortDetector.js.map +1 -1
  21. package/lib/commonjs/e2ee/RNE2EEManager.js +8 -15
  22. package/lib/commonjs/e2ee/RNE2EEManager.js.map +1 -1
  23. package/lib/commonjs/e2ee/RNKeyProvider.js +1 -5
  24. package/lib/commonjs/e2ee/RNKeyProvider.js.map +1 -1
  25. package/lib/commonjs/events/EventEmitter.js +2 -4
  26. package/lib/commonjs/events/EventEmitter.js.map +1 -1
  27. package/lib/commonjs/hooks/useE2EEManager.js.map +1 -1
  28. package/lib/commonjs/hooks/useMultibandTrackVolume.js +4 -5
  29. package/lib/commonjs/hooks/useMultibandTrackVolume.js.map +1 -1
  30. package/lib/commonjs/hooks/useTrackVolume.js +4 -5
  31. package/lib/commonjs/hooks/useTrackVolume.js.map +1 -1
  32. package/lib/commonjs/hooks.js.map +1 -1
  33. package/lib/commonjs/index.js +15 -6
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/logger.js.map +1 -1
  36. package/lib/commonjs/package.json +1 -0
  37. package/lib/commonjs/polyfills/EncoderDecoderTogether.min.js.map +1 -1
  38. package/lib/commonjs/polyfills/MediaRecorderShim.js.map +1 -1
  39. package/lib/commonjs/useParticipant.js.map +1 -1
  40. package/lib/commonjs/useRoom.js +4 -6
  41. package/lib/commonjs/useRoom.js.map +1 -1
  42. package/lib/module/LKNativeModule.js +2 -0
  43. package/lib/module/LKNativeModule.js.map +1 -1
  44. package/lib/module/audio/AudioManager.js +2 -0
  45. package/lib/module/audio/AudioManager.js.map +1 -1
  46. package/lib/module/audio/AudioSession.js +107 -100
  47. package/lib/module/audio/AudioSession.js.map +1 -1
  48. package/lib/module/audio/MediaRecorder.js +50 -29
  49. package/lib/module/audio/MediaRecorder.js.map +1 -1
  50. package/lib/module/components/BarVisualizer.js +9 -6
  51. package/lib/module/components/BarVisualizer.js.map +1 -1
  52. package/lib/module/components/LiveKitRoom.js +12 -6
  53. package/lib/module/components/LiveKitRoom.js.map +1 -1
  54. package/lib/module/components/VideoTrack.js +35 -45
  55. package/lib/module/components/VideoTrack.js.map +1 -1
  56. package/lib/module/components/VideoView.js +37 -46
  57. package/lib/module/components/VideoView.js.map +1 -1
  58. package/lib/module/components/ViewPortDetector.js +71 -77
  59. package/lib/module/components/ViewPortDetector.js.map +1 -1
  60. package/lib/module/e2ee/RNE2EEManager.js +10 -15
  61. package/lib/module/e2ee/RNE2EEManager.js.map +1 -1
  62. package/lib/module/e2ee/RNKeyProvider.js +3 -5
  63. package/lib/module/e2ee/RNKeyProvider.js.map +1 -1
  64. package/lib/module/events/EventEmitter.js +4 -4
  65. package/lib/module/events/EventEmitter.js.map +1 -1
  66. package/lib/module/hooks/useE2EEManager.js +2 -0
  67. package/lib/module/hooks/useE2EEManager.js.map +1 -1
  68. package/lib/module/hooks/useMultibandTrackVolume.js +6 -5
  69. package/lib/module/hooks/useMultibandTrackVolume.js.map +1 -1
  70. package/lib/module/hooks/useTrackVolume.js +6 -5
  71. package/lib/module/hooks/useTrackVolume.js.map +1 -1
  72. package/lib/module/hooks.js +2 -0
  73. package/lib/module/hooks.js.map +1 -1
  74. package/lib/module/index.js +5 -4
  75. package/lib/module/index.js.map +1 -1
  76. package/lib/module/logger.js +2 -0
  77. package/lib/module/logger.js.map +1 -1
  78. package/lib/module/polyfills/EncoderDecoderTogether.min.js.map +1 -1
  79. package/lib/module/polyfills/MediaRecorderShim.js +2 -0
  80. package/lib/module/polyfills/MediaRecorderShim.js.map +1 -1
  81. package/lib/module/useParticipant.js +2 -0
  82. package/lib/module/useParticipant.js.map +1 -1
  83. package/lib/module/useRoom.js +6 -6
  84. package/lib/module/useRoom.js.map +1 -1
  85. package/lib/typescript/{LKNativeModule.d.ts → src/LKNativeModule.d.ts} +1 -0
  86. package/lib/typescript/src/LKNativeModule.d.ts.map +1 -0
  87. package/lib/typescript/{audio → src/audio}/AudioManager.d.ts +1 -0
  88. package/lib/typescript/src/audio/AudioManager.d.ts.map +1 -0
  89. package/lib/typescript/{audio → src/audio}/AudioSession.d.ts +1 -0
  90. package/lib/typescript/src/audio/AudioSession.d.ts.map +1 -0
  91. package/lib/typescript/{audio → src/audio}/MediaRecorder.d.ts +14 -1
  92. package/lib/typescript/src/audio/MediaRecorder.d.ts.map +1 -0
  93. package/lib/typescript/{components → src/components}/BarVisualizer.d.ts +2 -2
  94. package/lib/typescript/src/components/BarVisualizer.d.ts.map +1 -0
  95. package/lib/typescript/{components → src/components}/LiveKitRoom.d.ts +2 -1
  96. package/lib/typescript/src/components/LiveKitRoom.d.ts.map +1 -0
  97. package/lib/typescript/{components → src/components}/VideoTrack.d.ts +2 -2
  98. package/lib/typescript/src/components/VideoTrack.d.ts.map +1 -0
  99. package/lib/typescript/{components → src/components}/VideoView.d.ts +2 -2
  100. package/lib/typescript/src/components/VideoView.d.ts.map +1 -0
  101. package/lib/typescript/{components → src/components}/ViewPortDetector.d.ts +3 -2
  102. package/lib/typescript/src/components/ViewPortDetector.d.ts.map +1 -0
  103. package/lib/typescript/{e2ee → src/e2ee}/RNE2EEManager.d.ts +1 -0
  104. package/lib/typescript/src/e2ee/RNE2EEManager.d.ts.map +1 -0
  105. package/lib/typescript/{e2ee → src/e2ee}/RNKeyProvider.d.ts +1 -0
  106. package/lib/typescript/src/e2ee/RNKeyProvider.d.ts.map +1 -0
  107. package/lib/typescript/{events → src/events}/EventEmitter.d.ts +1 -0
  108. package/lib/typescript/src/events/EventEmitter.d.ts.map +1 -0
  109. package/lib/typescript/{hooks → src/hooks}/useE2EEManager.d.ts +1 -0
  110. package/lib/typescript/src/hooks/useE2EEManager.d.ts.map +1 -0
  111. package/lib/typescript/{hooks → src/hooks}/useMultibandTrackVolume.d.ts +1 -0
  112. package/lib/typescript/src/hooks/useMultibandTrackVolume.d.ts.map +1 -0
  113. package/lib/typescript/{hooks → src/hooks}/useTrackVolume.d.ts +1 -0
  114. package/lib/typescript/src/hooks/useTrackVolume.d.ts.map +1 -0
  115. package/lib/typescript/{hooks.d.ts → src/hooks.d.ts} +1 -0
  116. package/lib/typescript/src/hooks.d.ts.map +1 -0
  117. package/lib/typescript/{index.d.ts → src/index.d.ts} +2 -0
  118. package/lib/typescript/src/index.d.ts.map +1 -0
  119. package/lib/typescript/{logger.d.ts → src/logger.d.ts} +1 -0
  120. package/lib/typescript/src/logger.d.ts.map +1 -0
  121. package/lib/typescript/src/polyfills/MediaRecorderShim.d.ts +2 -0
  122. package/lib/typescript/src/polyfills/MediaRecorderShim.d.ts.map +1 -0
  123. package/lib/typescript/{useParticipant.d.ts → src/useParticipant.d.ts} +1 -0
  124. package/lib/typescript/src/useParticipant.d.ts.map +1 -0
  125. package/lib/typescript/{useRoom.d.ts → src/useRoom.d.ts} +1 -0
  126. package/lib/typescript/src/useRoom.d.ts.map +1 -0
  127. package/package.json +40 -57
  128. package/src/audio/MediaRecorder.ts +54 -17
  129. package/src/components/BarVisualizer.tsx +2 -2
  130. package/src/components/VideoTrack.tsx +0 -2
  131. package/src/components/VideoView.tsx +0 -2
  132. package/src/components/ViewPortDetector.tsx +1 -1
  133. package/src/index.tsx +1 -0
  134. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  135. package/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  136. package/android/gradlew +0 -249
  137. package/android/gradlew.bat +0 -92
  138. package/android/local.properties +0 -8
  139. package/lib/typescript/polyfills/EncoderDecoderTogether.min.d.ts +0 -0
  140. package/lib/typescript/polyfills/MediaRecorderShim.d.ts +0 -1
@@ -34,3 +34,4 @@ export default class RNE2EEManager extends RNE2EEManager_base implements BaseE2E
34
34
  setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void;
35
35
  }
36
36
  export {};
37
+ //# sourceMappingURL=RNE2EEManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RNE2EEManager.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/RNE2EEManager.ts"],"names":[],"mappings":"AAUA,OAAO,EAOL,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAEzB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAEhC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAC;AAEpE,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;kCAMxB,UAAU,iBAAiB,CAAC,oBAAoB,CAAC;AAJ5E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aACnB,SAAQ,kBACR,YAAW,eAAe;IAE1B,OAAO,CAAC,IAAI,CAAC,CAAO;IACpB,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,SAAS,CACkB;IAEnC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,4BAA4B,CAAkB;IAEtD,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,iBAAiB,CAA+C;gBAEtE,WAAW,EAAE,aAAa,EAC1B,mBAAmB,GAAE,OAAe;IAQtC,IAAI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,8BAA8B,IAAI,OAAO,CAE5C;IACD,IAAI,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAEhD;IAED,KAAK,CAAC,IAAI,EAAE,IAAI;IAOhB,OAAO,CAAC,mBAAmB;YAwCb,eAAe;YAwBf,iBAAiB;IAwB/B,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;YAI1B,oBAAoB;IA0B5B,WAAW,CACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IA2BxC,mBAAmB,CACvB,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,UAAU,EACd,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IA0B9C,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,6BAA6B;IAYrC,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAGrC,4BAA4B,CAC1B,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;CA0BR"}
@@ -33,3 +33,4 @@ export default class RNKeyProvider extends BaseKeyProvider {
33
33
  get rtcKeyProvider(): RTCKeyProvider;
34
34
  dispose(): void;
35
35
  }
36
+ //# sourceMappingURL=RNKeyProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RNKeyProvider.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/RNKeyProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAEL,cAAc,EAEf,MAAM,8BAA8B,CAAC;AAStC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,iBAAiB,CAAiB;gBAE9B,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAuBlD,iBAAiB,CAAC,aAAa,EAAE,MAAM;IAIvC;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM;IAIxD,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAIxC;;;OAGG;IACG,MAAM,CACV,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GAAG,UAAU,EACxB,QAAQ,CAAC,EAAE,MAAM;IAUJ,UAAU,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQnE,aAAa,CAAC,OAAO,EAAE,UAAU;IAIvC;;OAEG;IACH,IAAI,cAAc,mBAEjB;IAED,OAAO;CAGR"}
@@ -4,3 +4,4 @@ type Listener = unknown;
4
4
  export declare function addListener(listener: Listener, eventName: string, eventHandler: EventHandler): void;
5
5
  export declare function removeListener(listener: Listener): void;
6
6
  export {};
7
+ //# sourceMappingURL=EventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/events/EventEmitter.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,SAMhC;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAC7C,KAAK,QAAQ,GAAG,OAAO,CAAC;AAIxB,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,GACzB,IAAI,CAYN;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAMvD"}
@@ -13,3 +13,4 @@ export interface RNE2EEManagerState {
13
13
  * @experimental
14
14
  */
15
15
  export declare function useRNE2EEManager(options: UseRNE2EEManagerOptions): RNE2EEManagerState;
16
+ //# sourceMappingURL=useE2EEManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useE2EEManager.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useE2EEManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,kBAAkB,CA4BpB"}
@@ -29,3 +29,4 @@ export interface MultiBandTrackVolumeOptions {
29
29
  * @returns A number array containing the volume for each frequency band.
30
30
  */
31
31
  export declare function useMultibandTrackVolume(trackOrTrackReference?: LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholder, options?: MultiBandTrackVolumeOptions): number[];
32
+ //# sourceMappingURL=useMultibandTrackVolume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMultibandTrackVolume.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useMultibandTrackVolume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAMxB;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,qBAAqB,CAAC,EAClB,eAAe,GACf,gBAAgB,GAChB,2BAA2B,EAC/B,OAAO,CAAC,EAAE,2BAA2B,YAqDtC"}
@@ -7,3 +7,4 @@ import { type LocalAudioTrack, type RemoteAudioTrack } from 'livekit-client';
7
7
  * @returns A number between 0-1 representing the volume.
8
8
  */
9
9
  export declare function useTrackVolume(trackOrTrackReference?: LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholder): number;
10
+ //# sourceMappingURL=useTrackVolume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTrackVolume.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTrackVolume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAMxB;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,qBAAqB,CAAC,EAClB,eAAe,GACf,gBAAgB,GAChB,2BAA2B,UA8ChC"}
@@ -5,3 +5,4 @@ export * from './hooks/useE2EEManager';
5
5
  export * from './hooks/useTrackVolume';
6
6
  export * from './hooks/useMultibandTrackVolume';
7
7
  export type { UseRNE2EEManagerOptions } from './hooks/useE2EEManager';
8
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,8BAA8B,EAC9B,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -34,5 +34,7 @@ export * from './useParticipant';
34
34
  export * from './useRoom';
35
35
  export * from './logger';
36
36
  export * from './audio/AudioManager';
37
+ export * from './audio/MediaRecorder';
37
38
  export { AudioSession, RNE2EEManager, RNKeyProvider, AndroidAudioTypePresets, getDefaultAppleAudioConfigurationForMode, };
38
39
  export type { AudioConfiguration, AndroidAudioTypeOptions, AppleAudioCategory, AppleAudioCategoryOption, AppleAudioConfiguration, AppleAudioMode, AudioTrackState, LogLevel, SetLogLevelOptions, RNKeyProviderOptions, };
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,8CAA8C,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AAGvC,OAAO,2CAA2C,CAAC;AACnD,OAAO,YAAY,EAAE,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,wCAAwC,EACzC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,aAAa,EAAE,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIhF,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,QAkB/D;AA6FD,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,wCAAwC,GACzC,CAAC;AACF,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,GACrB,CAAC"}
@@ -11,3 +11,4 @@ export type SetLogLevelOptions = {
11
11
  * @public
12
12
  */
13
13
  export declare function setLogLevel(level: LogLevel, options?: SetLogLevelOptions): void;
14
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,eAAO,MAAM,GAAG,iBAAwC,CAAC;AAGzD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,CAAC,EAAE,QAAQ,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CAGN"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MediaRecorderShim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaRecorderShim.d.ts","sourceRoot":"","sources":["../../../../src/polyfills/MediaRecorderShim.ts"],"names":[],"mappings":""}
@@ -13,3 +13,4 @@ export interface ParticipantState {
13
13
  }
14
14
  /** @deprecated use `useRemoteParticipant` or `useLocalParticipant` instead */
15
15
  export declare function useParticipant(participant: Participant): ParticipantState;
16
+ //# sourceMappingURL=useParticipant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParticipant.d.ts","sourceRoot":"","sources":["../../../src/useParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGX,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAGxB,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;IACzC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;CAC3C;AACD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,CA+HzE"}
@@ -19,3 +19,4 @@ export declare function useRoom(room: Room, options?: RoomOptions): RoomState;
19
19
  * 5. by joinedAt
20
20
  */
21
21
  export declare function sortParticipants(participants: Participant[], localParticipant?: LocalParticipant): void;
22
+ //# sourceMappingURL=useRoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoom.d.ts","sourceRoot":"","sources":["../../../src/useRoom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAEf,gBAAgB,EAChB,WAAW,EAEX,IAAI,EAGL,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAC1D;AAED,4IAA4I;AAC5I,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CA2EpE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,WAAW,EAAE,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,QAkDpC"}
package/package.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "name": "@livekit/react-native",
3
- "version": "2.9.6",
3
+ "version": "2.9.8",
4
4
  "description": "LiveKit for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
- "types": "lib/typescript/index.d.ts",
7
+ "types": "lib/typescript/src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "source": "./src/index.tsx",
11
+ "types": "./lib/typescript/src/index.d.ts",
12
+ "default": "./lib/commonjs/index"
13
+ }
14
+ },
8
15
  "react-native": "src/index",
9
16
  "source": "src/index",
10
17
  "files": [
@@ -16,9 +23,13 @@
16
23
  "livekit-react-native.podspec",
17
24
  "!lib/typescript/example",
18
25
  "!lib/typescript/ci",
19
- "!android/build",
20
26
  "!android/.gradle",
21
27
  "!android/.idea",
28
+ "!android/build",
29
+ "!android/gradle",
30
+ "!android/gradlew",
31
+ "!android/gradlew.bat",
32
+ "!android/local.properties",
22
33
  "!ios/build",
23
34
  "!example",
24
35
  "!ci",
@@ -46,7 +57,6 @@
46
57
  "@livekit/mutex": "^1.1.1",
47
58
  "array.prototype.at": "^1.1.1",
48
59
  "base64-js": "1.5.1",
49
- "event-target-shim": "6.0.2",
50
60
  "events": "^3.3.0",
51
61
  "loglevel": "^1.8.0",
52
62
  "promise.allsettled": "^1.0.5",
@@ -56,42 +66,33 @@
56
66
  "well-known-symbols": "^4.1.0"
57
67
  },
58
68
  "devDependencies": {
59
- "@babel/core": "^7.25.2",
60
- "@babel/preset-env": "^7.25.3",
61
- "@babel/runtime": "^7.25.0",
62
- "@commitlint/config-conventional": "^16.2.1",
63
- "@livekit/react-native-webrtc": "^137.0.2",
64
- "@react-native-community/cli": "20.0.0",
65
- "@react-native-community/cli-platform-android": "20.0.0",
66
- "@react-native-community/cli-platform-ios": "20.0.0",
67
- "@react-native/babel-preset": "0.82.0",
68
- "@react-native/eslint-config": "0.82.0",
69
- "@react-native/metro-config": "0.82.0",
70
- "@react-native/typescript-config": "0.82.0",
71
- "@release-it/conventional-changelog": "^4.2.0",
69
+ "@commitlint/config-conventional": "^19.8.1",
70
+ "@eslint/compat": "^1.3.2",
71
+ "@eslint/eslintrc": "^3.3.1",
72
+ "@eslint/js": "^9.35.0",
73
+ "@livekit/react-native-webrtc": "^137.0.3",
74
+ "@react-native/babel-preset": "0.83.0",
75
+ "@react-native/eslint-config": "0.83.0",
76
+ "@release-it/conventional-changelog": "10.0.1",
72
77
  "@types/fastestsmallesttextencoderdecoder": "^1.0.0",
73
- "@types/react": "^19.1.1",
74
- "@types/react-test-renderer": "^19.1.0",
75
- "babel-jest": "^29.6.3",
76
- "commitlint": "^16.2.1",
77
- "eslint": "^8.23.0",
78
- "eslint-config-prettier": "^8.5.0",
79
- "eslint-plugin-ft-flow": "^2.0.3",
80
- "eslint-plugin-prettier": "^4.2.1",
81
- "husky": "^7.0.4",
82
- "jest": "^29.6.3",
78
+ "@types/react": "^19.2.0",
79
+ "commitlint": "^19.8.1",
80
+ "eslint": "^9.35.0",
81
+ "eslint-config-prettier": "^10.1.8",
82
+ "eslint-plugin-prettier": "^5.5.4",
83
+ "jest": "^29.7.0",
83
84
  "livekit-client": "^2.15.8",
84
- "pod-install": "^0.2.2",
85
- "prettier": "2.8.8",
86
- "react": "19.1.1",
87
- "react-native": "0.82.0",
88
- "react-native-builder-bob": "^0.18.2",
89
- "release-it": "^14.2.2",
85
+ "pod-install": "^1.0.9",
86
+ "prettier": "^3.6.2",
87
+ "react": "19.2.0",
88
+ "react-native": "0.83.0",
89
+ "react-native-builder-bob": "^0.40.17",
90
+ "release-it": "^19.0.4",
90
91
  "typedoc": "^0.28.14",
91
- "typescript": "^5.4.5"
92
+ "typescript": "^5.9.2"
92
93
  },
93
94
  "peerDependencies": {
94
- "@livekit/react-native-webrtc": "^137.0.2",
95
+ "@livekit/react-native-webrtc": "^137.0.3",
95
96
  "livekit-client": "^2.15.8",
96
97
  "react": "*",
97
98
  "react-native": "*"
@@ -113,6 +114,7 @@
113
114
  "workspaces": [
114
115
  "example"
115
116
  ],
117
+ "packageManager": "yarn@4.11.0",
116
118
  "jest": {
117
119
  "preset": "react-native",
118
120
  "modulePathIgnorePatterns": [
@@ -176,28 +178,6 @@
176
178
  }
177
179
  }
178
180
  },
179
- "eslintConfig": {
180
- "root": true,
181
- "extends": [
182
- "@react-native",
183
- "eslint-config-prettier"
184
- ],
185
- "plugins": [
186
- "eslint-plugin-prettier"
187
- ],
188
- "rules": {
189
- "prettier/prettier": [
190
- "error",
191
- {
192
- "quoteProps": "consistent",
193
- "singleQuote": true,
194
- "tabWidth": 2,
195
- "trailingComma": "es5",
196
- "useTabs": false
197
- }
198
- ]
199
- }
200
- },
201
181
  "prettier": {
202
182
  "quoteProps": "consistent",
203
183
  "singleQuote": true,
@@ -218,5 +198,8 @@
218
198
  }
219
199
  ]
220
200
  ]
201
+ },
202
+ "resolutions": {
203
+ "react-native-monorepo-config@^0.3.1": "patch:react-native-monorepo-config@npm%3A0.3.1#./.yarn/patches/react-native-monorepo-config-npm-0.3.1-2343b725c3.patch"
221
204
  }
222
205
  }
@@ -1,10 +1,11 @@
1
1
  import type { MediaStream } from '@livekit/react-native-webrtc';
2
- import { addListener } from '../events/EventEmitter';
3
2
  import {
4
3
  EventTarget,
5
4
  Event,
6
- defineEventAttribute,
7
- } from 'event-target-shim/index';
5
+ getEventAttributeValue,
6
+ setEventAttributeValue,
7
+ } from '@livekit/react-native-webrtc';
8
+ import { addListener } from '../events/EventEmitter';
8
9
  import { toByteArray } from 'base64-js';
9
10
  import LiveKitModule from '../LKNativeModule';
10
11
  import { log } from '../logger';
@@ -49,7 +50,7 @@ export class MediaRecorder extends EventTarget<MediaRecorderEventMap> {
49
50
  if (audioTracks.length !== 1) {
50
51
  return;
51
52
  }
52
- const mediaStreamTrack = audioTracks[0];
53
+ const mediaStreamTrack = audioTracks[0]!!;
53
54
  const peerConnectionId = mediaStreamTrack._peerConnectionId ?? -1;
54
55
  const mediaStreamTrackId = mediaStreamTrack?.id;
55
56
  this._reactTag = LiveKitModule.createAudioSinkListener(
@@ -75,7 +76,7 @@ export class MediaRecorder extends EventTarget<MediaRecorderEventMap> {
75
76
  log.error("couldn't find any audio tracks to record from!");
76
77
  return;
77
78
  }
78
- const mediaStreamTrack = audioTracks[0];
79
+ const mediaStreamTrack = audioTracks[0]!!;
79
80
  const peerConnectionId = mediaStreamTrack._peerConnectionId ?? -1;
80
81
  const mediaStreamTrackId = mediaStreamTrack?.id;
81
82
 
@@ -123,6 +124,54 @@ export class MediaRecorder extends EventTarget<MediaRecorderEventMap> {
123
124
  new BlobEvent('dataavailable', { data: { byteArray: data } })
124
125
  );
125
126
  }
127
+
128
+ get ondataavailable() {
129
+ return getEventAttributeValue(this, 'dataavailable');
130
+ }
131
+
132
+ set ondataavailable(value) {
133
+ setEventAttributeValue(this, 'dataavailable', value);
134
+ }
135
+
136
+ get onerror() {
137
+ return getEventAttributeValue(this, 'error');
138
+ }
139
+
140
+ set onerror(value) {
141
+ setEventAttributeValue(this, 'error', value);
142
+ }
143
+
144
+ get onpause() {
145
+ return getEventAttributeValue(this, 'pause');
146
+ }
147
+
148
+ set onpause(value) {
149
+ setEventAttributeValue(this, 'pause', value);
150
+ }
151
+
152
+ get onresume() {
153
+ return getEventAttributeValue(this, 'resume');
154
+ }
155
+
156
+ set onresume(value) {
157
+ setEventAttributeValue(this, 'resume', value);
158
+ }
159
+
160
+ get onstart() {
161
+ return getEventAttributeValue(this, 'start');
162
+ }
163
+
164
+ set onstart(value) {
165
+ setEventAttributeValue(this, 'start', value);
166
+ }
167
+
168
+ get onstop() {
169
+ return getEventAttributeValue(this, 'stop');
170
+ }
171
+
172
+ set onstop(value) {
173
+ setEventAttributeValue(this, 'stop', value);
174
+ }
126
175
  }
127
176
 
128
177
  /**
@@ -144,15 +193,3 @@ class BlobEvent<TEventType extends string> extends Event<TEventType> {
144
193
  this.data = eventInitDict.data;
145
194
  }
146
195
  }
147
-
148
- /**
149
- * Define the `onxxx` event handlers.
150
- */
151
- const proto = MediaRecorder.prototype;
152
-
153
- defineEventAttribute(proto, 'dataavailable');
154
- defineEventAttribute(proto, 'error');
155
- defineEventAttribute(proto, 'pause');
156
- defineEventAttribute(proto, 'resume');
157
- defineEventAttribute(proto, 'start');
158
- defineEventAttribute(proto, 'stop');
@@ -131,7 +131,7 @@ export const BarVisualizer = ({
131
131
  targetOpacity = 1;
132
132
  }
133
133
  animations.push(
134
- Animated.timing(opacityAnimations[i], {
134
+ Animated.timing(opacityAnimations[i]!!, {
135
135
  toValue: targetOpacity,
136
136
  duration: 250,
137
137
  useNativeDriver: true,
@@ -224,7 +224,7 @@ export const useBarAnimator = (
224
224
  };
225
225
  }, [interval, columns, state, sequence.length]);
226
226
 
227
- return sequence[index % sequence.length];
227
+ return sequence[index % sequence.length]!!;
228
228
  };
229
229
 
230
230
  const generateListeningSequenceBar = (columns: number): number[][] => {
@@ -1,5 +1,3 @@
1
- import * as React from 'react';
2
-
3
1
  import {
4
2
  type LayoutChangeEvent,
5
3
  Platform,
@@ -1,5 +1,3 @@
1
- import * as React from 'react';
2
-
3
1
  import {
4
2
  type LayoutChangeEvent,
5
3
  StyleSheet,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- import React, { Component, type PropsWithChildren } from 'react';
3
+ import { Component, type PropsWithChildren } from 'react';
4
4
  import {
5
5
  AppState,
6
6
  type AppStateStatus,
package/src/index.tsx CHANGED
@@ -161,6 +161,7 @@ export * from './useParticipant'; // deprecated
161
161
  export * from './useRoom'; // deprecated
162
162
  export * from './logger';
163
163
  export * from './audio/AudioManager';
164
+ export * from './audio/MediaRecorder';
164
165
 
165
166
  export {
166
167
  AudioSession,
@@ -1,7 +0,0 @@
1
- distributionBase=GRADLE_USER_HOME
2
- distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
4
- networkTimeout=10000
5
- validateDistributionUrl=true
6
- zipStoreBase=GRADLE_USER_HOME
7
- zipStorePath=wrapper/dists