保留原图并提供单一预览,释放慢传输期间的空间锁 #15
Reference in New Issue
Block a user
Delete Branch "codex/canvas-image-preview"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
画布 GET 的实测快照约 477 KB,其中两张内嵌图片占 99.3%;公网重传使正文传输达到 16–32 秒。Endoleap 将图片改为独立附件引用,本 PR 提供单一最长边 1024px 的显示预览,原始附件不替换,AI 和原图下载仍使用原始 URL。
预览每次都先检查当前权限,包括缓存命中。普通不透明图使用 JPEG quality 82,透明图保留 PNG,GIF 保留原动画,JPEG EXIF 方向正确处理。编码缓存最多 32 MiB/128 项,生成串行,无新增依赖或数据库迁移。
Canvas GET/资源读取在输出响应前释放权限事务,能力查询在访问模型目录前释放事务。上传在接收大文件前释放初步锁,并在提交前重新检查写权限,减少慢传输造成的同空间排队。
验证:最新 head
8abc79d的远程分支 CI #936 与 PR CI #937 全部通过,包含格式、Go 测试、构建、隔离 PostgreSQL/迁移与 HTTP 冒烟。新增缩放、透明、动画保留、EXIF、缓存鉴权、真实 SQL NOWAIT 响应边界和慢上传锁回归。前端配套已在 Endoleap main 570cd53:附件上传、明确操作的旧图无损迁移、预览渲染、视角不触发 PATCH、传输错误分类。只打开页面不会迁移或写入。历史图片需明确点击一次“优化图片加载”,部署和真实画布迁移后的性能验收尚未完成。公网丢包本身未被宣称消除。
等待用户手动合并;正常 main 工作流随后部署。