diff --git a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts index df0e4d9615..819d1be116 100644 --- a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts +++ b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts @@ -39,6 +39,7 @@ import type { WorkspaceEngineStorageProvider } from '../providers/engine'; import { BroadcastChannelAwarenessConnection } from './engine/awareness-broadcast-channel'; import { CloudAwarenessConnection } from './engine/awareness-cloud'; import { CloudBlobStorage } from './engine/blob-cloud'; +import { StaticBlobStorage } from './engine/blob-static'; import { CloudDocEngineServer } from './engine/doc-cloud'; import { CloudStaticDocStorage } from './engine/doc-cloud-static'; @@ -254,7 +255,7 @@ export class CloudWorkspaceFlavourProviderService return this.storageProvider.getBlobStorage(workspaceId); }, getRemoteBlobStorages() { - return [new CloudBlobStorage(workspaceId)]; + return [new CloudBlobStorage(workspaceId), new StaticBlobStorage()]; }, }; } diff --git a/packages/frontend/core/src/modules/workspace-engine/impls/local.ts b/packages/frontend/core/src/modules/workspace-engine/impls/local.ts index 468eac5494..fbf2a93aa0 100644 --- a/packages/frontend/core/src/modules/workspace-engine/impls/local.ts +++ b/packages/frontend/core/src/modules/workspace-engine/impls/local.ts @@ -16,6 +16,7 @@ import { applyUpdate, encodeStateAsUpdate } from 'yjs'; import type { WorkspaceEngineStorageProvider } from '../providers/engine'; import { BroadcastChannelAwarenessConnection } from './engine/awareness-broadcast-channel'; +import { StaticBlobStorage } from './engine/blob-static'; export const LOCAL_WORKSPACE_LOCAL_STORAGE_KEY = 'affine-local-workspace'; const LOCAL_WORKSPACE_CHANGED_BROADCAST_CHANNEL_KEY = @@ -170,7 +171,7 @@ export class LocalWorkspaceFlavourProvider return this.storageProvider.getBlobStorage(workspaceId); }, getRemoteBlobStorages() { - return []; + return [new StaticBlobStorage()]; }, }; } diff --git a/packages/frontend/templates/build-edgeless.mjs b/packages/frontend/templates/build-edgeless.mjs index 43762c2b1b..dcf1268731 100644 --- a/packages/frontend/templates/build-edgeless.mjs +++ b/packages/frontend/templates/build-edgeless.mjs @@ -97,7 +97,7 @@ const parseSnapshot = async () => { Object.entries(unarchivedFiles).forEach(([name, fileObj]) => { if (name.includes('MACOSX') || name.includes('__MACOSX')) return; - if (name.startsWith('assets/') && !fileObj.dir) { + if (name.includes('assets/') && !fileObj.dir) { assetsFiles.push(fileObj); return; } @@ -116,11 +116,11 @@ const parseSnapshot = async () => { const extname = path.extname(file.name); assetsExtentionMap[ - file.name.replace('assets/', '').replace(extname, '') + file.name.replace(/.*assets\//, '').replace(extname, '') ] = extname; await fs.writeFile( - join(ASSETS_PATH, file.name.replace('assets/', '')), + join(ASSETS_PATH, file.name.replace(/.*assets\//, '')), buffer ); })