diff --git a/src/main/index.ts b/src/main/index.ts index dbc53b6..e0c8da8 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -760,7 +760,7 @@ function createWindow(): void { ipcMain.on('launch-app', (_, payload: { appName: string - url: string + url?: string width?: number height?: number devAppPath?: string @@ -815,17 +815,18 @@ function createWindow(): void { : resolvedExecPath if (spawnPath) { const useDevLauncher = is.dev && spawnPath === resolvedDevAppPath + const launchUrlArg = url ? [`--url=${encodeURIComponent(url)}`] : [] const args = useDevLauncher ? ['run', 'dev'] - : [`--url=${encodeURIComponent(url)}`, ...authLaunchArgs, ...(authProtocolUrl ? [authProtocolUrl] : [])] + : [...launchUrlArg, ...authLaunchArgs, ...(authProtocolUrl ? [authProtocolUrl] : [])] const execBin = useDevLauncher ? 'npm' : spawnPath const childEnv = { ...process.env } - if (useDevLauncher) { + if (useDevLauncher && url) { childEnv.ATNMY_APP_URL = url } if (useDevLauncher && handoffCode) { - childEnv.ATNMY_HANDOFF_FILE = writeDevHandoffFile(appName, url, handoffCode, audienceApp) + childEnv.ATNMY_HANDOFF_FILE = writeDevHandoffFile(appName, url ?? '', handoffCode, audienceApp) childEnv.ATNMY_HANDOFF_TOKEN = handoffCode childEnv.ATNMY_AUDIENCE_APP = audienceApp } else if (handoffCode) { @@ -885,7 +886,7 @@ function createWindow(): void { additionalArguments: [ '--app-window', `--app-name=${encodeURIComponent(appName)}`, - `--app-url=${encodeURIComponent(url)}` + `--app-url=${encodeURIComponent(url ?? '')}` ] } }) diff --git a/src/renderer/src/pages/Dashboard.tsx b/src/renderer/src/pages/Dashboard.tsx index 2c20719..1f3a856 100644 --- a/src/renderer/src/pages/Dashboard.tsx +++ b/src/renderer/src/pages/Dashboard.tsx @@ -94,7 +94,9 @@ function Dashboard({ authSession, onSessionUpdate, onLogout }: DashboardProps): const activeLocalVersion = localVersions[activeApp] const appAction = appStatus?.action ?? 'UNAVAILABLE' const hasAppPermission = appConfig !== null && appConfig.canLaunch !== false && appStatus?.canLaunch !== false - const canLaunch = hasAppPermission && appAction === 'LAUNCH' && Boolean(appConfig?.launchUrl) + const canLaunch = hasAppPermission + && appAction === 'LAUNCH' + && Boolean(appConfig?.launchUrl || appConfig?.execPath || appStatus?.installed) const hasAnyUpdatingApp = Object.values(updatingApps).some(Boolean) const activeAppUpdating = Boolean(updatingApps[activeApp]) const activeAppLaunching = launchingApp === activeApp