瀏覽代碼

feat(RTC) drop PERMISSION_PROMPT_IS_SHOWN event (#2609)

* feat(RTC) drop PERMISSION_PROMPT_IS_SHOWN event

It was never accurate since browsers have changed their behavior over
time and can be implemented in the application more reliably.

* squash: Update JitsiMeetJS.ts

* squash: Update hand-crafted JitsiMeetJS.d.ts

---------

Co-authored-by: Дамян Минков <damencho@jitsi.org>
release-8443
Saúl Ibarra Corretgé 10 月之前
父節點
當前提交
d7dc753db4
沒有連結到貢獻者的電子郵件帳戶。

+ 2
- 12
JitsiMeetJS.ts 查看文件

@@ -71,7 +71,6 @@ function getAnalyticsAttributesFromOptions(options) {
71 71
 interface ICreateLocalTrackOptions {
72 72
     cameraDeviceId?: string;
73 73
     devices?: any[];
74
-    firePermissionPromptIsShownEvent?: boolean;
75 74
     fireSlowPromiseEvent?: boolean;
76 75
     micDeviceId?: string;
77 76
     resolution?: string;
@@ -273,8 +272,6 @@ export default {
273 272
      * which should be created. should be created or some additional
274 273
      * configurations about resolution for example.
275 274
      * @param {Array} options.effects optional effects array for the track
276
-     * @param {boolean} options.firePermissionPromptIsShownEvent - if event
277
-     * JitsiMediaDevicesEvents.PERMISSION_PROMPT_IS_SHOWN should be fired
278 275
      * @param {Array} options.devices the devices that will be requested
279 276
      * @param {string} options.resolution resolution constraints
280 277
      * @param {string} options.cameraDeviceId
@@ -285,13 +282,6 @@ export default {
285 282
      * JitsiConferenceError if rejected.
286 283
      */
287 284
     createLocalTracks(options: ICreateLocalTrackOptions = {}) {
288
-        const { firePermissionPromptIsShownEvent, ...restOptions } = options;
289
-
290
-        if (firePermissionPromptIsShownEvent && !RTC.arePermissionsGrantedForAvailableDevices()) {
291
-            // @ts-ignore
292
-            JitsiMediaDevices.emit(JitsiMediaDevicesEvents.PERMISSION_PROMPT_IS_SHOWN, browser.getName());
293
-        }
294
-
295 285
         let isFirstGUM = false;
296 286
         let startTS = window.performance.now();
297 287
 
@@ -306,7 +296,7 @@ export default {
306 296
         }
307 297
         window.connectionTimes['obtainPermissions.start'] = startTS;
308 298
 
309
-        return RTC.obtainAudioAndVideoPermissions(restOptions)
299
+        return RTC.obtainAudioAndVideoPermissions(options)
310 300
             .then(tracks => {
311 301
                 let endTS = window.performance.now();
312 302
 
@@ -319,7 +309,7 @@ export default {
319 309
                 Statistics.sendAnalytics(
320 310
                     createGetUserMediaEvent(
321 311
                         'success',
322
-                        getAnalyticsAttributesFromOptions(restOptions)));
312
+                        getAnalyticsAttributesFromOptions(options)));
323 313
 
324 314
                 if (this.isCollectingLocalStats()) {
325 315
                     for (let i = 0; i < tracks.length; i++) {

+ 0
- 8
modules/RTC/RTC.js 查看文件

@@ -631,14 +631,6 @@ export default class RTC extends Listenable {
631 631
         return RTCUtils.getCurrentlyAvailableMediaDevices();
632 632
     }
633 633
 
634
-    /**
635
-     * Returns whether available devices have permissions granted
636
-     * @returns {Boolean}
637
-     */
638
-    static arePermissionsGrantedForAvailableDevices() {
639
-        return RTCUtils.arePermissionsGrantedForAvailableDevices();
640
-    }
641
-
642 634
     /**
643 635
      * Returns event data for device to be reported to stats.
644 636
      * @returns {MediaDeviceInfo} device.

+ 0
- 8
modules/RTC/RTCUtils.js 查看文件

@@ -827,14 +827,6 @@ class RTCUtils extends Listenable {
827 827
         return availableDevices;
828 828
     }
829 829
 
830
-    /**
831
-     * Returns whether available devices have permissions granted
832
-     * @returns {Boolean}
833
-     */
834
-    arePermissionsGrantedForAvailableDevices() {
835
-        return availableDevices.some(device => Boolean(device.label));
836
-    }
837
-
838 830
     /**
839 831
      * Returns event data for device to be reported to stats.
840 832
      * @returns {MediaDeviceInfo} device.

+ 1
- 1
types/hand-crafted/JitsiMeetJS.d.ts 查看文件

@@ -114,7 +114,7 @@ export type JitsiMeetJSType = {
114 114
 
115 115
   setGlobalLogOptions: ( options: unknown ) => void; // TODO:
116 116
 
117
-  createLocalTracks: ( options: CreateLocalTracksOptions, firePermissionPromptIsShownEvent?: boolean, originalOptions?: CreateLocalTracksOptions ) => Promise<Array<JitsiLocalTrack> | JitsiConferenceErrors>; // TODO:
117
+  createLocalTracks: ( options: CreateLocalTracksOptions, originalOptions?: CreateLocalTracksOptions ) => Promise<Array<JitsiLocalTrack> | JitsiConferenceErrors>; // TODO:
118 118
 
119 119
   createTrackVADEmitter: ( localAudioDeviceId: string, sampleRate: 256 | 512 | 1024 | 4096 | 8192 | 16384, vadProcessor: VADProcessor ) => Promise<TrackVADEmitter>;
120 120
 

+ 0
- 1
types/hand-crafted/modules/RTC/RTC.d.ts 查看文件

@@ -42,6 +42,5 @@ export default class RTC extends Listenable {
42 42
   isInForwardedSources: ( sourceName: string ) => boolean;
43 43
   setReceiverVideoConstraints: ( constraints: unknown ) => void; // TODO:
44 44
   setVideoMute: ( value: unknown ) => Promise<unknown>; // TODO:
45
-  arePermissionsGrantedForAvailableDevices: () => boolean;
46 45
   sendEndpointStatsMessage: ( payload: unknown ) => void; // TODO:
47 46
 }

+ 0
- 1
types/hand-crafted/modules/RTC/RTCUtils.d.ts 查看文件

@@ -14,7 +14,6 @@ declare class RTCUtils extends Listenable {
14 14
   getAudioOutputDevice: () => string;
15 15
   getCurrentlyAvailableMediaDevices: () => unknown[]; // TODO:
16 16
   getEventDataForActiveDevice: ( device: MediaDeviceInfo ) => unknown; // TODO:
17
-  arePermissionsGrantedForAvailableDevices: () => boolean;
18 17
   isUserStreamById: ( streamId: string ) => boolean;
19 18
 }
20 19
 

Loading…
取消
儲存