Skip to content

fix(chat): 修复多轮对话中历史助手回复缺少复制按钮 #666 - #596

Merged
syzsunshine219 merged 23 commits into
MemTensor:v1.2.3from
zxr19980213:codex/fix-historical-reply-copy-v1.2.2
Oct 12, 2026
Merged

syzsunshine219 merged 23 commits into
MemTensor:v1.2.3from
zxr19980213:codex/fix-historical-reply-copy-v1.2.2

Conversation

@zxr19980213

Copy link
Copy Markdown
Collaborator

问题

连续完成多轮对话后,只有最后一轮助手回复显示复制按钮,历史回复即使悬停也无法复制。

原因是渲染逻辑只选取整个会话的最后一条助手回复,而非每轮的最终回复。

修复

  • 按用户消息划分轮次,为每轮最终助手回复保留复制按钮。
  • 当前轮仍在生成时,历史已完成回复保持可复制。
  • 继续排除流式生成中的文本、中间回复和工具活动,保留用户停止后的部分回复复制能力。
  • 新增 6 个回归用例,覆盖多轮对话、生成状态、中间活动过滤及复制原始文本。

验证

  • 手动在开发版完成多轮对话,确认历史回复可正常复制。
  • 根目录 npm test:5,463 通过,114 跳过。
  • Agent 完整套件:5,601 通过,3 跳过。
  • 补充打包、安装及 smoke 计划测试:45 通过。
  • 前端类型检查及修改文件的 ESLint 检查通过。

所有已执行测试最终无失败;根目录统计包含脚本重复运行的 Memory 测试。

Orsted290 and others added 23 commits September 28, 2026 20:56
Preserve complete extraction for PDF and Office documents and return bounded chunks with continuation offsets. Select PDF pages before pagination and keep continuation hints within the tool result budget.

Add regression fixtures, runtime recovery checks, reproducible benchmarks, and isolated account-model review scripts. Record 140 passing tests, typecheck results, and three successful live synthetic scenarios. Leave plain-text pagination and extraction caching outside this change.
A trailing newline was shown as an extra blank line, so patches against one-line memory files failed to match.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the long-document fix limited to the runtime change and its tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
Synchronize the main branch code to the v1.2.0 branch
App updates left previously installed Cursor, Claude Code, and Codex hooks on the first-install script. Startup now compares the stored hook fingerprint and reinstalls when it is missing or stale.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the hook revision test beside the Cursor resume test renamed on v1.2.1.

Co-authored-by: Cursor <cursoragent@cursor.com>
DeepSeek Harness no longer accepts a generic plugin message source, and completed assistant turns are recorded as assistant/message.

Co-authored-by: Cursor <cursoragent@cursor.com>
DeepSeek Harness rejects official model requests when an enabled plugin manifest has no version.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix(dsh): restore Memmy plugin activation across supported DSH tags
fix: remove legacy memory embedding config
A stored fingerprint no longer counts as current unless the on-disk script and bridge match it, and the fingerprint is recorded only after the rest of the install succeeds.

Co-authored-by: Cursor <cursoragent@cursor.com>
Send account identity with plugin and scan events, and coerce boolean params so GA4 keeps the events.
fix(analytics): report each newly stored memory once
…ding

fix(documents): 支持长文档分段续读
…ry-repair-queue

fix: deprioritize startup summary repairs
@zxr19980213
zxr19980213 requested a review from ZongYue99 as a code owner October 9, 2026 09:54
@syzsunshine219
syzsunshine219 changed the base branch from v1.2.2 to v1.2.3 October 12, 2026 11:41
@syzsunshine219
syzsunshine219 merged commit 8f1b045 into MemTensor:v1.2.3 Oct 12, 2026
1 check passed
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.

6 participants