Ariver
2026-06-19 39e759d015af5d82f387b57a8d137bdeb844d430
src/TODO.md
@@ -23,6 +23,24 @@
## Done
- [2026-06-11] 7.9.0 容器内 App 手动拖拽排序。
  - 结果: 同一容器内拖动 App 可改变显示顺序;排序保存为分类与布局方案的一部分,刷新、重启、语言切换、导入导出、恢复上一方案和 SmartStart 替换按统一规则保留、迁移或清理。
  - 范围: 新增稳定 `containerAppOrder`、容器 ID、排序持久化 helper、分类方案 fingerprint、App Grid 同容器插入位置提示和 `ContentView` 保存回调;跨容器移动、Option 复制、拖空白移除、Apple 内置保护、Quick Search 排名均不改。
  - 文档: `../docs/7.90/README.md`、`../docs/7.90/01-容器内App手动排序-TODO.md`、`../docs/7.90/07-实现与QA记录.md`。
  - 验证: `Scripts/app_ordering_data_qa.sh`、macOS 14 typecheck/build metadata、Quick Search 名称回归、SmartStart catalog QA、`Scripts/window_logic_qa.sh` 通过。
  - 版本: `7.9.0 (20260611.2212)`。
- [2026-06-09] 多语种 App 显示名通用加固。
  - 结果: 新增统一 `AppDisplayNameResolver`;App Grid 与 Quick Search 标题优先走当前语种/同语系/系统可见名/英文官方名/基础 bundle 名 fallback,内部 bundle 名和 bundle id 只作为搜索别名;`7.8.26` 进一步加固 `/Wrapper/`、`/Contents/Helpers/`、`.app/.../*.app` 内部 helper 过滤。
  - 范围: `AppInfo` 增加系统显示名与 bundle 显示名候选;App 扫描层和 Quick Search 文档层都过滤内部 helper;Quick Search 文档使用 resolver 生成别名;版本更新为 `7.8.26 (20260609.2004)`。
  - 不改范围: 未做第三方 App 名称机器翻译,未改 Quick Search 排名算法、App Grid 布局、窗口层级或 Smart Start 分类规则。
  - 验证: `APP_BUILD=20260609.2004 bash build.sh`、`codesign --verify --deep --strict src/build/TagLauncher.app`、`Scripts/quick_search_app_name_qa.sh`、`Scripts/quick_search_system_app_qa.sh` 通过;构建产物 Info.plist 为 `7.8.26 (20260609.2004)`。
- [2026-06-09] 修复首安 Smart Start 提示确认后 App Grid 消失的问题。
  - 结果: Smart Start 自动整理完成提示出现期间会抑制 AppKit 级 backdrop dismiss;点击“OK/好的”只关闭提示弹窗,不再关闭整个 App Grid。
  - 范围: 只改 `ContentView.swift` 的 modal interaction 发布状态,不改 Smart Start 分类规则、不改 App Grid 布局、不改窗口层级。
  - 验证: `APP_BUILD=20260609.1221 bash build.sh`、`codesign --verify --deep --strict build/TagLauncher.app`、版本/build/category 检查、Apple 默认资源 QA、SmartStart catalog QA 通过;首安真实点击路径待最终视觉验收。
- [2026-06-08] 修复 App Grid 顶部 tag hover 触发自动滚动导致的抖动。
  - 结果: hover 只保留 tag 高亮/填色,不再自动滚动;点击 tag 仍滚动到对应分组。
  - 范围: 只改 `Apptag/ContentView.swift` 的 tag hover 处理,不改 App Grid 布局算法、不改拖拽、不改点击导航语义。