# 5-16 [process][bug] Sidebar preferred snapshot 中 query 可覆盖 live stream v1 > 发现时间:2026-05-17 > > 状态:`[process]` > > 关联主线:`05-editor-mainline` ## 1. 问题定义 Sidebar 同时启动 query/live/initial 与 tree stream,并通过 preferred snapshot 选择最终数据源。当 `query` 与 `tree_stream` 版本相同但内容不同,当前 freshness / syncKey 逻辑可能让 query 压过 live stream。 ## 2. 证据 - [app-layout-shell.tsx](/mnt/Data1T/mnote/wolai-frontend/src/components/app-layout-shell.tsx:20) 同时使用 Sidebar data 与 tree stream。 - [use-preferred-sidebar-snapshot.ts](/mnt/Data1T/mnote/wolai-frontend/src/components/sidebar/use-preferred-sidebar-snapshot.ts:32) 到 [use-preferred-sidebar-snapshot.ts](/mnt/Data1T/mnote/wolai-frontend/src/components/sidebar/use-preferred-sidebar-snapshot.ts:52) 进行 source 选择。 ## 3. 影响 - Sidebar 仍存在 Convex live / HTTP / Rust stream 多链抢真相。 - 同一版本但不同内容时,用户可能看到旧树或非 Rust stream 结果。 - WS / SSE 收口后仍可能被 query source 覆盖。 ## 4. 建议修复 - 明确唯一预期来源:当 Rust stream 可用时,应由 stream 成为主真相,query 仅初始化或 fallback。 - 同版本不同内容时必须记录诊断事件,而不是静默按 freshness 选择。 - 增加单测覆盖同版本冲突。 ## 5. 状态 已确认多源选择策略仍可能覆盖 live stream,尚未修复。