You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Align End Call with LexVoice's supported split Edge Media and Video Processor topology so Xunfei sessions release their input resources completely and the next Start Call waits for the local Agent worker to become available.
Design
Use the single supported server-input topology: stop Video Processor first, then Edge Media, matching the reverse dependency order.
Remove the obsolete combined/legacy room-input URL fallback instead of maintaining two cleanup contracts; Browser sessions keep their browser-owned cleanup path.
Delete the LiveKit room only after server-input shutdown, then observe worker capacity transitions from the current Agent live.log.
Cover the actual sequential executor behavior so Edge stop cannot start before Processor stop has settled.
Validation
pnpm test
✅ passed: 241 tests
Static and formatting checks
✅ passed: ESLint, Prettier, and tsc --noEmit --incremental false
Production build
✅ passed: Next.js build generated all seven routes
Deployed Xunfei lifecycle
✅ passed: repeated Start/End cycles stopped Processor then Edge, deleted the room, and returned the Agent worker to available
Risk
This frontend now requires the backend split-media contract (VIDEO_PROCESSOR_URL and EDGE_MEDIA_URL); unsupported legacy combined room-input deployments are intentionally rejected rather than silently partially cleaned.
Local readiness parsing follows the current one-worker-per-run Agent log contract.
残余风险:room_input_configuration 失败时(P0 级输入未能显式停止),deleteLiveKitRoom 仍会尝试强制删除房间以断开参与者连接,这在语义上是可接受的兜底,但后端 Video Processor/Edge Media 进程是否会在连接断开后自行退出取决于后端实现,不在本 PR 可控范围内。
残余风险:room_input_configuration 校验失败(P0 输入未显式停止)时,deleteLiveKitRoom 仍会尝试强制删除房间断开参与者连接,这是可接受的兜底;但后端 Video Processor/Edge Media 进程是否会随连接断开自行退出取决于后端实现,不在本 PR 可控范围内。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Align End Call with LexVoice's supported split Edge Media and Video Processor topology so Xunfei sessions release their input resources completely and the next Start Call waits for the local Agent worker to become available.
Design
live.log.Validation
pnpm test✅ passed: 241 tests
Static and formatting checks
✅ passed: ESLint, Prettier, and
tsc --noEmit --incremental falseProduction build
✅ passed: Next.js build generated all seven routes
Deployed Xunfei lifecycle
✅ passed: repeated Start/End cycles stopped Processor then Edge, deleted the room, and returned the Agent worker to available
Risk
VIDEO_PROCESSOR_URLandEDGE_MEDIA_URL); unsupported legacy combined room-input deployments are intentionally rejected rather than silently partially cleaned.