Skip to content

Commit 719b73b

Browse files
authored
Fix duplicate ParticipantPermissionsChanged updates for the local participant (#1270)
* Fix duplicate ParticipantPermissionsChanged updates for the local participant also fixed incorrect comments indicating it's only for the local participant * changeset
1 parent df3ea82 commit 719b73b

File tree

4 files changed

+18
-9
lines changed

4 files changed

+18
-9
lines changed

.changeset/three-cheetahs-marry.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'livekit-client': patch
3+
---
4+
5+
Fix duplicate ParticipantPermissionsChanged updates for the local participant

example/sample.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
//@ts-ignore
22
import E2EEWorker from '../src/e2ee/worker/e2ee.worker?worker';
3+
import type {
4+
ChatMessage,
5+
RoomConnectOptions,
6+
RoomOptions,
7+
ScalabilityMode,
8+
SimulationScenario,
9+
VideoCaptureOptions,
10+
VideoCodec,
11+
} from '../src/index';
312
import {
413
ConnectionQuality,
514
ConnectionState,
@@ -15,23 +24,17 @@ import {
1524
RemoteTrackPublication,
1625
RemoteVideoTrack,
1726
Room,
18-
RoomConnectOptions,
1927
RoomEvent,
20-
RoomOptions,
2128
ScreenSharePresets,
2229
Track,
2330
TrackPublication,
24-
VideoCaptureOptions,
25-
VideoCodec,
2631
VideoPresets,
2732
VideoQuality,
2833
createAudioAnalyser,
2934
setLogLevel,
3035
supportsAV1,
3136
supportsVP9,
3237
} from '../src/index';
33-
import { ScalabilityMode } from '../src/room/track/options';
34-
import type { ChatMessage, SimulationScenario } from '../src/room/types';
3538
import { isSVCCodec } from '../src/room/utils';
3639

3740
const $ = <T extends HTMLElement>(id: string) => document.getElementById(id) as T;

src/room/events.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ export enum RoomEvent {
294294
MediaDevicesError = 'mediaDevicesError',
295295

296296
/**
297-
* A participant's permission has changed. Currently only fired on LocalParticipant.
297+
* A participant's permission has changed.
298298
* args: (prevPermissions: [[ParticipantPermission]], participant: [[Participant]])
299299
*/
300300
ParticipantPermissionsChanged = 'participantPermissionsChanged',
@@ -502,7 +502,7 @@ export enum ParticipantEvent {
502502
AudioStreamAcquired = 'audioStreamAcquired',
503503

504504
/**
505-
* A participant's permission has changed. Currently only fired on LocalParticipant.
505+
* A participant's permission has changed.
506506
* args: (prevPermissions: [[ParticipantPermission]])
507507
*/
508508
ParticipantPermissionsChanged = 'participantPermissionsChanged',

src/room/participant/Participant.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ export default class Participant extends (EventEmitter as new () => TypedEmitter
279279
permissions.canPublishSources.length !== this.permissions.canPublishSources.length ||
280280
permissions.canPublishSources.some(
281281
(value, index) => value !== this.permissions?.canPublishSources[index],
282-
);
282+
) ||
283+
permissions.canSubscribeMetrics !== this.permissions?.canSubscribeMetrics;
283284
this.permissions = permissions;
284285

285286
if (changed) {

0 commit comments

Comments
 (0)