📝 摘要
dsh-hmr 热重载后 apply() 定时器一直 executing=true,致嵌套报错。
#11121 · lingluochengni918 · 2026-10-26
dsh-hmr 热重载后 apply() 定时器一直 executing=true,致嵌套报错。
⚠️ 2026-10-27 更新:本文原推荐的方案 A / C 已撤回——实测反证见下方评论区(方案 A 会把队列永久卡死,方案 C 缺失效机制)。修法以 @Muguett-DBY 提出的状态对象方案为准,对照实测见我的回复。正文保留原样,供追溯讨论脉络。 自己用DSH许愿写的插件,热插拔更新后一直跳出“HMR transactions cannot be nested”的刷屏信息,查找了一下原因,说是DSH内核中的一个固有问题,发上来报告一下。 `dsh-hmr`:插件热重载后,`apply()` 里注册的定时器永久携带 `executing=true`,导致该插件后续任何 `runExcl……
节选自讨论正文开头,完整内容见原文