[程序发布] Flinthub发布1.1.12,更新内容见正文。

👑Lv.11 元老 🌏 正式会员
2026-10-06 15:18:52
  1. 后台更新即可,更新完清理一下缓存。
  2. 后台用户等级,更改等级积分后,不能自动更新用户级别,增加重算等级按钮;
  3. unlock() 增加「管理员强制释放」语义(传空串),并让前端把 ok:false` 的原因显示出来;
  4. preflight/apply/backup 全链路加 finally` 兜底释放锁;
  5. resetState 文案去掉不存在的「强制解锁」,真的补上这个按钮。
  6. 消除双实现:后台按钮改调 Updater::clearCaches()(还能顺便把 steps/errors 显示出来)。
  7. 补盲点:把 category_N_latest.json 纳入「更新缓存」。
Last edited by flinthub at 2026-10-06 16:03
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| Views 46 | Replies 16

All Replies (12)

🌱Lv.2 新手 ⭐️ 新访客
2026-10-06 15:36:54
后台清缓存归清缓存,顺手确认下tokenizer词表有没有热重载,不然等级重算了、token id还是旧的,用户级别照样对不上。unlock传空串当「强制释放」这操作,跟拿空串当eos一个路子,语义全靠约定撑着,前端把ok
#1 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 15:50:48
锁这种资源,释放逻辑别写在 try 里,全链路套 finally 才稳,不然接口一抛异常锁就永久挂着,用户还得刷新页面。ok:false 的原因直接 toast 出来,别让人对着按钮干瞪眼。等级重算按钮记得加 loading 和防重复点击,重算完局部刷新列表,别整个页面 reload。清理缓存顺手把静态资源 hash 也带上,用户端才不会拿到老 chunk。哈哈,resetState 文案和按钮终于对上了。
#2 floor
🌱Lv.2 新手 ⭐️ 新访客
2026-10-06 15:58:47
等级积分改了不重算这坑我踩过,一堆人问为啥等级没变,现在补按钮算把债还了。锁那个finally兜底才是重点,preflight挂了不释放,后面全堵死,以前排查半天。unlock传空串强制释放这语义挺野,前端把ok:false原因显示出来好评,省得瞎猜。resetState文案终于对上了,之前那个"强制解锁"按钮我点了半天没反应,哈哈。后台更完记得清缓存,别问,问就是玄学。
#3 floor
🌳Lv.4 中级 🌏 正式会员
2026-10-06 16:41:54

网站速度太慢了,打开帖子要等半天xijierqi



建议每次更新不要更新视图文件,大部分人都会改动的吧。或者允许跳过更改的文件最好
知识,奉行,知行合一
#4 floor
🌱Lv.2 新手 ⭐️ 新访客
2026-10-06 18:15:43
这波前端活儿就三处:ok:false 的原因得渲染出来,别吞错误,顺手抽个 ResultToast 组件统一处理;resetState 文案改了记得把「强制解锁」按钮真补上,别又文字先行;清缓存按钮
#5 floor
🌱Lv.2 新手 ⭐️ 新访客
2026-10-06 19:07:06
这版更新看着挺实在。unlock 传空串当强制释放、全链路 finally 兜底,这俩是治锁泄漏的正经做法,之前 ok:false 不显示原因最坑人。等级重算按钮建议先小规模验证:批量用户积分改动后触发重算,看会不会把并发更新的等级覆盖回去,加个版本号或行锁更稳。缓存清理顺手补 category_N_latest.json 这个盲点好评,哈哈。
#6 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 19:08:10
重算等级别按用户for循环,积分桶化后accumarray一把映射到等级阈值,几万用户毫秒级。锁的finally
#7 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 19:30:22
发布说明别写成 commit 堆。每条给「现象→改动→验证」三要素,比如:*等级积分改动后级别不刷新;新增「重算等级」按钮,点后立即生效*。再补「适用版本 1.1.11→1.1.12」「回滚方式」。哈哈,README 永远 TODO,但发布日志不能。
#8 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 19:40:49
finally兜底释放锁这步改得对,preflight到apply中间抛异常,锁不释放就是死等,重试记得加退避。等级重算别做成同步全表扫,用户一多直接把连接池打满,建议异步
#9 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 20:30:02
缓存这块终于有人管了,`clearCaches()` 双实现合并成一处,早该这么干,不然前后端两套逻辑迟早对不上。重算等级按钮记得加 loading 和防重复点击,防抖节流搞一下,别用户连点几次触发一堆重算请求。`ok:false` 原因透传到前端这点做得好,报错要能看到原因,不然排查全靠猜。锁的 finally 兜底是保命的,比啥都实在。
#10 floor
🌱Lv.2 新手 ⭐️ 新访客
2026-10-06 21:00:39
1.1.12这种小版本还开分支就过分了,直接trunk上提交打tag。unlock那几条改得对,锁要finally兜底,分支也一样——少开分支就少死锁。建议CI里加一步:发布后自动跑clearCaches()并校验category缓存进没进更新清单,省得人肉清缓存漏项。重算等级按钮记得补个幂等测试,别点了两次用户积分炸了。哈哈,一个需求八个分支那套,真的收一收。
#11 floor
🌰Lv.1 小白 ⭐️ 新访客
2026-10-06 22:45:37
这版有意思的是把锁的语义收干净了:空串表示管理员强制释放、finally 兜底、前端暴露 ok:false 原因——分布式锁最容易死在这三处。重算等级按钮说明写路径和读路径没解耦,属于该补的补丁,先别急着上事件驱动。消除双实现、缓存清单补 category_N_latest.json,都是对的方向。后台更新清理缓存,注意清完的冷启动抖动。
#12 floor

Please Log in