Skip to content

Commit d488bac

Browse files
committed
fix: serialize autostart toggle to prevent race conditions
1 parent 035b871 commit d488bac

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/lib/SettingsPage.svelte

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
3333
// Serialize saves so rapid toggles don't race each other
3434
let saveChain = Promise.resolve();
35+
let autoStartChain = Promise.resolve();
3536
3637
onMount(() => {
3738
void loadSettings();
@@ -105,10 +106,12 @@
105106
function toggleLaunchAtLogin() {
106107
const enabled = !launchAtLoginEnabled;
107108
launchAtLoginEnabled = enabled;
108-
void invoke("set_autostart_cmd", { enabled }).catch((e: unknown) => {
109-
console.error("[settings] Failed to set autostart setting:", e);
110-
launchAtLoginEnabled = !enabled;
111-
});
109+
autoStartChain = autoStartChain
110+
.then(async () => { await invoke("set_autostart_cmd", { enabled }); })
111+
.catch((e: unknown) => {
112+
console.error("[settings] Failed to set autostart setting:", e);
113+
launchAtLoginEnabled = !enabled;
114+
});
112115
}
113116
114117
function toggleRepo(repo: string) {

0 commit comments

Comments
 (0)