it0/packages
hailin 5874907300 fix(voice): suppress session terminate during DingTalk OAuth flow
When the voice agent triggers DingTalk OAuth, the user leaves the app
to authorize in DingTalk/browser, causing the LiveKit participant to
disconnect. The voice-agent then calls DELETE /voice to terminate the
session — but the user intends to return after completing OAuth.

Fix: mark the session as "oauth_pending" in VoiceSessionController when
oauth-trigger fires. If terminateVoiceSession is called while the flag
is active (10-min grace), suppress the terminate and return 200 OK so
the voice-agent exits cleanly. The session stays alive; when the user
returns to the voice screen, voice/start + inject auto-resume it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 23:14:53 -07:00
..
gateway feat(dingtalk): OAuth one-tap binding + voice tool + public Kong route 2026-03-08 09:09:00 -07:00
openclaw-bridge feat(dingtalk+bridge): event-based agent reply + greeting on binding 2026-03-08 13:18:52 -07:00
services fix(voice): suppress session terminate during DingTalk OAuth flow 2026-03-08 23:14:53 -07:00
shared feat(dingtalk): unified DingTalk bot router with binding flow 2026-03-08 08:12:27 -07:00