Skip to content

最终维护:修复字符级对比并明确项目边界 - #1

Draft
Dreamtale235 wants to merge 1 commit into
masterfrom
agent/final-maintenance
Draft

最终维护:修复字符级对比并明确项目边界#1
Dreamtale235 wants to merge 1 commit into
masterfrom
agent/final-maintenance

Conversation

@Dreamtale235

Copy link
Copy Markdown
Owner

变更

  • 重写字符级比较的跨行对齐,保持原始行边界并统一新增/删除统计口径
  • 修复单侧空文本被当作一条空行的问题
  • 在页面中补充本地处理、联网依赖及 Office 格式边界提示
  • 更新 README 和项目文档,明确项目进入仅修复严重缺陷的维护状态
  • 增加 .gitignore,避免提交本机 .claude 配置

原因

原实现先对全文执行字符级 LCS,再分别处理插入和删除的换行符。遇到跨行修改时,同一处变化可能触发两次行输出,导致左右行错位;统计逻辑也只识别纯新增或纯删除行,使修改行被误计为未变或漏计新增。

用户影响

按字模式现在能稳定保留原始行边界,修改行与按行模式采用一致的统计口径;纯新增和纯删除不再出现幽灵空行。页面也明确说明 DOCX/Excel 只提取文本、解析库首次加载需要联网,避免把工具误解为完整 Office 格式比较或严格离线软件。

验证

  • 多行中文修改:+2 新增 / -1 删除 / =2 未变,左右各 4 个对齐结果行
  • 单侧空文本:纯新增 +1/-0,纯删除 +0/-1,按行与按字一致
  • 6,000 字符整段替换:+1/-1,约 159 ms
  • 5,000 行单行修改:+1/-1/=4999,约 431 ms
  • Markdown 文件上传成功;Mammoth.js 与 SheetJS 正常加载
  • 390 px 视口无横向溢出,输入和结果均为单栏
  • 浏览器控制台 0 errors / 0 warnings
  • index.htmldiff-checker.html SHA-256 完全一致
  • git diff --check 通过;文件保持 UTF-8 无 BOM、CRLF

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