(realtime capabilities): add support for native transcript synchronization#1329
(realtime capabilities): add support for native transcript synchronization#1329tinalenguyen wants to merge 12 commits intomainfrom
Conversation
🦋 Changeset detectedLatest commit: 985a136 The changes in this PR will be included in the next version bump. This PR includes changesets to release 28 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
…tionItemAdded for agent handoffs
4168cea to
7eae6c7
Compare
| if (this.options.enabled === value) { | ||
| return; |
There was a problem hiding this comment.
🟡 TranscriptionSynchronizer.enabled setter treats undefined and false as different, causing unnecessary segment rotation
When the TranscriptionSynchronizer is constructed without native sync (the default), this.options.enabled is undefined. When onConversationItemAdded fires for an agent handoff to another non-native-sync model, this.transcriptionSynchronizer.enabled = false is called (room_io/room_io.ts:286). The setter at line 547 compares this.options.enabled === value → undefined === false → false, so it falls through and triggers a rotateSegment(). This rotation closes the current SegmentSynchronizerImpl (which force-closes the word stream at synchronizer.ts:476) and creates a new one with identical sync behavior (!false = true is functionally equivalent to !undefined = true). If the rotation interrupts an active synchronization segment (text buffered in the word stream but not yet forwarded), words can be silently dropped.
| if (this.options.enabled === value) { | |
| return; | |
| if (!!this.options.enabled === value) { | |
Was this helpful? React with 👍 or 👎 to provide feedback.
…om/livekit/agents-js into tina/rt-sync-transcript-capability
No description provided.