Skip to content

[skip eval] fix: 回答完成后推荐问题不再闪一下 - #388

Merged
HyxiaoGe merged 1 commit into
masterfrom
fix/suggested-questions-refresh-flicker
Oct 11, 2026
Merged

HyxiaoGe merged 1 commit into
masterfrom
fix/suggested-questions-refresh-flicker

Conversation

@HyxiaoGe

Copy link
Copy Markdown
Owner

问题

#387 上线后在 dev 实测:推荐问题在回答完成后约 30ms 就出现,但约 1.1 秒后会消失两帧(约 37ms)再出现,淡入动画也重播一次。

原因

  1. 回答完成后,前端会再向服务端拉一次会话(权威刷新)。拉取期间页面保留上一屏的内容,但同时把推荐问题、onSelectQuestion 清空了,导致推荐区卸载。这段清空逻辑原本是为切换会话写的,而保留上一屏只会发生在同一会话(lastReadyConversation.chatId === chatId),这里清空推荐问题是多余的。
  2. 流结束时,消息从流式渲染分支切到静态分支,SuggestedQuestions 会重新挂载,淡入动画重播。

改动

  • chat/[chatId]/page.tsx:只在没有任何内容可显示的加载态(isHydratingWithoutContent)清空推荐问题;同一会话刷新期间照常传递推荐问题。重试、轨迹入口等其他屏蔽项不变。
  • SuggestedQuestions:只有挂载时还没有问题、之后才到达的问题会淡入;挂载时已有问题(切换渲染分支、刷新页面)就直接显示。

验证

  • 页面、AssistantMessage、SuggestedQuestions 相关测试共 129 个通过。新增两项测试:同一会话刷新期间保留推荐问题;只有占位之后到达的问题才淡入。eslint 无报错。tsc 在本文件报的 921/950 行错误是已有问题,与本次改动无关。
  • 合并后在 dev 前台标签页重测时间线。

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@HyxiaoGe
HyxiaoGe merged commit 4f6d5cc into master Oct 11, 2026
5 checks passed
@HyxiaoGe
HyxiaoGe deleted the fix/suggested-questions-refresh-flicker branch October 11, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant