Skip to content

Commit 1cb5958

Browse files
grimmerkclaude
andcommitted
fix: review — empty snapshot on toggle OFF, safe settings parse, replace on focus
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2d82d42 commit 1cb5958

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/main.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,6 +1834,8 @@ ipcMain.on('set-session-status-hooks-enabled', async (_event, enabled: boolean)
18341834
statusWatcherCleanup();
18351835
statusWatcherCleanup = null;
18361836
}
1837+
// Clear renderer dots immediately
1838+
switcherWindow?.webContents.send('session-statuses-updated', {});
18371839
}
18381840
});
18391841

src/session-status-hooks.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,15 @@ export const installHooks = (): void => {
6363
// Create status directory
6464
fs.mkdirSync(STATUS_DIR, { recursive: true });
6565

66-
// Read existing settings
66+
// Read existing settings — abort if file exists but can't be parsed (don't overwrite)
6767
let settings: any = {};
6868
try {
6969
if (fs.existsSync(SETTINGS_PATH)) {
7070
settings = JSON.parse(fs.readFileSync(SETTINGS_PATH, 'utf-8'));
7171
}
7272
} catch {
73-
settings = {};
73+
// Can't parse existing file — don't risk overwriting user's settings
74+
return;
7475
}
7576

7677
if (!settings.hooks) settings.hooks = {};

src/switcher-ui.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ function SwitcherApp() {
541541
}
542542
// Refresh session statuses on window focus
543543
window.electronAPI.getSessionStatuses().then((statuses: Record<string, string | null>) => {
544-
if (statuses) setSessionStatuses((prev) => ({ ...prev, ...statuses }));
544+
if (statuses) setSessionStatuses(statuses);
545545
});
546546
// Refresh display mode setting
547547
window.electronAPI.getSessionDisplayMode().then((mode: string) => {

0 commit comments

Comments
 (0)