From 034894e3bcd28408ec3743d5cf61cfb11c957a7a Mon Sep 17 00:00:00 2001 From: fourdim <59462000+fourdim@users.noreply.github.com> Date: Mon, 5 Feb 2024 01:02:34 -0500 Subject: [PATCH] fix(page): clipboard payload does not have assets (#6194) --- .../blocks/src/attachment-block/attachment-transformer.ts | 3 ++- packages/blocks/src/image-block/image-transformer.ts | 2 +- packages/framework/store/src/transformer/assets.ts | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) 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(); }