Skip to content

fix(talk): pass transport=gateway-relay to realtimeTalkSession#613

Merged
rogerchappel merged 1 commit into
mainfrom
fix/realtime-session-transport
Jun 3, 2026
Merged

fix(talk): pass transport=gateway-relay to realtimeTalkSession#613
rogerchappel merged 1 commit into
mainfrom
fix/realtime-session-transport

Conversation

@rogerchappel
Copy link
Copy Markdown
Owner

Problem

The realtime session route calls client.realtimeTalkSession() without specifying a transport. Without transport, the gateway-client falls back to talk.client.create, which returns a client-owned session (Webrtc SDP offer) with no relaySessionId. This breaks the realtime relay route with 502 errors.

This is a downstream effect of the May 28 OpenClaw rewrite (commit f6e51ff) that removed talk.realtime.relay* RPC methods in favor of talk.session.* session-scoped transport.

Fix

Pass transport: "gateway-relay" to realtimeTalkSession() in the session route. This correctly routes to talk.session.create with the right transport, which returns a relaySessionId the relay route can use.

Changed

  • src/app/api/runtimes/[id]/talk/realtime/session/route.ts — added transport: "gateway-relay" to realtime session creation

The session route was calling realtimeTalkSession() without specifying
transport, causing talk.client.create to return a Webrtc session (no
relaySessionId) instead of a gateway-relay session. This broke the
realtime relay route with 502 errors.

Fixes protocol mismatch from openclaw May 28 rewrite that removed
talk.realtime.relay* RPC methods in favor of talk.session.* session-
scoped transport model.
@rogerchappel rogerchappel merged commit 56bdeda into main Jun 3, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant