Canvas 快照持久化与 workspace/board SEO slug #7

Merged
Zayden-Jung merged 1 commits from codex/canvas-persistence into main 2026-11-05 18:57:44 +00:00
Collaborator

为 board 增加独立 Canvas 快照 GET/PATCH、版本与 ETag,复用材料授权并以事务原子替换;支持旧 board 空图谱、5 MiB 请求和 2 MiB 内嵌图片。增加节点、连线、样式和引用校验,丢弃 UI 临时状态。

workspace 与材料新增稳定 slug,按名称生成默认值、回填历史数据、提供作用域唯一约束和自定义校验,原接口支持 ID/slug。Canvas 使用 board 的 slug,改名保持 slug 与快照稳定。

验证:ces-control 上运行 Go 检查、构建、隔离 PostgreSQL 迁移与集成测试,包含同版本并发写入、权限拒绝、完整还原、图片大小和 slug 访问。CI 已成功:ces-control 验证 #61,包含 Go 测试、构建、隔离数据库迁移与集成测试、HTTP smoke 检查。

部署须先应用 db/003-canvas.sql。前端代理白名单、5 MiB 限制、本地草稿迁移与自动保存接入属后续前端工作,本 PR 不宣称已部署。等待用户手动合并。

为 board 增加独立 Canvas 快照 GET/PATCH、版本与 ETag,复用材料授权并以事务原子替换;支持旧 board 空图谱、5 MiB 请求和 2 MiB 内嵌图片。增加节点、连线、样式和引用校验,丢弃 UI 临时状态。 workspace 与材料新增稳定 slug,按名称生成默认值、回填历史数据、提供作用域唯一约束和自定义校验,原接口支持 ID/slug。Canvas 使用 board 的 slug,改名保持 slug 与快照稳定。 验证:ces-control 上运行 Go 检查、构建、隔离 PostgreSQL 迁移与集成测试,包含同版本并发写入、权限拒绝、完整还原、图片大小和 slug 访问。CI 已成功:[ces-control 验证 #61](https://gitea.entroia.com/Zayden-Jung/foundry-core/actions/runs/864),包含 Go 测试、构建、隔离数据库迁移与集成测试、HTTP smoke 检查。 部署须先应用 db/003-canvas.sql。前端代理白名单、5 MiB 限制、本地草稿迁移与自动保存接入属后续前端工作,本 PR 不宣称已部署。等待用户手动合并。
codex-bot added 1 commit 2026-11-05 18:54:28 +00:00
Add versioned board canvas persistence and stable SEO slugs
Foundry Go checks / check (push) Successful in 7m30s
Foundry Go checks / check (pull_request) Successful in 8m43s
6f36ef27bb
Zayden-Jung merged commit 57aab71d45 into main 2026-11-05 18:57:44 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Zayden-Jung/foundry-core#7