diff --git a/src/main/index.ts b/src/main/index.ts index e0f969d..a87235b 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -775,8 +775,21 @@ function createWindow(): void { await installDebPackage(debPath) if (!is.dev) { - app.relaunch() - app.quit() + for (const child of appProcesses.values()) { + child.kill() + } + appProcesses.clear() + + for (const win of appWindows.values()) { + if (!win.isDestroyed()) win.close() + } + appWindows.clear() + + setImmediate(() => { + app.relaunch() + app.quit() + setTimeout(() => app.exit(0), 1000) + }) } return { diff --git a/src/renderer/src/assets/main.css b/src/renderer/src/assets/main.css index 8726449..daf6a4e 100644 --- a/src/renderer/src/assets/main.css +++ b/src/renderer/src/assets/main.css @@ -630,7 +630,7 @@ body, .launcher-version-wrap { position: absolute; - right: 24px; + left: 24px; bottom: 16px; z-index: 5; display: flex; @@ -638,6 +638,22 @@ body, gap: 10px; } +.app-version-wrap { + position: absolute; + right: 24px; + bottom: 16px; + z-index: 5; + display: flex; + align-items: center; + max-width: min(360px, 42vw); +} + +.app-version-wrap .version-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + .launcher-update-text { display: inline-flex; align-items: center; diff --git a/src/renderer/src/pages/Dashboard.tsx b/src/renderer/src/pages/Dashboard.tsx index 1f3a856..71ce0db 100644 --- a/src/renderer/src/pages/Dashboard.tsx +++ b/src/renderer/src/pages/Dashboard.tsx @@ -107,6 +107,9 @@ function Dashboard({ authSession, onSessionUpdate, onLogout }: DashboardProps): : launcherStatus ? '최신버전' : '업데이트 상태 확인중' + const activeAppVersion = activeApp + ? activeLocalVersion ?? appStatus?.localVersion ?? appStatus?.latestVersion ?? null + : null const refreshSession = useCallback(async (): Promise => { const response = await fetch(`${LAUNCHER_API_BASE_URL}/api/auth/refresh`, { @@ -737,19 +740,26 @@ function Dashboard({ authSession, onSessionUpdate, onLogout }: DashboardProps): )} {!showManual && ( -
- {launcherUpdateAvailable && ( - + <> +
+ {launcherUpdateAvailable && ( + + )} +
Launcher v{localVersions.launcher ?? version}
+
+ {activeAppVersion && ( +
+
{appConfig?.displayName ?? activeApp} v{activeAppVersion}
+
)} -
v{localVersions.launcher ?? version}
-
+ )}