diff --git a/packages/blocks/src/attachment-block/attachment-transformer.ts b/packages/blocks/src/attachment-block/attachment-transformer.ts index 4a309f762a7e..7bc236ff2f17 100644 --- a/packages/blocks/src/attachment-block/attachment-transformer.ts +++ b/packages/blocks/src/attachment-block/attachment-transformer.ts @@ -21,7 +21,8 @@ export class AttachmentBlockTransformer extends BaseBlockTransformer> { const snapshotRet = await super.fromSnapshot(payload); const sourceId = snapshotRet.props.sourceId; - if (sourceId) await payload.assets.writeToBlob(sourceId); + if (!payload.assets.isEmpty() && sourceId) + await payload.assets.writeToBlob(sourceId); return snapshotRet; } diff --git a/packages/blocks/src/image-block/image-transformer.ts b/packages/blocks/src/image-block/image-transformer.ts index 0c1b6e871164..153a2807be2c 100644 --- a/packages/blocks/src/image-block/image-transformer.ts +++ b/packages/blocks/src/image-block/image-transformer.ts @@ -21,7 +21,7 @@ export class ImageBlockTransformer extends BaseBlockTransformer ): Promise> { const snapshotRet = await super.fromSnapshot(payload); const sourceId = snapshotRet.props.sourceId; - if (sourceId && !sourceId.startsWith('/')) + if (!payload.assets.isEmpty() && sourceId && !sourceId.startsWith('/')) await payload.assets.writeToBlob(sourceId); return snapshotRet; diff --git a/packages/framework/store/src/transformer/assets.ts b/packages/framework/store/src/transformer/assets.ts index 403f9d5d8440..064c6a1973bd 100644 --- a/packages/framework/store/src/transformer/assets.ts +++ b/packages/framework/store/src/transformer/assets.ts @@ -18,6 +18,10 @@ export class AssetsManager { return this._assetsMap; } + isEmpty() { + return this._assetsMap.size === 0; + } + cleanup() { this._assetsMap.clear(); }