From 075986b2e3903b7d86847d90dca491c055456dae Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Wed, 6 Sep 2023 15:38:11 -0700 Subject: [PATCH] fix(core): upload binary after migration (#4241) --- .../src/components/migration-fallback.tsx | 22 +++++++++++++++++++ tests/affine-cloud/e2e/basic.spec.ts | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/core/src/components/migration-fallback.tsx b/apps/core/src/components/migration-fallback.tsx index af8f047194..ee2863d873 100644 --- a/apps/core/src/components/migration-fallback.tsx +++ b/apps/core/src/components/migration-fallback.tsx @@ -83,6 +83,27 @@ export const MigrationFallback = function MigrationFallback() { } } }; + const uploadRecursively = async (doc: YDoc) => { + { + await localProvider.datasource.sendDocUpdate( + doc.guid, + encodeStateAsUpdate(doc) + ); + console.log('upload indexeddb', doc.guid); + if (remoteProvider) { + await remoteProvider.datasource.sendDocUpdate( + doc.guid, + encodeStateAsUpdate(doc) + ); + console.log('upload remote', doc.guid); + } + } + await Promise.all( + [...doc.subdocs].map(async subdoc => { + await uploadRecursively(subdoc); + }) + ); + }; await downloadRecursively(workspace.blockSuiteWorkspace.doc); console.log('download done'); @@ -92,6 +113,7 @@ export const MigrationFallback = function MigrationFallback() { getCurrentRootDoc: async () => workspace.blockSuiteWorkspace.doc, getSchema: () => workspace.blockSuiteWorkspace.schema, }); + await uploadRecursively(workspace.blockSuiteWorkspace.doc); console.log('migration done'); setDone(true); }, [ diff --git a/tests/affine-cloud/e2e/basic.spec.ts b/tests/affine-cloud/e2e/basic.spec.ts index f6c0c29f49..3c080593af 100644 --- a/tests/affine-cloud/e2e/basic.spec.ts +++ b/tests/affine-cloud/e2e/basic.spec.ts @@ -100,7 +100,8 @@ test.describe('basic', () => { timeout: 60000, }); await page.goto( - `${coreUrl}/workspace/${workspaceId}/gc5FeppNDv-hello-world` + // page 'F1SX6cgNxy' has edgeless mode + `${coreUrl}/workspace/${workspaceId}/F1SX6cgNxy` ); await waitForEditorLoad(page); await clickEdgelessModeButton(page);