Skip to content

Refactor Google Meet realtime output activity tracking#86665

Merged
steipete merged 1 commit into
mainfrom
refactor/realtime-browser-helper-adapters
May 25, 2026
Merged

Refactor Google Meet realtime output activity tracking#86665
steipete merged 1 commit into
mainfrom
refactor/realtime-browser-helper-adapters

Conversation

@steipete

Copy link
Copy Markdown
Contributor

Summary

  • Add optional lastAudioAt metadata to the shared realtime output activity tracker snapshot without adding a required SDK method.
  • Reuse the shared tracker in Google Meet Chrome command-pair and paired-node realtime output paths for output byte/active health and recent-output local barge-in gating.
  • Keep transport, Chrome/node process lifecycle, audio conversion, echo suppression, and Google Meet config ownership local.

Audit notes

  • Gateway Talk already consumes shared forced-consult coordination and speakable tool-result extraction; it does not own browser playback, so no output tracker migration there.
  • Google Meet is the useful non-Discord adapter proof because it owns local playback/buffer clearing and local human barge-in detection.
  • Duplicate realtime error suppression still appears provider-specific to OpenAI; no second generic consumer found in this pass.
  • Speakable-result extraction is already shared where Gateway Talk and Voice Call need it; Google Meet native consult submission does not need a separate extraction.

Verification

  • pnpm exec oxfmt --check --threads=1 src/talk/output-activity-tracker.ts src/talk/output-activity-tracker.test.ts extensions/google-meet/src/realtime.ts extensions/google-meet/src/realtime-node.ts
  • node scripts/run-vitest.mjs src/talk/output-activity-tracker.test.ts
  • pnpm test extensions/google-meet/index.test.ts -- --reporter=dot -t "uses realtime transcription plus regular TTS in Chrome agent mode|pipes Chrome command-pair audio through the realtime provider|uses a local barge-in input command to clear active Chrome playback|pipes paired-node command-pair audio through the realtime provider"
  • pnpm plugin-sdk:api:check
  • pnpm build
  • env -u OPENCLAW_TESTBOX pnpm check:changed
  • /Users/steipete/Projects/agent-skills/skills/autoreview/scripts/autoreview --mode local

Behavior addressed: Google Meet command and node realtime audio bridges now consume the shared realtime output activity tracker while preserving existing playback ownership and local barge-in timing behavior.
Real environment tested: Local macOS source checkout, Node/pnpm repo toolchain, focused Google Meet realtime adapter tests.
Exact steps or command run after this patch: Tracker unit test, four focused Google Meet realtime adapter tests, SDK API check, full build, changed checks, and two autoreview runs after one accepted SDK-compat finding was fixed.
Evidence after fix: Tracker tests passed, Google Meet adapter tests passed, SDK API baseline check passed, build passed, check:changed passed, final autoreview reported no accepted/actionable findings.
Observed result after fix: Output byte/active health and recent-output barge-in checks are backed by shared tracker state; no live provider behavior change intended.
What was not tested: Live Google Meet, browser voice, or Discord sessions; this is a helper reuse/refactor with unit and adapter proof.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation plugin: google-meet size: S maintainer Maintainer-authored PR labels May 25, 2026
@clawsweeper

clawsweeper Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: Refactor Google Meet realtime output activity tracking This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@steipete steipete merged commit bef0ba8 into main May 25, 2026
127 of 131 checks passed
@steipete steipete deleted the refactor/realtime-browser-helper-adapters branch May 25, 2026 23:19
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 26, 2026
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation maintainer Maintainer-authored PR plugin: google-meet size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant