Skip to content

Conversation

@sergeichestakov
Copy link
Contributor

Why

  • createWindow doesn't need to be async (we don't need to block on setting the right bg color)
  • We want the deeplink logic to match the behavior we use for grabbing the "last" window in the createWindow function: 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://home link 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

@sergeichestakov sergeichestakov self-assigned this Aug 18, 2023
@sergeichestakov sergeichestakov changed the title Make createWindow synchronous + grab 1st window on deeplink Make createWindow synchronous + grab first window on deeplink Aug 18, 2023
Copy link
Contributor

@szymonkaliski szymonkaliski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@sergeichestakov sergeichestakov merged commit 8719151 into main Aug 21, 2023
@sergeichestakov sergeichestakov deleted the @sergeichestakov/create-window-sync branch August 21, 2023 14:57
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.

3 participants