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.
[Bug] 会话最后一条助手回复在 Chat 里不渲染(重建/刷新/重启均复现,其余轮次正常)
环境
dshBuildCommitc59d10af)transcriptView: verbose、collapseTiming: next-input、foldedReplies: finalconversation.chat.node槽位现象
某一轮对话结束后,该轮的最后一条助手文本回复完全不渲染:
运行命令行),下面是空白,再往下就是 composer;关键证据(数据是完整的)
直接解压该会话日志(
~/.dsh/sessions/--<cwd>--/<session-id>/session.v4.jsonl.zstd,19,441,647 字节 / 4,216 个 zstd 帧)后:同一会话的投影缓存(
~/.dsh/storages/session_projcache/sessions/<id>.json)里,turnOutline.turns[43].response也含有这段正文的开头,说明 Host 侧投影同样认为这条消息存在。即:消息、surfaceOp、turn/end 都是完整的,缺的只是渲染。
已排除
Ctrl+R刷新、完全重启桌面端,三者全部复现同一现象。所以判断是确定性的"最后一行不渲染",与消息内容无关。
复现步骤(推测)
可能相关的代码位置(0.2.2-rc.1,
@deepseek-ai/dsh-client-ui-chat/lib/client.js)assistantDefinition.buildLocationData()(约 L10227):只在scope === "step"时发布assistant-step的 location data;buildViewNode()(约 L10239):publishedAssistantData(context)取不到数据时会把节点标成visibility: "hidden";ConversationDefinitionRegistry.replaceLocationData() / applyDirtyLocationData()(dsh-client-ui-conversation/lib/client.js约 L3220、L3234):只对dirty的 context 重建 location data;AssistantNodeView→AssistantMarkdown:正常渲染 blocks。怀疑点:最后一个 step 的 location data 没有被发布/刷新,于是对应节点长期停在 hidden;只有在它后面再产生一条事件(例如用户发新消息)时才会被重新发布而显示出来。
影响
用户看不到最新一条回答,且无法通过任何界面操作恢复(客户端不提供"重新渲染该消息"的入口),只能自己解压日志或再发一条消息把这条"顶到中间"。
All reactions