58badf328c2c1523b228007cad43a7780a80d4d7
Files: - StoredFile entity + FilesModule: multipart upload (configurable FABRIC_BACKEND_GUILD_FILE_MAX_BYTES, default 100MB; no type limit), authenticated download (Bearer or ?access_token=), hourly + on-boot retention sweep (FABRIC_BACKEND_GUILD_FILE_TTL_DAYS, default 7). - ApiKeyGuard also accepts ?access_token= (browser <img>/<a>). Canvas: - ChannelCanvas entity (one active per channel) + CanvasModule: GET / PUT|POST (share-replace, caller becomes sharer) / PATCH (sharer-only in-place update, version++) / DELETE (sharer-only). Emits canvas.updated / canvas.removed to the channel room. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fabric.Backend.Guild
Guild Node service for Fabric.
Scope (MVP)
- Workspace/Guild/Channel/DM
- Message create/edit/delete/reply/@mention
- Per-channel/DM seq ordering + gap backfill API
- Webhook/Bot integration surface
- Guild-level audit logs
Next
- API skeleton (NestJS)
- Chat domain models
- Seq allocator and range query endpoints
Required env (startup hard checks)
FABRIC_BACKEND_GUILD_CENTER_BASE_URLFABRIC_BACKEND_GUILD_CENTER_API_KEYFABRIC_BACKEND_GUILD_NODE_ID
If any of the above is missing, service startup fails immediately.
Description
Languages
TypeScript
99.3%
JavaScript
0.4%
Dockerfile
0.3%