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:
@@ -29,7 +29,6 @@ export function handleAppSecondInstance(event: Event, argv: string[]) {
|
||||
|
||||
// Protocol handler for win32
|
||||
// argv: An array of the second instance’s (command line / deep linked) arguments
|
||||
MainWindow.show();
|
||||
const deeplinkingURL = getDeeplinkingURL(argv);
|
||||
if (deeplinkingURL) {
|
||||
openDeepLink(deeplinkingURL);
|
||||
|
@@ -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}`);
|
||||
}
|
||||
|
@@ -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) => {
|
||||
|
Reference in New Issue
Block a user