lhk229
937378ab91
Project CI / Repository checks (pull_request) Successful in 1m0s
Project CI / Frontend tests (pull_request) Successful in 2m1s
Project CI / Native shell tests (pull_request) Successful in 2m26s
Project CI / Backend tests (pull_request) Successful in 3m28s
消除像素规整降级路径的重复与无界 OSS 回读
尺寸守卫此前一律走会回读 provider 原图的包装函数,带来两个问题:permit
获取失败、worker 内 deadline、join 异常和 worker 超时这四条分支其实已经
持有原图,却又对同一 object key 发起第二次 GET,把"最多增加一次 OSS GET"
放大成两次;而第一次回读超时后的那次 GET 完全没有绝对 deadline,突破
30 秒像素预算。
拆成两类:已持有原图的四条分支改走纯内存守卫 degrade_editor_pixel_art_
with_provider_source,零额外 GET;尚未取得原图的三条分支仍走回读守卫,
但该次 GET 改以外层请求 deadline 为绝对上界——用已耗尽的像素预算绑会让
修复必然失败,不绑则突破预算。
apply_editor_postprocessed_alpha_from_persisted_provider_source_or_original
新增可选 download_deadline,非像素路径传 None 保持既有语义;尺寸比对抽为
editor_postprocessed_alpha_matches_delivery_dimensions 供两类守卫共用。
计数断言固定"回读守卫 3 处、内存守卫 4 处",该断言在编写时即抓出一处
分支数误判。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 12:29:42 +00:00
..
2026-06-25 20:10:18 +08:00
2026-06-07 22:20:58 +08:00
2026-05-28 15:42:46 +08:00
2026-07-29 07:02:56 +00:00
2026-06-22 15:11:33 +08:00
2026-07-28 16:20:43 +08:00
2026-07-17 22:07:52 +08:00
2026-07-20 20:57:34 +08:00
2026-06-03 22:21:00 +08:00
2026-07-17 22:07:52 +08:00
2026-07-23 14:52:57 +08:00
2026-07-28 16:20:43 +08:00
2026-07-28 16:20:43 +08:00
2026-07-28 16:20:43 +08:00
2026-07-03 15:19:44 +08:00
2026-06-09 15:36:58 +08:00
2026-07-18 21:17:35 +08:00
2026-05-17 20:52:15 +08:00
2026-07-29 03:46:03 +00:00
2026-07-10 18:28:06 +08:00
2026-07-22 18:25:52 +08:00
2026-07-15 21:06:05 +08:00
2026-06-05 23:41:24 +08:00
2026-07-23 14:52:57 +08:00
2026-05-15 08:43:21 +08:00
2026-06-30 20:58:33 +08:00
2026-07-18 22:02:22 +08:00
2026-07-18 22:02:22 +08:00
2026-06-11 15:55:23 +08:00
2026-07-23 18:06:29 +08:00
2026-04-28 19:36:39 +08:00
2026-04-30 17:49:07 +08:00
2026-06-25 20:10:18 +08:00
2026-07-23 18:06:29 +08:00
2026-07-17 22:07:52 +08:00
2026-07-23 18:06:29 +08:00
2026-04-28 10:57:40 +08:00
2026-04-26 18:06:23 +08:00
2026-04-26 18:06:23 +08:00
2026-07-23 14:52:57 +08:00
2026-07-23 15:38:45 +08:00
2026-07-08 11:26:41 +08:00
2026-05-08 11:44:42 +08:00
2026-06-19 10:47:56 +08:00
2026-04-30 17:49:07 +08:00
2026-04-27 14:23:19 +08:00
2026-06-11 15:55:23 +08:00
2026-07-15 21:06:05 +08:00
2026-07-23 15:38:45 +08:00
2026-04-26 18:06:23 +08:00
2026-07-15 21:06:05 +08:00
2026-06-08 21:05:37 +08:00
2026-07-10 18:28:06 +08:00
2026-07-17 21:03:15 +08:00
2026-07-15 21:06:05 +08:00
2026-07-29 12:29:42 +00:00
2026-07-23 18:06:29 +08:00
2026-07-15 21:06:05 +08:00
2026-05-14 14:56:36 +08:00
2026-07-20 20:57:34 +08:00
2026-04-26 18:06:23 +08:00
2026-07-23 18:06:29 +08:00
2026-06-19 15:31:53 +08:00
2026-06-21 13:40:09 +08:00
2026-07-10 18:28:06 +08:00
2026-07-29 07:02:56 +00:00
2026-07-08 22:16:51 +08:00
2026-07-29 11:44:27 +00:00
2026-07-16 18:33:06 +08:00
2026-07-08 11:26:41 +08:00
2026-07-17 22:07:52 +08:00
2026-06-07 22:20:58 +08:00
2026-06-10 11:35:39 +08:00
2026-06-04 22:32:46 +08:00
2026-05-26 13:18:13 +08:00
2026-07-04 12:03:58 +08:00
2026-07-20 20:57:34 +08:00
2026-07-17 22:07:52 +08:00
2026-07-05 17:42:27 +08:00
2026-07-15 21:06:05 +08:00
2026-06-30 20:58:33 +08:00
2026-06-30 20:58:33 +08:00
2026-07-23 18:06:29 +08:00
2026-06-11 15:55:23 +08:00
2026-07-17 22:07:52 +08:00
2026-07-21 17:06:39 +08:00
2026-07-23 14:52:57 +08:00
2026-07-23 14:52:57 +08:00
2026-07-23 14:52:57 +08:00
2026-07-15 21:06:05 +08:00
2026-05-22 05:00:07 +08:00
2026-07-23 14:52:57 +08:00
2026-07-13 13:39:59 +08:00
2026-07-14 19:20:25 +08:00
2026-07-17 22:07:52 +08:00
2026-06-25 20:10:18 +08:00
2026-04-30 17:49:07 +08:00
2026-07-03 15:19:44 +08:00
2026-06-08 21:05:37 +08:00
2026-07-15 21:06:05 +08:00
2026-06-30 20:58:33 +08:00
2026-05-14 14:21:17 +08:00
2026-07-20 20:57:34 +08:00
2026-04-26 18:06:23 +08:00
2026-06-09 15:36:58 +08:00
2026-05-02 14:18:12 +08:00
2026-05-02 14:18:12 +08:00
2026-07-17 16:56:46 +08:00
2026-07-21 18:12:43 +08:00
2026-06-09 15:36:58 +08:00
2026-07-18 22:02:22 +08:00
2026-04-26 18:06:23 +08:00
2026-05-06 12:52:47 +08:00
2026-06-10 22:00:19 +08:00
2026-07-28 16:20:43 +08:00
2026-05-13 15:13:43 +08:00
2026-05-13 15:13:43 +08:00
2026-07-23 18:06:29 +08:00
2026-07-17 16:56:46 +08:00
2026-07-18 22:02:22 +08:00
2026-07-17 22:07:52 +08:00
2026-06-25 20:10:18 +08:00
2026-07-23 14:52:57 +08:00
2026-07-08 22:16:51 +08:00
2026-07-17 22:07:52 +08:00
2026-07-15 21:06:05 +08:00
2026-07-17 22:07:52 +08:00
2026-05-25 14:03:38 +08:00