You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
「我让 dsh 在中文路径目录开两个实例,其中一个的 workspace.json 路径被写坏成乱码,重启后会话列表全空了——数据文件还在磁盘。」两个 dsh 实例同时运行时,含非 ASCII 路径的工作区在 $DSH_HOME/storages/workspace.json 中被写坏成无效字节,重启后该工作区所有历史会话从 UI 消失。
复现、预期与验收
复现步骤:在含中文/非 ASCII 路径的目录(如 C:\用户\项目)启动 dsh web
保持该实例运行,再开第二个 dsh web 实例(同一 $DSH_HOME)
第二个实例写入 $DSH_HOME/storages/workspace.json,工作区 path/title 变乱码
重启 dsh,该工作区的历史会话从会话列表消失(UI 像被清空)
实际结果: workspace.json 中工作区路径为无效 UTF-8 字节;UI 会话列表为空;数据文件(sessions//*.jsonl.zstd)仍在磁盘但无法通过 UI 访问。
预期结果:
a. 多实例对存储文件应有并发保护(锁/合并/最后写入者验证),不破坏现有条目
b. 非 ASCII 路径应始终以有效 UTF-8 读写
c. 路径损坏时应优雅降级(提示工作区无效/可修复),而非静默清空会话列表
环境: Windows 10 · Node v24.15.0 · dsh 0.1.0-rc.6
验收条件: 并发启动多个实例后,既有工作区的 path/title 保持有效;即使损坏也应给出可操作提示而非空列表。
All reactions