From 9bbad61fc574dacdae7ec695405e5fa8624288ed Mon Sep 17 00:00:00 2001 From: chyoo Date: Mon, 12 Oct 2026 17:37:19 +0900 Subject: [PATCH] fix(launcher): prevent unnecessary Tailscale resets and improve launch status --- package.json | 2 +- src/renderer/src/assets/main.css | 1 + src/renderer/src/pages/Dashboard.tsx | 16 ++++++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a152335..fb92d07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "autonomy-studio-launcher", - "version": "1.1.3", + "version": "1.1.4", "description": "Autonomy Studio v2 Frontend", "main": "./out/main/index.js", "author": { diff --git a/src/renderer/src/assets/main.css b/src/renderer/src/assets/main.css index 0cfc2ed..91e2193 100644 --- a/src/renderer/src/assets/main.css +++ b/src/renderer/src/assets/main.css @@ -355,6 +355,7 @@ body, display: flex; align-items: center; justify-content: center; + gap: 7px; padding: 7px 16px; min-width: 78px; background: rgba(255, 255, 255, 0.08); diff --git a/src/renderer/src/pages/Dashboard.tsx b/src/renderer/src/pages/Dashboard.tsx index a239182..a8eedd4 100644 --- a/src/renderer/src/pages/Dashboard.tsx +++ b/src/renderer/src/pages/Dashboard.tsx @@ -273,6 +273,9 @@ function Dashboard({ authSession, onSessionUpdate, onLogout, onSessionExpired }: return } + const hasAccountIdentity = Boolean( + status?.loginName?.trim() || status?.userName?.trim(), + ) const isSameAccount = Boolean( status && ( @@ -280,7 +283,7 @@ function Dashboard({ authSession, onSessionUpdate, onLogout, onSessionExpired }: isSameTailscaleAccount(status.userName, userEmail) ), ) - if (status?.connected && isSameAccount) { + if (status?.connected && (!hasAccountIdentity || isSameAccount)) { setTailscaleIssue(null) return } @@ -315,11 +318,17 @@ function Dashboard({ authSession, onSessionUpdate, onLogout, onSessionExpired }: return } + const shouldResetSession = Boolean( + status && + status.backendState !== 'Unavailable' && + hasAccountIdentity && + !isSameAccount, + ) const result = await launcherTailscale.login( provision.tailscaleAuthKey, provision.tailscaleLoginServer ?? '', provision.tailscaleHostname, - Boolean(status && status.backendState !== 'Unavailable' && !isSameAccount), + shouldResetSession, ) if (!result.ok) { setTailscaleIssue({ @@ -996,6 +1005,9 @@ function Dashboard({ authSession, onSessionUpdate, onLogout, onSessionExpired }: ) : canLaunch ? ( activeAppLaunching ? ( ) : (