Skip to content

refactor(qt): make NVST presentation shell-owned - #785

Merged
zortos293 merged 1 commit into
t3code/redesign-open-now-frameworkfrom
capy/qt-nvst-single-surface
Aug 30, 2026
Merged

refactor(qt): make NVST presentation shell-owned#785
zortos293 merged 1 commit into
t3code/redesign-open-now-frameworkfrom
capy/qt-nvst-single-surface

Conversation

@zortos293

Copy link
Copy Markdown
Collaborator

Summary

  • adds a typed Qt StreamSurfaceController that owns stream-host discovery, stable handle/geometry updates, DPR-aware physical presentation bounds, logical capture bounds, deduplication, reconnect replay, overlay visibility, and stale-handle-free teardown
  • makes Qt/QML own fullscreen, stream menus, suspended-video stats, input handoff, recovery, and errors while keeping the out-of-process NVST presenter responsible only for video, audio, native input, cursor, and pointer lock
  • normalizes every legacy transport setting to explicit NVST, removes the obsolete core browser-signaling path, fails microphone upstream closed, and retains NVIDIA-required ICE/DTLS/SCTP control behavior
  • removes native stats/debug/chrome rendering and its font dependency, forwards legacy fullscreen/stats shortcuts to Qt exactly once, and publishes bounded live FPS/bitrate telemetry for the QML stats surface
  • documents the current paired auxiliary-window limitation honestly on Windows, X11, Wayland, and macOS; ordinary QML never claims to composite over live native video, and real cross-platform hardware acceptance remains required

This is stacked on #781 because it is a focused follow-up to the Qt rebuild branch.

Validation

  • cmake --build /home/user/.capy/work/opennow-qt-build -j2
  • ctest --test-dir /home/user/.capy/work/opennow-qt-build --output-on-failure — 60/60 passed
  • cargo fmt --all -- --check, cargo clippy --locked --all-targets -- -D warnings, and cargo test --locked --all-targets in native/opennow-core
  • cargo fmt --all -- --check, cargo clippy --workspace --all-targets -- -D warnings, cargo check --workspace, and cargo test --workspace in native/opennow-streamer
  • npm --prefix opennow-stable run locales:check — 891 used keys checked
  • git diff --check

A Linux-hosted macOS cross-check was blocked before project compilation because the environment has no Apple C toolchain/SDK (cc rejected -arch and -mmacosx-version-min). The macOS CI runners and required real-device acceptance remain the authoritative checks for that path.

@coderabbitai

coderabbitai Bot commented Aug 30, 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: Pro Plus

Run ID: dc28bfc2-9e5f-4e29-8d92-46f82c26b3c1

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

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.

@zortos293
zortos293 merged commit fd26559 into t3code/redesign-open-now-framework Aug 30, 2026
5 of 17 checks passed
@zortos293
zortos293 deleted the capy/qt-nvst-single-surface branch August 30, 2026 19:20
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