feat(#1714): complete 请求携带 file_size,修复同名兜底误杀新视频 #1731
Reference in New Issue
Block a user
Delete Branch "feat/1714-complete-file-size"
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?
背景
配合后端 #1714 续单(同名兜底去重误杀新视频修复)。
根因:direct 上传 complete 不传
file_size(后端收到 0),导致find_recent_active_by_library_and_name的大小校验if file_size>0不生效,30 分钟内同名视频(如 iPhone 的 IMG_2285.MOV)即使内容/大小全新也被同名兜底误判重复跳过。改动(仅前端 apps/web)
api/assets/upload.tscompleteDirectUpload请求体新增可选file_size?: numberprepareDirectUploadHandle的complete闭包透传data.file.size—— 队列链路(useAssetUpload)与非队列链路(uploadAssetDirect,配音/封面/克隆用)同时生效,无需改 hookscompleteDirectUpload新增用例断言请求体携带file_sizeuploadAssetDirect老流程用例断言 complete body 含file_size: file.size后端配合项
后端
complete_direct_upload调_find_duplicate_asset时传file_size=request.file_size(后端 PR 处理);前端本 PR 合入后 complete 即会带上该字段,旧后端忽略多余字段、向后兼容。测试
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
无
✅ 良好实践
file_size字段的作用(后端去重校验)以及缺失该字段的潜在后果,提高了代码的可维护性。file_size字段的单元测试,还在集成测试中补充了相应的断言,确保了功能变更的正确性。🤖 由 AI 代码审查机器人自动生成 | 2026-09-06 04:39:53 | 模型:
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1731 已关闭或合并,对应的预览环境已被清理。