Fixed issues with loading the app from cold when deep linking (#3201)

* Fixed issues with loading the app from cold when deep linking

* Don't call show() before the window is created on Windows
This commit is contained in:
Devin Binnie
2024-11-13 10:46:32 -05:00
committed by GitHub
parent cd2d5e817f
commit 1fe94eb167
3 changed files with 12 additions and 7 deletions

View File

@@ -29,7 +29,6 @@ export function handleAppSecondInstance(event: Event, argv: string[]) {
// Protocol handler for win32
// argv: An array of the second instances (command line / deep linked) arguments
MainWindow.show();
const deeplinkingURL = getDeeplinkingURL(argv);
if (deeplinkingURL) {
openDeepLink(deeplinkingURL);

View File

@@ -8,7 +8,7 @@ import type {BrowserWindow, Rectangle} from 'electron';
import {app, Menu, session, dialog, nativeImage, screen} from 'electron';
import isDev from 'electron-is-dev';
import {APP_MENU_WILL_CLOSE} from 'common/communication';
import {APP_MENU_WILL_CLOSE, MAIN_WINDOW_CREATED} from 'common/communication';
import Config from 'common/config';
import JsonFileManager from 'common/JsonFileManager';
import {Logger} from 'common/log';
@@ -38,8 +38,12 @@ const log = new Logger('App.Utils');
export function openDeepLink(deeplinkingUrl: string) {
try {
MainWindow.show();
ViewManager.handleDeepLink(deeplinkingUrl);
if (MainWindow.get()) {
MainWindow.show();
ViewManager.handleDeepLink(deeplinkingUrl);
} else {
MainWindow.on(MAIN_WINDOW_CREATED, () => ViewManager.handleDeepLink(deeplinkingUrl));
}
} catch (err) {
log.error(`There was an error opening the deeplinking url: ${err}`);
}

View File

@@ -92,9 +92,11 @@ export class ViewManager {
}
private init = () => {
LoadingScreen.show();
ServerManager.getAllServers().forEach((server) => this.loadServer(server));
this.showInitial();
if (ServerManager.hasServers()) {
LoadingScreen.show();
ServerManager.getAllServers().forEach((server) => this.loadServer(server));
this.showInitial();
}
};
private handleDeveloperModeUpdated = (json: DeveloperSettings) => {