Skip to content

v1.5.3 Quality Patch first round#87

Merged
weidonglang merged 11 commits into
mainfrom
feature/v1.5.3-quality-patch
Jun 28, 2026
Merged

v1.5.3 Quality Patch first round#87
weidonglang merged 11 commits into
mainfrom
feature/v1.5.3-quality-patch

Conversation

@weidonglang

Copy link
Copy Markdown
Owner

Summary

DevEnv Manager v1.5.3 第一轮 Quality Patch:补齐剩余功能闭环,不发布 Release,不打 tag,不修改 update-manifest 版本或发布说明。

完成的 issue

本轮补齐:#61#62#63#65#67#69#70#78#79#80

同一分支内已推进并保持:#60#64#66#68#71#72#74

修改文件

  • tauri/src-tauri/src/mysql_repair.rs
  • tauri/src-tauri/src/lib.rs
  • tauri/src-tauri/src/cleanup/duplicates.rs
  • tauri/src-tauri/src/cleanup/large_files.rs
  • tauri/src-tauri/src/cleanup/mod.rs
  • tauri/src/main.ts
  • tauri/src/styles.css

主要变更

  • MySQL 修复中心增加结构化诊断结论、误报抑制、backup manifest 展示与高危修复前校验。
  • Python Store Alias / pip / PATH 诊断补齐恢复入口和只读诊断报告;chsrc 缺失时展示安装命令、官方入口和单项镜像 fallback。
  • JDK 候选区分 Managed、External、SystemInstaller、Scoop、Chocolatey、Mise、Asdf、IdeBundled、Unknown,并避免把外部/IDE/包管理器 JDK 当成受管版本删除或接管。
  • 页面帮助说明支持按页面默认折叠偏好,首次默认展开,配置异常时回退展开。
  • 大文件/重复文件扫描支持进度事件、取消请求、访问/候选/hash 数量提示;重复文件扫描按大小、quick hash、full hash 三段确认。
  • 打开分析路径时支持文件选中和缺失路径重新扫描提示。
  • 统一脱敏 doctor report、JSON 导出、端口 commandLine、Python 诊断等路径,覆盖 token/password/Bearer/Windows 用户目录/嵌套 JSON。

测试结果

  • cargo test --lib:107 passed
  • cargo clippy --all-targets -- -D warnings:passed
  • npm run build:passed
  • py -3 scripts\check_repo_hygiene.py:passed

未完成项

  • 按任务书要求,本 PR 不发布 Release,不打 tag,不修改 update-manifest 到 1.5.3,不关闭 issue。
  • GitHub Actions / CI 结果仍需等待。

下一轮计划

  • 等 CI 通过后,按实际验证结果回填或关闭已完成子 issue。
  • 第二轮再处理 v1.5.3 发布说明、update-manifest、tag 和 Release。
  • 需要时补一轮真实 Windows 环境手测记录,覆盖 MySQL、Python Store Alias、JDK 候选和大文件/重复文件扫描取消。

@weidonglang weidonglang marked this pull request as ready for review June 28, 2026 02:35
@weidonglang weidonglang merged commit 44763a6 into main Jun 28, 2026
1 check passed
This was referenced Jun 28, 2026

Copy link
Copy Markdown
Owner Author

QA 发现:#62 / #79 仍有桌面急救大文件定位体验缺口,合并前需要补齐

结合最新试用反馈,当前 PR 虽然已经推进了 #62#79,但桌面急救 / 大文件扫描仍存在一个用户强感知问题:

现象

  • 桌面急救搜索出大文件后,仍然没法稳定打开该大文件的具体所在位置。
  • 用户希望不是只看到汇总卡片,而是能列出搜索到的大文件的详细位置和信息。
  • “打开目录”应该定位到具体文件或至少打开该文件所在父目录,而不是只打开桌面、下载目录或扫描根目录。

需要补齐的验收要求

  1. 大文件扫描结果必须有明细列表,而不是只有分类汇总。
  2. 每条大文件记录至少展示:
    • 文件名
    • 完整路径,UI 可折叠/省略但必须可复制
    • 所在目录
    • 文件大小
    • 修改时间
    • 文件类型/扩展名
    • 来源分类,例如桌面、下载、截图、压缩包、视频、临时文件、超过 30 天未修改等
    • 是否仍存在
    • 是否可打开/可定位
  3. 每条明细提供操作:
    • 打开所在目录
    • 在资源管理器中选中文件,优先使用 explorer /select
    • 复制完整路径
    • 复制所在目录
    • 重新扫描
  4. 如果文件不存在、被移动、无权限或云盘占位文件未下载,UI 要明确提示原因,不要静默失败。
  5. 分类卡片点击“查看明细”时,应显示该分类下 Top N 文件,而不是只打开总目录。
  6. 对大文件、截图、压缩包、重复文件、超过 30 天未修改文件都要复用同一套“文件明细 + 精确定位”体验。
  7. 表格或列表不能被超长路径撑爆,路径需要 ellipsis + tooltip / drawer,完整路径放详情或复制按钮。

不要做什么

  • 不要自动删除文件。
  • 不要自动移动桌面/下载文件。
  • 不要把点击“打开目录”加入清理计划。
  • 不要读取文件内容。
  • 不要扫描或展示敏感目录内容。

建议实现

  • 后端大文件扫描结果返回 LargeFileItem[],字段包含 path、parentDir、name、sizeBytes、modifiedAt、extension、category、exists、openable、reason。
  • 前端在 C 盘急救 / 桌面急救里增加“明细列表 / Top N 大文件”区域。
  • open_analysis_path 对文件路径优先执行 explorer select;失败时 fallback 到父目录,并给出明确 toast。
  • 增加测试:文件路径存在时打开父目录/选中文件逻辑走文件分支;路径不存在时提示“可能已移动或删除,请重新扫描”。

这个问题建议作为 PR #87 合并前的 QA blocker 处理,至少要保证“大文件明细列表 + 每条记录打开具体位置/复制路径”完成后再进入 release 收口。

Copy link
Copy Markdown
Owner Author

新增 QA Blocker Issue:#89

已根据最新真实复测反馈创建集中 QA blocker:#89

范围包括:

  • 安全模式自身触发 plugin:dialog|confirm not allowed by ACL,且安全模式提示无法关闭。
  • 桌面急救 / 大文件扫描仍不能稳定定位具体文件,缺少大文件明细列表。
  • 首页迁移状态模块不再需要,应替换为版本更新 / 检查更新位置,并默认启动检查。
  • 页面帮助仍然太浅,且“这个页面怎么用?”与命令面板功能边界重复。
  • MySQL 修复中心排版严重拥挤,证据字段被挤成竖排,截图中难以阅读。
  • 本机环境发现分页时布局上下跳动,需要固定列表骨架。
  • 外部 JDK 仍不能验证 java / javac / jar,也不能作为外部候选切换 / 设置。
  • 环境医生“安全修复”看起来没有实际效果,需要修复计划预览和结果明细。
  • 普通完成类通知,例如“环境诊断完成”,应 5 秒后自动消失。
  • 端口管理的“1冲突”缺少判断依据;大量常见进程仍未识别,应补进程识别库并对 unknown 做进一步分析。

建议:PR #87 暂不进入最终 release 收口,先按 #89 完成 P0/P1 复测问题,尤其是安全模式 ACL 报错、桌面急救大文件明细、MySQL 排版、外部 JDK 验证和端口识别解释。

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