Fix recent workspaces when open in new window

This commit is contained in:
Gregory Schier
2025-06-06 14:10:30 -07:00
parent fcda6f8d32
commit f62e90297d
2 changed files with 20 additions and 16 deletions
+8 -3
View File
@@ -26,7 +26,13 @@ export function useRecentWorkspaces() {
export function useSubscribeRecentWorkspaces() { export function useSubscribeRecentWorkspaces() {
useEffect(() => { useEffect(() => {
return jotaiStore.sub(activeWorkspaceIdAtom, async () => { const unsub = jotaiStore.sub(activeWorkspaceIdAtom, updateRecentWorkspaces);
updateRecentWorkspaces().catch(console.error); // Update when opened in a new window
return unsub;
}, []);
}
async function updateRecentWorkspaces() {
const activeWorkspaceId = jotaiStore.get(activeWorkspaceIdAtom); const activeWorkspaceId = jotaiStore.get(activeWorkspaceIdAtom);
if (activeWorkspaceId == null) return; if (activeWorkspaceId == null) return;
@@ -37,7 +43,6 @@ export function useSubscribeRecentWorkspaces() {
const withoutActiveId = recentIds.filter((id) => id !== activeWorkspaceId); const withoutActiveId = recentIds.filter((id) => id !== activeWorkspaceId);
const value = [activeWorkspaceId, ...withoutActiveId]; const value = [activeWorkspaceId, ...withoutActiveId];
console.log('Recent workspaces update', activeWorkspaceId);
await setKeyValue({ namespace, key, value }); await setKeyValue({ namespace, key, value });
});
}, []);
} }
+2 -3
View File
@@ -30,9 +30,8 @@ export function getKeyValueRaw({
key: string | string[]; key: string | string[];
}) { }) {
const key = buildKeyValueKey(keyOrKeys); const key = buildKeyValueKey(keyOrKeys);
const kv = jotaiStore const keyValues = jotaiStore.get(keyValuesAtom);
.get(keyValuesAtom) const kv = keyValues.find((kv) => kv.namespace === namespace && kv?.key === key);
.find((kv) => kv.namespace === namespace && kv?.key === key);
return kv ?? null; return kv ?? null;
} }