feat(editor): add blobState$ to BlobEngine (#11756)

Closes: [BS-3137](https://linear.app/affine-design/issue/BS-3137/在-bs-添加-blobstate-接口)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced real-time status tracking for file upload and download operations, allowing users to monitor progress and errors more effectively.
- **Improvements**
  - Enhanced icon display for attachments, providing a refreshed visual experience.
  - Improved update frequency and accuracy for file synchronization status indicators.
- **Bug Fixes**
  - Refined internal logic for filtering status updates, ensuring more precise feedback during file operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
fundon
2025-04-28 02:28:48 +00:00
committed by Fangdun Tsai
parent d7b1819149
commit e9003dec9e
9 changed files with 35 additions and 11 deletions

View File

@@ -268,8 +268,8 @@ class WorkerBlobSync implements BlobSync {
downloadBlob(blobId: string): Promise<boolean> {
return this.client.call('blobSync.downloadBlob', blobId);
}
uploadBlob(blob: BlobRecord): Promise<true> {
return this.client.call('blobSync.uploadBlob', blob);
uploadBlob(blob: BlobRecord, force?: boolean): Promise<true> {
return this.client.call('blobSync.uploadBlob', { blob, force });
}
fullDownload(peerId?: string, signal?: AbortSignal): Promise<void> {
return new Promise((resolve, reject) => {