From 13d2dde501aeb1c707bda15b11bf1a9690241cb6 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Fri, 4 Aug 2023 09:09:55 -0700 Subject: [PATCH] fix: only run migration in local workspace (#3570) --- apps/core/src/bootstrap/setup.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/apps/core/src/bootstrap/setup.ts b/apps/core/src/bootstrap/setup.ts index 41cf1bda0f..2bea62129b 100644 --- a/apps/core/src/bootstrap/setup.ts +++ b/apps/core/src/bootstrap/setup.ts @@ -36,15 +36,15 @@ async function tryMigration() { const adapter = WorkspaceAdapters[oldMeta.flavour]; assertExists(adapter); const upgrade = async () => { + if (oldMeta.flavour !== WorkspaceFlavour.LOCAL) { + console.warn('not supported'); + return; + } const workspace = await adapter.CRUD.get(oldMeta.id); if (!workspace) { console.warn('cannot find workspace', oldMeta.id); return; } - if (workspace.flavour !== WorkspaceFlavour.LOCAL) { - console.warn('not supported'); - return; - } const doc = workspace.blockSuiteWorkspace.doc; const provider = createIndexedDBDownloadProvider( workspace.id, @@ -83,11 +83,14 @@ async function tryMigration() { // create a new workspace and push it to metadata promises.push(upgrade()); } else if (oldMeta.version < WorkspaceVersion.DatabaseV3) { - console.log('migrate to v3'); const adapter = WorkspaceAdapters[oldMeta.flavour]; assertExists(adapter); promises.push( (async () => { + if (oldMeta.flavour !== WorkspaceFlavour.LOCAL) { + console.warn('not supported'); + return; + } const workspace = await adapter.CRUD.get(oldMeta.id); if (workspace) { const provider = createIndexedDBDownloadProvider( @@ -107,11 +110,11 @@ async function tryMigration() { const index = newMetadata.findIndex( meta => meta.id === oldMeta.id ); - console.log('migrate to v3'); newMetadata[index] = { ...oldMeta, version: WorkspaceVersion.DatabaseV3, }; + console.log('migrate to v3'); })() ); } @@ -121,8 +124,8 @@ async function tryMigration() { .then(() => { console.log('migration done'); }) - .catch(() => { - console.error('migration failed'); + .catch(e => { + console.error('migration failed', e); }) .finally(() => { localStorage.setItem('jotai-workspaces', JSON.stringify(newMetadata));