Skip to content

fix(selection): 拒绝用截断选区覆盖原文 - #1151

Merged
H-Chris233 merged 1 commit into
betafrom
cursor/critical-bug-identification-39a0
Oct 7, 2026
Merged

H-Chris233 merged 1 commit into
betafrom
cursor/critical-bug-identification-39a0

Conversation

@cursor

@cursor cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

摘要

Fixes #无对应 issue。

选区超过 4000 字时,捕获结果只保留头尾摘要,但粘贴仍覆盖整段真实选区,中间原文会被删掉。

修复 / 新增 / 改进

  • 选区润色和选区语音在开始替换前拒绝 omits_middle 的捕获。
  • 粘贴前再拒绝固定长度的头尾摘要,并且校验改为比较完整原文,摘要不能再被当成原选区。
  • 速记 / 问答仍可把摘要当作上下文,不会把它粘回文档。

兼容

  • 不包含:依赖、协议、设置项或数据迁移。
  • 对现有用户 / 本地环境 / 构建流程的影响:超过 4000 字的选区润色和选区语音会直接停止并提示,不再替换文档。4000 字以内的选区行为不变。

测试计划

  • 命令:用与 selection.rs 相同的截断函数做独立断言(超长选区会标记并与完整原文不相等;恰好 4000 字保留全文;普通文本里的截断标记不会被误判)。
  • 结果:断言通过。仓库内 selection::tests 已补上同样用例。
  • 证据路径:当前 Linux 环境无法编译 Tauri 桌面目标(该目标已改由 egui 承担,且缺少 macOS/Windows 专用依赖),因此没有跑完整 cargo test --lib selection::tests::。
Open in Web View Automation 

超过 4000 字的选区会被收成头尾摘要。校验又按同样的方式截断后再比较,因此摘要能通过检查,整段粘贴会删掉中间原文。选区润色和选区语音现在拒绝这种摘要,粘贴前也不再把截断文本当成原文。

Co-authored-by: lubaiqing9 <lubaiqing9@gmail.com>
@H-Chris233 H-Chris233 self-assigned this Oct 7, 2026
@H-Chris233

Copy link
Copy Markdown
Collaborator

我来认领这个 PR 的代码审查,避免重复工作。接下来会基于最新 beta 与当前 PR head,检查需求符合度、实现正确性和回归风险。

@H-Chris233
H-Chris233 marked this pull request as ready for review October 7, 2026 08:47
@H-Chris233
H-Chris233 merged commit 03e5b17 into beta Oct 7, 2026
7 checks passed
@appergb
appergb deleted the cursor/critical-bug-identification-39a0 branch October 18, 2026 01:42
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.

2 participants