diff --git a/.changeset/spotty-tigers-sort.md b/.changeset/spotty-tigers-sort.md new file mode 100644 index 0000000000..1efe600819 --- /dev/null +++ b/.changeset/spotty-tigers-sort.md @@ -0,0 +1,5 @@ +--- +'livekit-client': patch +--- + +Add attachedStreamIds as text stream metadata diff --git a/src/room/data-stream/incoming/IncomingDataStreamManager.ts b/src/room/data-stream/incoming/IncomingDataStreamManager.ts index 4cf7f34202..e739844e7b 100644 --- a/src/room/data-stream/incoming/IncomingDataStreamManager.ts +++ b/src/room/data-stream/incoming/IncomingDataStreamManager.ts @@ -191,6 +191,7 @@ export default class IncomingDataStreamManager { timestamp: Number(streamHeader.timestamp), attributes: streamHeader.attributes, encryptionType, + attachedStreamIds: streamHeader.contentHeader.value.attachedStreamIds, }; const stream = new ReadableStream({ diff --git a/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts b/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts index 02df785aee..b5eec14e5b 100644 --- a/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +++ b/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts @@ -107,6 +107,7 @@ export default class OutgoingDataStreamManager { encryptionType: this.engine.e2eeManager?.isDataChannelEncryptionEnabled ? Encryption_Type.GCM : Encryption_Type.NONE, + attachedStreamIds: options?.attachedStreamIds, }; const header = new DataStream_Header({ streamId, @@ -119,7 +120,7 @@ export default class OutgoingDataStreamManager { case: 'textHeader', value: new DataStream_TextHeader({ version: options?.version, - attachedStreamIds: options?.attachedStreamIds, + attachedStreamIds: info.attachedStreamIds, replyToStreamId: options?.replyToStreamId, operationType: options?.type === 'update' diff --git a/src/room/types.ts b/src/room/types.ts index 9536eeaeda..fdfb36d4ec 100644 --- a/src/room/types.ts +++ b/src/room/types.ts @@ -142,4 +142,6 @@ export interface ByteStreamInfo extends BaseStreamInfo { name: string; } -export interface TextStreamInfo extends BaseStreamInfo {} +export interface TextStreamInfo extends BaseStreamInfo { + attachedStreamIds?: Array; +}