Discourse 团队及社区朋友们,你们好:
我在自托管的 Discourse 实例中注意到关于帖子版本历史中图片处理的一个有趣现象,希望能了解其底层机制。
背景:
-
我的站点已将图片上传重定向至 Cloudflare R2(兼容 S3 的存储)。
-
过去几个月里,我对某些帖子进行了多次编辑,涉及替换或移除旧图片并上传新图片。
-
所有原始图片上传均存储在 R2 中。
观察到的现象: 当我查看这些旧帖子的帖子版本历史记录时:
-
对于几个月前替换或删除图片的大部分版本,版本中的图片链接仍可完全访问并能正确加载。
-
但对于少数特定版本,图片完全损坏或缺失底层物理文件,仅保留占位符。
我的问题:
-
Discourse 的
CleanUpUploads及孤立文件清理后台作业如何区分这些不同版本? -
为什么某些历史版本中的图片即使在最新帖子正文中被移除后,仍能在 R2(或缓存)中无限期保留,而另一些则被彻底清除或丢失优化变体?
非常感谢对代码库或数据库逻辑(upload_references / OptimizedImage)中有关版本处理方面的任何见解!
Leo