diff --git a/package-lock.json b/package-lock.json index 1f18545..0aa1306 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "autonomy-studio-launcher", - "version": "1.0.13", + "version": "1.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "autonomy-studio-launcher", - "version": "1.0.13", + "version": "1.0.14", "hasInstallScript": true, "dependencies": { "@electron-toolkit/preload": "^3.0.1", diff --git a/package.json b/package.json index e0697a8..f286cc2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "autonomy-studio-launcher", - "version": "1.0.13", + "version": "1.0.14", "description": "Autonomy Studio v2 Frontend", "main": "./out/main/index.js", "author": { diff --git a/src/main/index.ts b/src/main/index.ts index 9f87050..24d6024 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -297,12 +297,30 @@ function installDebPackage(debPath: string): Promise { function createCleanChildEnv(extraEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv { const env = { ...process.env, ...extraEnv } - delete env.APPIMAGE - delete env.APPDIR - delete env.OWD - delete env.ARGV0 - delete env.ELECTRON_RENDERER_URL - delete env.VITE_DEV_SERVER_URL + const blockedKeys = [ + 'APPIMAGE', + 'APPDIR', + 'OWD', + 'ARGV0', + 'ELECTRON_RUN_AS_NODE', + 'ELECTRON_NO_ATTACH_CONSOLE', + 'ELECTRON_ENABLE_LOGGING', + 'ELECTRON_ENABLE_STACK_DUMPING', + 'ELECTRON_OVERRIDE_DIST_PATH', + 'ELECTRON_RENDERER_URL', + 'NODE_OPTIONS', + 'VITE_DEV_SERVER_URL', + ] + + for (const key of blockedKeys) { + delete env[key] + } + + for (const key of Object.keys(env)) { + if (key.startsWith('npm_') || key.startsWith('npm_config_') || key.startsWith('npm_package_')) { + delete env[key] + } + } return env } @@ -928,6 +946,14 @@ function createWindow(): void { childEnv.ATNMY_AUDIENCE_APP = audienceApp } + if (!useDevLauncher) { + try { + chmodSync(spawnPath, 0o755) + } catch { + // Launch will surface the actual executable error if chmod is not allowed. + } + } + const logPath = useDevLauncher ? join(app.getPath('temp'), `autonomy-studio-${appName.replace(/[^a-z0-9_-]+/gi, '-').toLowerCase()}.dev.log`) : undefined const logFd = logPath ? openSync(logPath, 'a') : undefined if (logPath) { diff --git a/src/renderer/src/pages/Login.tsx b/src/renderer/src/pages/Login.tsx index 3326c14..35eb7ac 100644 --- a/src/renderer/src/pages/Login.tsx +++ b/src/renderer/src/pages/Login.tsx @@ -160,7 +160,7 @@ function Login({ onLogin }: LoginProps): React.JSX.Element { {/* 플랫폼 공지 배너 — absolute로 레이아웃 영향 없음 */} {notice && !noticeDismissed && (
- +

@@ -197,6 +197,7 @@ function Login({ onLogin }: LoginProps): React.JSX.Element {

)}
+
v{version}
{launcherStatus?.action === 'UPDATE' && (
{/* Left — 브랜딩 + 동영상 */}