xfy
438a5e1046
fix(ssr): 文章写入后物理删除 SSR 磁盘缓存,根治'重建后内容不更新'
Dioxus 0.7 增量渲染器把每路由 SSR 结果落盘到 static/<route>/index/<hash>.html,
只暴露 invalidate_after(ttl) 一个失效手段,无按路由失效的公开 API。
之前 bump_global_generation 在 Dioxus 0.7 不生效(ssr_cache.rs 注释已承认),
导致文章重建/编辑后,即便 DB content_html 已是新内容,SSR 缓存仍返回旧页面,
最长滞后 SSR_CACHE_SECS(默认 3600s)。本次 katex/mermaid 渲染不生效即因此。
修复:在 ssr_cache.rs 新增物理删除缓存的函数:
- invalidate_ssr_route(route): 删 static/<route>/ (含路径穿越防护)
- invalidate_ssr_all_public(): 删 static/ 下除 .well-known/admin 外全部
- invalidate_ssr_home(): 删 static/index/ (细粒度,allow dead_code)
所有写路径(create/update/rebuild/delete/trash)在事务提交后调用:
- 单篇操作失效 /post/{slug} + 全量公开页(列表项变化影响首页/归档/标签)
- 批量操作直接全量失效
世代号保留作 X-SSR-Generation 可观测性,实际失效靠删文件。
顺带修 katex.rs 的 clippy(field_reassign_with_default)+ cmp_owned。
556 Rust 测试 + clippy -D warnings + 双 target 编译通过。
2026-07-16 15:11:34 +08:00
..
2026-07-16 15:11:34 +08:00
2026-06-16 16:45:08 +08:00
2026-06-29 13:47:40 +08:00
2026-07-16 14:22:43 +08:00
2026-07-15 17:22:06 +08:00
2026-07-15 17:22:06 +08:00
2026-07-16 13:22:49 +08:00
2026-07-08 16:40:32 +08:00
2026-07-16 14:36:33 +08:00
2026-06-29 13:47:40 +08:00
2026-07-15 17:22:06 +08:00
2026-07-15 17:22:06 +08:00
2026-07-15 17:22:06 +08:00
2026-07-08 14:37:52 +08:00
2026-06-12 19:02:37 +08:00
2026-06-29 13:47:40 +08:00
2026-07-16 11:37:13 +08:00
2026-07-16 11:33:14 +08:00
2026-07-15 17:49:03 +08:00
2026-07-16 15:11:34 +08:00
2026-06-30 17:42:52 +08:00
2026-07-15 17:22:06 +08:00
2026-07-07 18:34:17 +08:00
2026-06-24 13:54:36 +08:00
2026-07-10 11:39:24 +08:00