fix(settings): sidebar_visible/width 영속화 — IPC + store hydration 추가

final code review 의 Important issue 대응. SettingsService 의 setSidebarVisible/
setSidebarWidth getter/setter 는 이미 있었지만 IPC handler + store hydration
missing 으로 매 launch 시 사이드바 닫힌 상태로 시작하던 회귀.

- settings:set-sidebar-visible / set-sidebar-width IPC 핸들러 추가
- InboxApi.getSettings 응답에 sidebar_visible/sidebar_width 포함
- preload 의 setSidebarVisible/setSidebarWidth invoke 노출
- store.loadInitial 가 settings.sidebar_visible/sidebar_width 로 hydrate
- store.toggleSidebar 가 IPC 호출하여 영속화
- test mock 에 setSidebarVisible/setSidebarWidth 추가

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
th-kim0823
2026-05-15 11:23:54 +09:00
parent cc11ee8cad
commit da6d296b77
6 changed files with 39 additions and 6 deletions

View File

@@ -112,6 +112,17 @@ export function registerSettingsApi(deps?: SettingsIpcDeps): void {
return { ok: true as const };
});
// v0.4 — Sidebar UI state 영속화
ipcMain.handle('settings:set-sidebar-visible', async (_e, visible: boolean) => {
await settings.setSidebarVisible(visible);
return { ok: true as const };
});
ipcMain.handle('settings:set-sidebar-width', async (_e, width: number) => {
await settings.setSidebarWidth(width);
return { ok: true as const };
});
ipcMain.handle('settings:set-sync-auto-enabled', async (_e, value: boolean) => {
await deps.settings.setAutoSyncEnabled(value);
await deps.syncTimer?.reconfigure();