perf(host): store avatars as content-addressed files and serve them from disk
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/dev-image-api unknown status

Space info now carries avatar_version instead of the inlined thumbnail; the worker fetches the thumbnail once per version. Legacy base64 rows are migrated to files on startup, and the daily backup uploads avatar files.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> [CI]
This commit is contained in:
justmeandClaude Sonnet 5.5 committed 2026-10-19 14:16:50 +08:00
1 parent 8af4f284a0
commit 7274390aa1
21 files changed
+339 -48

No files matched your search

+2 -2
View File
@@ -1,5 +1,5 @@
// Generated from backend DTOs; do not edit.
// backend-contract-sha256: 340876061d7b324e4fd16972e276ffb0f238eeac66b214a043b3b4b98d560fcf
// backend-contract-sha256: e0ae14a47dfbb3c22017cdd7b5e12465b3e273842db2a35f36b7335c20b51cac
export interface AccountChannelBody {
channel_id: string;
@@ -75,7 +75,7 @@ export interface ChannelHistoryRequest {
filesHistory: boolean;
}
export interface ChannelInfo {
avatar?: string | null;
avatar_version?: string | null;
can_create_channel: boolean;
can_delete_any: boolean;
can_delete_own: boolean;