refactor(renderer): extract App stream runtime orchestration - #690
Merged
Conversation
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
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:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
zortos293
added a commit
that referenced
this pull request
Jul 29, 2026
* feat(stream): redesign Ctrl+G overlay with tabs and controller support (#622) * refactor: split oversized modules into focused files (#626) Co-authored-by: Zortos <zortosdev@proton.me> * feat(renderer): polish queue shaders and Motion animations (#628) * feat(native): internal one-window renderer with external fallback (#619) * Stabilize WebRTC streaming and native window behavior (#635) * fix(native): honor Windows DPI scaling (#637) * feat: add nightly builds and opt-in update channel (#638) * fix(updater): Preserve nested macOS signatures (#631) * fix(build): configure relocated GStreamer plugins * fix(ci): use supported macOS runner size * fix(native): mark Objective-C selectors thread-safe * fix(build): sign unsigned nested macOS bundles * fix(build): sign nested macOS Mach-O code * fix(build): enforce nested macOS signing order * fix(release): upload assets before publishing * fix(release): target repository when publishing * fix(native): stabilize high-FPS Vulkan streaming and input (#639) * fix(native): enable DX11 tearing and VRR presentation (#640) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: align settings/library UI and preserve GFN auth/library ownership (#644) * fix(ui): repair settings interactions and accessibility (#649) * fix(ui): smooth animation lifecycles (#651) * feat(streaming): add 90 FPS mode (#652) * fix(ci): preserve LF endings for patch files (#653) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(ci): build only patched D3D11 target (#654) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(ci): align Windows GStreamer Vulkan runtime (#655) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(ci): bundle and verify Vulkan loader (#656) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(input): Scandinavian keyboard layouts (#624) (#660) * fix(controller): make bottom hint overlay clickable with mouse (#620) (#661) fixes #620 * fix(streaming): stop synthesizing 90 FPS from entitlements (#662) * feat(gfn): add Identify as Steam Deck option for Deck modes and 90 FPS (#663) Spoof official Steam Deck device headers on MES/CloudMatch so entitlements return Deck resolutions and 90 FPS, and refresh video options when toggled. * fix: Mac missing fullscreen (#642) * fix(deps): update dependencies and clear npm audit vulnerabilities (#664) * feat: PostHog telemetry, consent, and in-app feedback (#668) * fix(build): restore macOS plist packaging compatibility Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(native): bundle Windows DLL dependency closure (#676) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(native): add Linux and Raspberry Pi codec support (#679) * feat(native): add Linux hardware codec support Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * ci(native): verify Linux release builds Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(settings): centralize platform defaults (#683) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(settings): split stream settings modules (#685) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(stream): decompose StreamView runtime (#686) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(gfn): modularize NVST RTSP probe (#682) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(native): extract streamer runtime helpers (#684) * refactor(native): extract streamer runtime helpers Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(native): make path fixtures portable Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(native): normalize Windows path assertions Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(renderer): extract App stream runtime orchestration (#690) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(gfn): decompose auth service (#689) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(gfn): split input protocol modules (#688) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(gfn): modularize SDP transformations (#687) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(gfn): compose WebRTC client from focused controllers (#691) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(discord): show game artwork in rich presence (#681) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(security): verify signaling TLS certificates Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: Luiz Eduardo Kowalski <luizeduardokowalski@gmail.com> Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> Co-authored-by: Anderson Shindy Oki <anderson.vs.oki@gmail.com>
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.
App.tsxowned stream launch, signaling, active-session actions, recovery state, and runtime persistence in one component. This refactor moves those responsibilities into focused hooks and pure decision modules while preserving the existing renderer contracts and stream behavior.useStreamSession, with dedicated launch/queue, signaling, and active-session action hooks.App.tsxby more than 1,100 lines so the app shell is responsible for composition rather than protocol orchestration.