feat(renderer): persist last-opened folder (mc-file-store) + restore on mount

This commit is contained in:
2026-06-05 15:36:59 +05:30
parent ce2bf62d42
commit 5e5bab3da9
4 changed files with 52 additions and 2 deletions
+20
View File
@@ -396,4 +396,24 @@ describe('useFileStore', () => {
expect(useEditorStore.getState().buffers.get('/root/doc.md')!.dirty).toBe(true);
expect(useFileStore.getState().openTabs[0].dirty).toBe(true);
});
// --- persistence ---
it('persists rootPath to localStorage and restores on next mount', async () => {
fakeList.mockResolvedValue({
ok: true,
data: [{ name: 'a.md', path: '/root/a.md', isDirectory: false }],
});
await useFileStore.getState().openFolder('/root');
// Force the persist middleware to flush to localStorage
await useFileStore.persist?.flush?.();
const stored = JSON.parse(localStorage.getItem('mc-file-store') ?? '{}');
expect(stored.state.rootPath).toBe('/root');
// Ensure non-persisted fields are NOT in storage
expect(stored.state.tree).toBeUndefined();
expect(stored.state.openTabs).toBeUndefined();
expect(stored.state.expanded).toBeUndefined();
});
});