Make createWindow synchronous + grab first window on deeplink #111
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.
Why
createWindowdoesn't need to be async (we don't need to block on setting the right bg color)createWindowfunction: either the focused window, if one exists, or the first window we find if there are any open.Main motivation is to prevent a redundant window from opening up when the app is opened via Deeplink (see Linear). e.g. if you open a
replit://homelink which launches the app you should see only one window with the home screen pop up not a home screen window and another window with your last Repl. Not sure if this fixes it but it's a good start to avoid race conditions between the onReady logic in main.ts and handling the first deeplink.What changed
Make createWindow synchronous + grab 1st window on deeplink like we do when creating window.
Test plan
Deeplinks / creating windows should work as expected. The problem designed above is potentially fixed once packaged/released