diff --git a/server-rs/crates/api-server/src/editor_project_icon.rs b/server-rs/crates/api-server/src/editor_project_icon.rs index bdf6f94f0..c76d41484 100644 --- a/server-rs/crates/api-server/src/editor_project_icon.rs +++ b/server-rs/crates/api-server/src/editor_project_icon.rs @@ -844,6 +844,12 @@ pub(crate) async fn persist_editor_spritesheet_slices( "message": format!("创建图集切片上传客户端失败:{error}"), })) })?; + // TODO(legacy-spritesheet-deadline): 历史实现的 processing_deadline 只覆盖准入、下载、 + // 切片规划和编码,尚未覆盖后续 PUT、HEAD 与批量持久化;应结合可对账的副作用状态机 + // 统一剩余预算,避免仅中断本地等待而让远端提交处于不可查询状态。 + // TODO(legacy-spritesheet-cleanup): 历史并发上传链路在部分 PUT/HEAD 成功后失败时没有 + // 记录成功对象并执行可重试补偿;需先定义 staged/committed/cleanup-pending 生命周期, + // 再处理批量持久化失败、补偿失败和任务重放,不能只做一次 best-effort delete。 let mut uploads = futures_util::stream::iter(0..prepared.plan.len()) .map(|index| { let prepared = prepared.clone();