Skip to content

v0.95.2

Choose a tag to compare

@github-actions github-actions released this 15 Sep 18:10
· 992 commits to main since this release
9b1fc83

🐛 问题修复

  • 修复了 AskUserQuestion(提问卡片)的答案在重渲染后丢失的问题。此前补充信息、选项勾选、已提交状态都只存在于 DOM 中,一旦卡片正文重新生成(前后台切换触发历史重载、消息列表重挂载、合并卡片分支翻转、工具输入异步回填、抽屉重新赋值),整棵子树被替换,用户已填的答案随之消失,已答过的卡片还会重新变回可提交。现在这三项状态改由模块级存储承载,重渲染后自动写回,切换会话或从后台返回答案依然保留(#2fd5d1f)
  • 修复了卡片重新挂载时答案不回填的问题。此前的回填只在组件更新时触发,而消息列表的 :key 包含消息数量与首尾消息 ID——「切出去期间 AI 回复了,切回来」这条常见路径会导致整个列表重新挂载,此时更新钩子根本不会执行,答案依然丢失。现在首次挂载与后续更新都会执行回填,聊天列表与工具详情抽屉两处同步修复(#fa92b81)
  • 修复了发送失败后卡片无法重试的问题。提交答案会把终态直接写进 DOM(不可交互、输入框禁用、"已提交"文案),此前的回滚只清理了持久化标志、没有清理 DOM,卡片看起来和用起来仍是"已答",用户依然无法重试。现在回滚会统一重置 DOM,并释放同一张卡片的所有渲染实例(列表与抽屉可能同时显示),答案与勾选保留,一键即可重试(#1edba50)
  • 修复了按会话清理答案状态失效的问题。聊天消息组件漏传会话 ID,导致每张卡片的标识都退化为 no-session 前缀,归档或销毁会话时的清理逻辑永远匹配不到条目,答案状态会跨会话泄漏直到页面关闭。现在会话 ID 正确透传,归档/销毁会话时会同步清理其卡片答案(#1edba50)
  • 修复了 AskUserQuestion 答案在重渲染后丢失(汇总修复,含端到端验证发现的三处附加缺陷)(#9b1fc83)

🔧 内部改进

  • 修复 Android 构建流水线:android-actions/setup-android 默认安装的 legacy tools 包在 cmdline-tools 16.0 中已不再提供,导致 Setup Android SDK 步骤报 "Failed to find package 'tools'" 并直接中止 Build Android APK 与 Coverage Gate (Android) 两个 job。现改为只安装实际需要的 platform-tools,同步修正 ci.yml(2 处)与 release.yml(1 处)。修复后两个 Android job 由失败转为通过(#63acbc9、#8710e20)
  • 补充 AskUserQuestion 答案状态的单元测试与端到端测试覆盖,覆盖四张卡片的 key 传递、挂载与更新两条回填路径、输入路由、抽屉独立挂载点、发送失败回滚等关键分支,并逐项验证"删掉实现即变红";ToolDetailDrawer 此前没有测试文件,现已新增(#62123b5、#b5068f0)
  • 新增设计文档,记录 AskUserQuestion 答案状态修复方案与端到端验证结论(含"回填需同时覆盖更新与挂载"的根因分析),以及工具详情换行切换状态的后续计划(#94e2830、#37004a6)

完整变更日志: 查看所有变更