refactor: OpenNOW Rebuild V1.0.0 - #781
Open
zortos293 wants to merge 21 commits into
Open
Conversation
- Introduce the Qt application and native core runtime - Add multi-platform CI, packaging, signing, and update artifacts
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
- Add desktop-mode shell with home, library, store, friends, settings, sign-in, and stream views - Add desktop localization strings, mode switching, and smoke-test routes - Persist desktop preferences and validate settings round trips
Desktop chrome needs the Paper typefaces and nav glyphs in the Qt resource tree, and Windows TLS has to use Schannel so sign-in can reach NVIDIA.
Fall back to the first saved account when the active user id is missing, and keep a memory session if the first refresh or vault write fails so a rebuild does not dump the user on sign-in.
Wait for the first auth.session.get before showing the sign-in gate, and pass stay-signed-in through device login so the keychain session is actually saved.
Keep page content pinned to the 72px rail so hover or Ctrl+B expands an overlay instead of shoving the library and home grid sideways.
Grow home and store rails from the real catalog, and replace the fake friends list with the honest GeForce NOW unavailable state.
Game details and in-stream chrome now show live last-played and store state, or stay empty, instead of invented friends and RTX 5080 placeholders.
Honor launch-in-console-mode and pad/pointer switches in Main so the console toggle actually leaves desktop instead of flipping a dead flag.
Settings rows and the status-bar hints were reading as captions at 1440p. Bump the shared type scale and drop Quality mode plus fake connection-test chrome.
ItemDelegate chips were collapsing their content height so labels clipped and store dots overlapped. Rebuild them as buttons and use fewer, wider columns.
Home and Library posters now lift to the same 1.025 scale and focus outline the store rails already use, including keyboard focus.
Five-across tiles read as posters the size of the window. Target ~146px cells again, and stop shadowing ItemDelegate.highlighted so the library can load.
Windows Credential Manager rejects the NVIDIA session blob, so stay-signed-in never survived a quit. Store the session on disk and crossfade desktop/console without dumping the user on sign-in.
* fix(qt): finish desktop Paper UI polish * fix(qt): replace desktop glyphs with Lucide icons
The bundled streamer had drifted to an older protocol than opennow-core requires, so every session was killed at the handshake. It could not be rebuilt on Windows because sdl2-sys copies Linux-generated bindings whose X11 layout assertions underflow under LLP64, so Windows now generates its own via use-bindgen against a rust-sdl2 fork carrying the upstream MSVC enum-signedness fix. Building the streamer is enabled again and pinned to the release profile so the bundled binary cannot silently go stale. Rebuilding surfaced a hardware decode regression: NVIDIA and AMD route decode through DXVA2 rather than registering a hardware-flagged MFT, so enumerating hardware MFTs alone found nothing and every such machine fell back to software. Hardware mode keeps the D3D11-aware registered MFTs as a fallback. Also stops the desktop shell dropping to console mode when a stream starts, lays the queue screen out from anchors instead of fixed 1440x900 coordinates, and bounds two failure modes found in the session logs: a held Escape issued one streamer.stop per key repeat, and Discord presence blocked for 30-40s because the Windows named pipe has no read deadline.
- Restore native streamer integration across Qt and Electron - Improve NVST video, audio, input, recovery, and settings paths - Document streamer behavior and protocol comparisons
- Validate video format conversions with SDR fallback - Buffer and persist native streamer stderr logs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the cross-platform Qt OpenNOW client, shared Rust core integration, platform-specific streaming support, automated CI, and signed release workflows for Linux, Windows, and macOS.
Base branch: capy/native-streamer-v2
Head branch: t3code/redesign-open-now-framework
Commits:
86a40e4 feat(qt): add cross-platform client and release pipeline