From b2ea0f3810ba568d420cc4004ccb63bbc4ebda54 Mon Sep 17 00:00:00 2001
From: Teknium <127238744+teknium1@users.noreply.github.com>
Date: Wed, 19 Aug 2026 16:17:57 -0700
Subject: [PATCH] fix(desktop): gateway restart no longer clickable-by-mistake
next to reconnect
Community report (X @Cobalt_Peak): Reconnect and Restart gateway in the
statusbar gateway popover rendered the same RefreshCw icon side by side,
so users triggered full gateway restarts when they meant to reconnect.
- Restart now uses a Power icon with a destructive hover tint
- Moved restart to the end of the row, after the system-panel button,
behind a visual divider separating it from the benign actions
---
.../src/app/shell/gateway-menu-panel.tsx | 28 +++++++++++--------
apps/desktop/src/lib/icons.ts | 2 ++
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/apps/desktop/src/app/shell/gateway-menu-panel.tsx b/apps/desktop/src/app/shell/gateway-menu-panel.tsx
index 8e1516b7bd..ff61fe6c26 100644
--- a/apps/desktop/src/app/shell/gateway-menu-panel.tsx
+++ b/apps/desktop/src/app/shell/gateway-menu-panel.tsx
@@ -6,7 +6,7 @@ import { LogView } from '@/components/ui/log-view'
import { Tip } from '@/components/ui/tooltip'
import { getLogs } from '@/hermes'
import { useI18n } from '@/i18n'
-import { LayoutDashboard, RefreshCw } from '@/lib/icons'
+import { LayoutDashboard, Power, RefreshCw } from '@/lib/icons'
import type { RuntimeReadinessResult } from '@/lib/runtime-readiness'
import { cn } from '@/lib/utils'
import { reconnectGateway } from '@/store/gateway-reconnect'
@@ -185,17 +185,6 @@ export function GatewayMenuPanel({
)}
-
-
-
+ {/* Restart is the heavy, disruptive action: keep it visually distinct
+ (power icon, destructive hover) and separated from the benign
+ reconnect/system buttons so it can't be hit by mistake. */}
+
+
+
+
diff --git a/apps/desktop/src/lib/icons.ts b/apps/desktop/src/lib/icons.ts
index 943dd1870a..54cac8d185 100644
--- a/apps/desktop/src/lib/icons.ts
+++ b/apps/desktop/src/lib/icons.ts
@@ -94,6 +94,7 @@ import {
IconPin as Pin,
IconPlayerPlay as Play,
IconPlus as Plus,
+ IconPower as Power,
IconRefresh as RefreshCw,
IconRefresh as RefreshCwIcon,
IconDeviceFloppy as Save,
@@ -222,6 +223,7 @@ export {
Pin,
Play,
Plus,
+ Power,
RefreshCw,
RefreshCwIcon,
Save,