Skip to content

google-meet realtime sessions don't survive CLI command exit despite #72441 fix #76344

Description

@coltonharris-wq

Summary

google-meet realtime sessions do not reliably survive after the CLI command that starts/joins the Meet exits, even though the changelog for #72441 says sessions are gateway-owned. The browser/Meet side can remain alive, but the OpenClaw realtime session registry is empty, so follow-up commands cannot address the session.

Environment

  • macOS ARM local gateway
  • OpenClaw gateway launched as LaunchAgent
  • Gateway command: /Users/coltonharris/.local/bin/node /Users/coltonharris/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789
  • google-meet extension enabled
  • Gateway status after restart: RPC ok: true, runtime running

Reproduction shape

  1. Start/restart the gateway.
  2. Use the google-meet CLI/plugin path to join or test speech against a Meet URL, for example:
openclaw gateway restart --json
openclaw googlemeet test-speech https://meet.new
  1. After the join/test command exits, ask OpenClaw for active Meet sessions:
openclaw googlemeet status
  1. Try to speak to the prior realtime session id:
openclaw googlemeet speak <session-id> "hello"

Expected

The gateway should retain the realtime session after the CLI command exits. openclaw googlemeet status should list the active session, and openclaw googlemeet speak <session-id> should be able to route audio/text to that session until it is explicitly ended or the Meet tab leaves.

Actual

openclaw googlemeet status returns an empty session registry:

{
  "found": true,
  "sessions": []
}

In the original same-machine failure state, the Meet tab was still in-call and recover-tab could find it, but googlemeet status was empty and googlemeet speak <session-id> returned a session-not-found style failure. That means the browser/meeting state and OpenClaw realtime session registry diverged.

A fresh post-restart check after cleanup shows no recoverable tab, but still demonstrates the session registry state after dispatch/test attempts:

openclaw googlemeet status
# { "found": true, "sessions": [] }

openclaw googlemeet recover-tab
# Google Meet current tab: not found
# transport: chrome
# node: local/none
# message: No existing Meet tab found in local Chrome.

Impact

This breaks agent-mediated Google Meet workflows. A coordinator agent can dispatch a notetaker/realtime owner, but once the CLI command exits, follow-up actions cannot target the session. The result is that a meeting can appear joined/alive at the browser layer while OpenClaw cannot list or speak to it.

Notes

This was found while wiring a dedicated meet-notetaker agent as the plugins.google-meet.config.realtime.agentId. The agent routing itself works, but the realtime session lifecycle appears to be the failing boundary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions