Skip to content

Commit cbc73ad

Browse files
authored
Keep text / byte stream handlers between room disconnects (#1741)
1 parent 29a3896 commit cbc73ad

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

.changeset/good-rockets-hug.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'livekit-client': patch
3+
---
4+
5+
Keep text / byte stream handlers between room disconnects

src/room/Room.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1550,7 +1550,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
15501550
this.isResuming = false;
15511551
this.bufferedEvents = [];
15521552
this.transcriptionReceivedTimes.clear();
1553-
this.incomingDataStreamManager.clearHandlersAndControllers();
1553+
this.incomingDataStreamManager.clearControllers();
15541554
if (this.state === ConnectionState.Disconnected) {
15551555
return;
15561556
}

src/room/data-stream/incoming/IncomingDataStreamManager.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,9 @@ export default class IncomingDataStreamManager {
5555
this.byteStreamHandlers.delete(topic);
5656
}
5757

58-
clearHandlersAndControllers() {
58+
clearControllers() {
5959
this.byteStreamControllers.clear();
6060
this.textStreamControllers.clear();
61-
this.byteStreamHandlers.clear();
62-
this.textStreamHandlers.clear();
6361
}
6462

6563
validateParticipantHasNoActiveDataStreams(participantIdentity: string) {

src/room/token-source/TokenSource.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
TokenSourceFixed,
1212
type TokenSourceResponseObject,
1313
} from './types';
14-
import { decodeTokenPayload, isResponseTokenValid } from './utils';
14+
import { areTokenSourceFetchOptionsEqual, decodeTokenPayload, isResponseTokenValid } from './utils';
1515

1616
/** A TokenSourceCached is a TokenSource which caches the last {@link TokenSourceResponseObject} value and returns it
1717
* until a) it expires or b) the {@link TokenSourceFetchOptions} provided to .fetch(...) change. */
@@ -250,6 +250,7 @@ export {
250250
type TokenSourceEndpoint,
251251
type TokenSourceSandboxTokenServer,
252252
decodeTokenPayload,
253+
areTokenSourceFetchOptionsEqual,
253254
};
254255

255256
export const TokenSource = {

0 commit comments

Comments
 (0)