Skip to content

Commit b5aca8e

Browse files
authored
feat: migration to client-sdk-js v2 (#125)
* feat: migration to client-sdk-js v2 * chore: update livekit-client to 2.0.0
1 parent 6d0082f commit b5aca8e

5 files changed

Lines changed: 28 additions & 22 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"dependencies": {
4545
"array.prototype.at": "^1.1.1",
4646
"fastestsmallesttextencoderdecoder": "^1.0.22",
47-
"livekit-client": "^1.15.0",
47+
"livekit-client": "^2.0.0",
4848
"loglevel": "^1.8.0",
4949
"promise.allsettled": "^1.0.5",
5050
"react-native-url-polyfill": "^1.3.0",

src/audio/AudioManager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,13 @@ function computeAudioTrackState(
116116
}
117117

118118
function getLocalAudioTrackCount(room: Room): number {
119-
return room.localParticipant.audioTracks.size;
119+
return room.localParticipant.audioTrackPublications.size;
120120
}
121121

122122
function getRemoteAudioTrackCount(room: Room): number {
123123
var audioTracks = 0;
124-
room.participants.forEach((participant) => {
125-
audioTracks += participant.audioTracks.size;
124+
room.remoteParticipants.forEach((participant) => {
125+
audioTracks += participant.audioTrackPublications.size;
126126
});
127127

128128
return audioTracks;

src/useParticipant.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,28 @@ export function useParticipant(participant: Participant): ParticipantState {
3434
);
3535

3636
const [cameraPublication, setCameraPublication] = useState(
37-
participant.getTrack(Track.Source.Camera)
37+
participant.getTrackPublication(Track.Source.Camera)
3838
);
3939
const [microphonePublication, setMicrophonePublication] = useState(
40-
participant.getTrack(Track.Source.Microphone)
40+
participant.getTrackPublication(Track.Source.Microphone)
4141
);
4242
const [screenSharePublication, setScreenSharePublication] = useState(
43-
participant.getTrack(Track.Source.ScreenShare)
43+
participant.getTrackPublication(Track.Source.ScreenShare)
4444
);
4545
useEffect(() => {
4646
const onPublicationsChanged = () => {
47-
setPublications(Array.from(participant.tracks.values()));
48-
setCameraPublication(participant.getTrack(Track.Source.Camera));
49-
setMicrophonePublication(participant.getTrack(Track.Source.Microphone));
50-
setScreenSharePublication(participant.getTrack(Track.Source.ScreenShare));
47+
setPublications(Array.from(participant.trackPublications.values()));
48+
setCameraPublication(
49+
participant.getTrackPublication(Track.Source.Camera)
50+
);
51+
setMicrophonePublication(
52+
participant.getTrackPublication(Track.Source.Microphone)
53+
);
54+
setScreenSharePublication(
55+
participant.getTrackPublication(Track.Source.ScreenShare)
56+
);
5157
setSubscribedTracks(
52-
Array.from(participant.tracks.values()).filter((pub) => {
58+
Array.from(participant.trackPublications.values()).filter((pub) => {
5359
return pub.isSubscribed && pub.track !== undefined;
5460
})
5561
);
@@ -120,7 +126,7 @@ export function useParticipant(participant: Participant): ParticipantState {
120126
}, [participant]);
121127

122128
let muted: boolean | undefined;
123-
participant.audioTracks.forEach((pub) => {
129+
participant.audioTrackPublications.forEach((pub) => {
124130
muted = pub.isMuted;
125131
});
126132
if (muted === undefined) {

src/useRoom.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export function useRoom(room: Room, options?: RoomOptions): RoomState {
3232

3333
useEffect(() => {
3434
const onParticipantsChanged = () => {
35-
const remotes = Array.from(room.participants.values());
35+
const remotes = Array.from(room.remoteParticipants.values());
3636
const newParticipants: Participant[] = [room.localParticipant];
3737
newParticipants.push(...remotes);
3838
sortFunc(newParticipants, room.localParticipant);
@@ -45,8 +45,8 @@ export function useRoom(room: Room, options?: RoomOptions): RoomState {
4545
return;
4646
}
4747
const tracks: AudioTrack[] = [];
48-
room.participants.forEach((p) => {
49-
p.audioTracks.forEach((pub) => {
48+
room.remoteParticipants.forEach((p) => {
49+
p.audioTrackPublications.forEach((pub) => {
5050
if (pub.audioTrack) {
5151
tracks.push(pub.audioTrack);
5252
}
@@ -135,8 +135,8 @@ export function sortParticipants(
135135
}
136136

137137
// video on
138-
const aVideo = a.videoTracks.size > 0;
139-
const bVideo = b.videoTracks.size > 0;
138+
const aVideo = a.videoTrackPublications.size > 0;
139+
const bVideo = b.videoTrackPublications.size > 0;
140140
if (aVideo !== bVideo) {
141141
if (aVideo) {
142142
return -1;

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7506,10 +7506,10 @@ lines-and-columns@^1.1.6:
75067506
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
75077507
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
75087508

7509-
livekit-client@^1.15.0:
7510-
version "1.15.10"
7511-
resolved "https://registry.yarnpkg.com/livekit-client/-/livekit-client-1.15.10.tgz#8772927a55ee9ee57616b90d1d8bcbc9152e9ce7"
7512-
integrity sha512-fNiXakeJyoaInt8Yo2i7kzsEG5YtlvqVqgXX1OPv7U7Y6D5TVwJc7dR1sIPpMxsAGMEIwbvsIweRXlObpp2mxA==
7509+
livekit-client@^2.0.0:
7510+
version "2.0.0"
7511+
resolved "https://registry.yarnpkg.com/livekit-client/-/livekit-client-2.0.0.tgz#60c48904a2d451a14a5f8f213cae97257ac8c4f3"
7512+
integrity sha512-pMv8AFiF+4xOh77Xo/MfoDlwttPrnVVUjMPFdk30kH3cBZ7KTWUGuO6sood9edmnIc0U4cvz2wh16Di+WFUojg==
75137513
dependencies:
75147514
"@bufbuild/protobuf" "^1.3.0"
75157515
events "^3.3.0"

0 commit comments

Comments
 (0)