Skip to content

Make WebRTC serving reusable across demos#394

Merged
gtong-nv merged 3 commits into
mainfrom
dev/jarcher/webrtc-refactor
Jul 21, 2026
Merged

Make WebRTC serving reusable across demos#394
gtong-nv merged 3 commits into
mainfrom
dev/jarcher/webrtc-refactor

Conversation

@jarcherNV

Copy link
Copy Markdown
Collaborator

Add shared WebRTC runtime and data-channel message contracts, plus common packaged-app and CUDA/distributed bootstrap helpers. Migrate the LingBot and OmniDreams WebRTC servers onto the shared helpers while keeping their model-specific routes, runtime config, and preflight logic local.

Add shared WebRTC runtime and data-channel message contracts, plus common
packaged-app and CUDA/distributed bootstrap helpers. Migrate the LingBot and
OmniDreams WebRTC servers onto the shared helpers while keeping their
model-specific routes, runtime config, and preflight logic local.
@greptile-apps

greptile-apps Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR moves reusable WebRTC serving behavior into the shared FlashDreams package. The main changes are:

  • Shared runtime, lifecycle, and data-channel message contracts.
  • Common CUDA, distributed bootstrap, and packaged-app helpers.
  • LingBot and OmniDreams migrations to the shared serving layer.
  • Updated serving documentation and tests.

Confidence Score: 5/5

This looks safe to merge.

  • The shared session runtime now includes the lifecycle methods used by the manager.
  • Both migrated runtimes provide the required shutdown coordination.
  • No blocking issue remains in the reviewed changes.

Important Files Changed

Filename Overview
flashdreams/flashdreams/serving/webrtc/runtime.py Defines shared generation, configuration, event, and distributed lifecycle contracts.
flashdreams/flashdreams/serving/webrtc/manager.py Makes the shared session manager generic over the complete runtime and configuration contracts.
flashdreams/flashdreams/serving/webrtc/bootstrap.py Centralizes CUDA initialization, distributed setup, logging, and server lifecycle coordination.
flashdreams/flashdreams/serving/webrtc/server.py Adds a reusable app factory that keeps packaged browser resources alive through cleanup.
integrations/lingbot/lingbot/webrtc/server.py Migrates LingBot app creation and distributed initialization to the shared helpers.
integrations/omnidreams/omnidreams/webrtc/server.py Migrates OmniDreams app creation and distributed initialization to the shared helpers.

Reviews (3): Last reviewed commit: "Normalize WebRTC import ordering" | Re-trigger Greptile

Comment thread flashdreams/flashdreams/serving/webrtc/manager.py Outdated

@gtong-nv gtong-nv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gtong-nv
gtong-nv added this pull request to the merge queue Jul 21, 2026
Merged via the queue into main with commit eadf259 Jul 21, 2026
8 checks passed
@gtong-nv
gtong-nv deleted the dev/jarcher/webrtc-refactor branch July 21, 2026 22:13
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.

2 participants