feat: support an isolated secondary app instance - #736
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
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 |
Description
Requested by Discord user <@506877681321902090> (Dekel).
OpenNOW still behaves as a single-instance app by default. Launching
OpenNOW.exe --secondarynow starts one additional, independently locked profile with its own authentication state, settings, Chromium session data, cache, stable GFN device ID, and native-streamer runtime state. Repeating either the normal launch or the secondary launch focuses that profile's existing window instead of opening another copy.The secondary profile is configured before Electron acquires its profile-scoped singleton lock. It scans OAuth callback ports from the opposite end of the existing pool, uses port 9223 for opt-in development remote debugging, and disables app updates so two processes cannot compete over the installed application. Its window title is
OpenNOW — Secondaryso the two profiles remain easy to distinguish. Shared screenshots and recordings retain their collision-resistant names underPictures\OpenNOW.The Windows launch command, profile behavior, and GeForce NOW/account limitations are documented in the README.
Visual proof
The available desktop runner is Linux, so this screenshot exercises the same Electron profile-lock and startup path in the built app rather than a packaged Windows executable. It shows the primary profile on the left and the separately titled secondary profile on the right. Process inspection also confirmed distinct
--user-data-dirvalues, and relaunching each profile left the window count at two.Verification
npm --prefix opennow-stable test— 463 passednpm --prefix opennow-stable run typechecknpm --prefix opennow-stable run lint— 0 warnings/errorsnpm --prefix opennow-stable run build--secondaryrendered concurrently with separate profile directories