Skip to content

fix(streaming): complete WebRTC startup and default alliance accounts to compatibility mode - #1098

Merged
capy-ai[bot] merged 6 commits into
devfrom
capy/webrtc-connection-trace
Oct 4, 2026
Merged

capy-ai[bot] merged 6 commits into
devfrom
capy/webrtc-connection-trace

Conversation

@zortos293

@zortos293 zortos293 commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Complete native WebRTC startup

Initiate DTLS for actpass offers while preserving the correct ICE role against ICE-lite servers. Explicit active/passive offers retain complementary roles. Add bounded connection diagnostics that report candidate classes, ports, handshake state, and packet counts without addresses, credentials, SDP, or payloads.

Keep the desktop and console video items visible during connection and reconnection so the GPU context can initialize before the first frame. Gameplay focus and input still wait for streaming, and local overlays retain their input guards. This removes the circular wait between hidden video presentation and the first-frame status.

Choose transport by provider, with manual overrides

The new default Automatic mode chooses WebRTC for authenticated alliance providers and NVST for NVIDIA. Users can explicitly select WebRTC or NVST for either account type. The core resolves the provider before codec validation and allocation; existing seats retain their original transport.

Persist the choice as webrtcCompatibilityMode with auto, on, and off values. Migrate an older explicit WebRTC opt-in to on, and the old default-off value to auto. Keep the historical boolean as a compatibility alias, with synchronized settings events. The UI retains the lower-performance warning and the 1080p60 H.264 SDR/stereo, no-microphone, no-clipboard, direct-UDP limitations.

Verification

  • The real Windows run reached DTLS in 499 ms, reported input-ready protocol v3, and presented its first frame. The D3D11 decoder produced 3,937 frames; audio ingress continued through the 73-second run. The client ended through the normal quit command, not a crash. This live run validated the startup fix before the later settings-only automatic-policy addition.
  • Real-peer regressions cover ICE-lite actpass negotiation and explicit DTLS roles. The native streamer workspace tests, strict clippy, and formatting pass.
  • Automatic alliance allocation failed before the change and passes afterward. Core tests cover provider selection, forced overrides, preference migration, settings-event ordering, WebRTC claims, and preservation of existing transport. Full core tests, strict clippy, and formatting pass.
  • 39 focused Qt checks pass, including chooser interaction, pending-write and allocated-seat guards, desktop/compact/scaled layout, connection/reconnection presentation, and fullscreen shortcuts. Localization validation passes.
  • Windows physical-backend windowed/fullscreen startup regressions and packaging passed for the startup fix. A separate alliance-account live session and long-duration gameplay soak have not been verified.

Account-free Qt settings preview:

Automatic WebRTC compatibility mode in Network settings

Follow-up to the already-merged #1089.

@coderabbitai

coderabbitai Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cdde1b96-052f-4718-8dc0-ec611fa18ccb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@capy-ai capy-ai Bot changed the title fix(streaming): initiate DTLS for WebRTC actpass offers fix(streaming): complete WebRTC startup and default alliance accounts to compatibility mode Oct 4, 2026
@capy-ai
capy-ai Bot merged commit 1f29d91 into dev Oct 4, 2026
14 checks passed
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