• wangheng released this 2026-11-02 23:30:46 +08:00 | 0 commits to main since this release

    修真正的根因:状态恢复之后被自己写空。

    根因(请求日志证实)

    15:25:00 GET  ok layouts=2          ← 读到了
    15:25:01 POST incomingLayouts=0     ← 0.5 秒后回写空值
    

    首屏「控制室自愈」的 effect 早于异步恢复跑完,把空项目塞进待写队列;
    旧实现只做合并,那份空值留在队列里,恢复完成后立刻被写回宿主文件。

    改动

    1. 恢复成功后 markHydrated(权威内容) 整体替换待写队列,作废早于恢复的写入
    2. 宿主镜像不比本地新时不主动落盘,等用户真的改动再写
    3. 诊断日志收敛:只在鉴权被拒 / 项目数量变少时记一行,正常保存不写

    验证

    重启后实测:POST incomingLayouts=2 mergedLayouts=2,两个项目都在。

    安装

    dsh plugin --profile web add "https://gitea.ququclean.com/xiaoqu/dsh-worktable/releases/download/v0.5.2-local.6/dsh-worktable.tgz"
    
    Downloads