diff --git a/packages/web/src/components/modals/settingsPanels/DesktopPanel.tsx b/packages/web/src/components/modals/settingsPanels/DesktopPanel.tsx
index afb8ce2e..57bad547 100644
--- a/packages/web/src/components/modals/settingsPanels/DesktopPanel.tsx
+++ b/packages/web/src/components/modals/settingsPanels/DesktopPanel.tsx
@@ -5,6 +5,7 @@ function AutoLaunchSettings() {
const [openAtLogin, setOpenAtLogin] = useState(false);
const [startMinimized, setStartMinimized] = useState(true);
const [loading, setLoading] = useState(true);
+ const [busy, setBusy] = useState(false);
useEffect(() => {
window.backspace?.getAutoLaunchSettings().then((settings) => {
@@ -15,24 +16,30 @@ function AutoLaunchSettings() {
}, []);
const handleOpenAtLoginChange = async (enabled: boolean) => {
- setOpenAtLogin(enabled);
+ if (busy) return;
+ setBusy(true);
try {
const result = await window.backspace!.setAutoLaunchSettings({ openAtLogin: enabled });
setOpenAtLogin(result.openAtLogin);
setStartMinimized(result.startMinimized);
- } catch {
- setOpenAtLogin(!enabled);
+ } catch (err) {
+ console.error('[autoLaunch] setAutoLaunchSettings(openAtLogin) failed:', err);
+ } finally {
+ setBusy(false);
}
};
const handleStartMinimizedChange = async (enabled: boolean) => {
- setStartMinimized(enabled);
+ if (busy) return;
+ setBusy(true);
try {
const result = await window.backspace!.setAutoLaunchSettings({ startMinimized: enabled });
setOpenAtLogin(result.openAtLogin);
setStartMinimized(result.startMinimized);
- } catch {
- setStartMinimized(!enabled);
+ } catch (err) {
+ console.error('[autoLaunch] setAutoLaunchSettings(startMinimized) failed:', err);
+ } finally {
+ setBusy(false);
}
};
@@ -47,7 +54,7 @@ function AutoLaunchSettings() {
Automatically launch Backspace when you log in
-