|
|
6379f8c729
|
feat: complete conversation versioning UX and restore workflow
|
2026-04-11 16:16:40 +08:00 |
|
|
|
3f40aa949f
|
fix: treat slash-prefixed input as normal web message
|
2026-04-11 00:52:47 +08:00 |
|
|
|
8be1c37b6a
|
refactor(frontend): 整理应用逻辑层与状态管理
|
2026-04-10 14:34:01 +08:00 |
|
|
|
90233690ad
|
feat: add json-based extensible model registry and dynamic model UI
|
2026-04-09 20:56:54 +08:00 |
|
|
|
b29e6a67f8
|
fix: keep compression toast persistent and align summary layout
|
2026-04-06 17:09:36 +08:00 |
|
|
|
7e03e3cd5f
|
feat: stabilize context compression and deep-compact flow
|
2026-04-06 15:12:25 +08:00 |
|
|
|
3328d968d5
|
fix: align /new restore and first-send routing flow
|
2026-04-05 01:22:30 +08:00 |
|
|
|
0b923d6c53
|
fix: harden polling task cancel lifecycle
|
2026-04-04 20:52:31 +08:00 |
|
|
|
8d5a034c70
|
fix(chat): recover assistant placeholder after stop and switch
|
2026-04-04 19:47:03 +08:00 |
|
|
|
b474a69b3b
|
fix: 修复停止按钮点击后不恢复为发送按钮的bug
修复了运行期间点击停止按钮后,按钮状态无法恢复的问题。
问题原因:
- stopTask() 方法中 stopRequested 被设置为 true 但未重置
- composerBusy 计算属性依赖 stopRequested 状态
- 导致按钮持续显示停止图标,需要刷新页面才能恢复
修复方案:
- 在 stopTask() 的 finally 块中重置 stopRequested 为 false
- 确保无论成功或失败,状态都能正确恢复
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-04-04 14:47:36 +08:00 |
|
|
|
de82a37958
|
fix: 修复代码块复制、事件去重、任务结束、停止按钮bug
Phase 1 关键Bug修复:
1. 代码块复制功能
- 删除 index.html 中的全局事件监听(47-53行)
- 避免与 Vue 方法的双重监听冲突
2. 事件去重机制
- 在 handleTaskEvent() 添加基于 idx 的去重检查
- 使用 Set 存储已处理的事件索引(最多1000个)
- 在 restoreTaskState() 时清理已处理事件
3. 任务结束逻辑
- 修复 handleTaskComplete() 异步状态清理问题
- 新增 clearTaskState() 统一清理方法
- 在 stopPolling() 中清除 currentTaskId
4. 停止按钮状态同步
- 改进 stopTask() 错误处理
- 添加后端确认等待(300ms)
- 确保失败时也清理前端状态
- 添加 finally 块清除 dropToolEvents
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-04-04 01:03:06 +08:00 |
|
|
|
860fa7b539
|
feat(web): remove socket dependency from main chat flow
|
2026-04-03 11:34:42 +08:00 |
|
|
|
e395c82a9f
|
fix: 优化对话压缩和复制功能
- 隐藏前端系统消息块显示
- 修复压缩对话后自动跳转到新对话
- 压缩对话标题改为"原标题 压缩后"
- 复制对话标题改为"原标题 的副本"
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-09 17:59:53 +08:00 |
|
|
|
801d20591c
|
feat: 实现 REST API + 轮询模式,支持页面刷新后任务继续执行
主要改进:
- 新增 REST API 任务管理接口 (/api/tasks)
- 实现 150ms 轮询机制,提供流畅的流式输出体验
- 支持页面刷新后自动恢复任务状态
- WebSocket 断开时检测 REST API 任务,避免误停止
- 修复堆叠块融合问题,刷新后内容正确合并
- 修复思考块展开/折叠逻辑,只展开正在流式输出的块
- 修复工具块重复显示问题,通过注册机制实现状态更新
- 修复历史不完整导致内容丢失的问题
- 新增 tool_intent 事件处理,支持打字机效果显示
- 修复对话列表排序时 None 值比较错误
技术细节:
- 前端:新增 taskPolling.ts 和 task store 处理轮询逻辑
- 后端:TaskManager 管理任务生命周期和事件存储
- 状态恢复:智能判断是否需要从头重建,避免内容重复
- 工具块注册:恢复时注册到 toolActionIndex,支持状态更新
- Intent 显示:0.5-1秒打字机效果,历史加载直接显示
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-08 03:12:46 +08:00 |
|
|
|
66b846ee37
|
refactor: split frontend app modules
|
2026-03-08 00:03:14 +08:00 |
|