feat(server): lightweight s3 client (#14348)

#### PR Dependency Tree


* **PR #14348** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

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

* **New Features**
* Added a dedicated S3-compatible client package and expanded
S3-compatible storage config (endpoint, region, forcePathStyle,
requestTimeoutMs, minPartSize, presign options, sessionToken).
* Document sync now broadcasts batched/compressed doc updates for more
efficient real-time syncing.

* **Tests**
* New unit and benchmark tests for base64 utilities and S3 multipart
listing; updated storage-related tests to match new formats.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-02-01 21:54:39 +08:00
committed by GitHub
parent 059d3aa04a
commit f1a6e409cb
37 changed files with 1539 additions and 1712 deletions

View File

@@ -1166,6 +1166,7 @@ export const PackageList = [
location: 'packages/backend/server',
name: '@affine/server',
workspaceDependencies: [
'packages/common/s3-compat',
'packages/backend/native',
'tools/cli',
'tools/utils',
@@ -1222,6 +1223,11 @@ export const PackageList = [
name: '@affine/reader',
workspaceDependencies: ['blocksuite/affine/all'],
},
{
location: 'packages/common/s3-compat',
name: '@affine/s3-compat',
workspaceDependencies: [],
},
{
location: 'packages/frontend/admin',
name: '@affine/admin',
@@ -1462,7 +1468,7 @@ export const PackageList = [
{
location: 'tools/cli',
name: '@affine-tools/cli',
workspaceDependencies: ['tools/utils'],
workspaceDependencies: ['tools/utils', 'packages/common/s3-compat'],
},
{
location: 'tools/commitlint',
@@ -1580,6 +1586,7 @@ export type PackageName =
| '@toeverything/infra'
| '@affine/nbstore'
| '@affine/reader'
| '@affine/s3-compat'
| '@affine/admin'
| '@affine/android'
| '@affine/electron'