7.9 排序交付
用户目标
- 基于已确认的 7.9.0 TODO 和基线文档,实现“容器内 App 可拖动改变默认显示顺序”。
- 正式动代码前做好前序代码总结和 Git 管理。
- 完成后先由 QA 自动化验收,全部通过后再汇报。
已完成事项
- 创建开工前基线提交
e08ca36,并创建 tag pre-7.9-app-ordering-20260611.2110。
- 实现同容器 App 手动排序,版本更新为
7.9.0 (20260611.2212)。
- 创建功能提交
a1ade5e Add 7.9 app ordering support。
- 生成并归档验收候选 DMG:
src/Release/Acceptance-7.9.0-20260611.2212/Archive/TagLauncher-7.9.0-build20260611.2212.dmg。
- 创建 release 记录提交
2b5cb91 Record 7.9 acceptance package。
- 创建 release tag
v7.9.0-build20260611.2212,指向功能源码提交 a1ade5e。
关键决策
- 排序作为“分类与布局方案”的一部分保存,不改变 App 标签归属。
- 使用稳定容器 ID 保存排序,不依赖本地化显示名。
- 第一版只支持同容器排序;跨容器移动、Option 复制、拖空白移除、Apple 内置保护、Quick Search 排名保持原逻辑。
- 代码复审发现的同容器 near-edge empty drop、Apple 内置同容器 no-op warning、文档路径大小写问题均已修复。
文件变更
- 核心代码:
src/Apptag/DataLayer.swift、AppGridCollectionView.swift、AppDragCoordinator.swift、ContentView.swift、AppLibraryController.swift、SmartStartService.swift、ApptagApp.swift。
- QA:新增
src/Scripts/app_ordering_data_qa.sh,并稳定 src/Scripts/window_logic_qa.sh。
- 文档:
docs/7.90/*、src/CHANGELOG.md、src/TODO.md、src/Release/Acceptance-7.9.0-20260611.2212/*。
QA 结论
Scripts/app_ordering_data_qa.sh:PASS。
Scripts/macos14_availability_typecheck_qa.sh:PASS。
Scripts/macos14_build_metadata_qa.sh:PASS。
Scripts/quick_search_app_name_qa.sh:PASS。
Scripts/quick_search_system_app_qa.sh:PASS。
Scripts/smartstart_catalog_resource_qa.sh:PASS。
Scripts/window_logic_qa.sh:PASS。
hdiutil verify、DMG 挂载内容检查、App 版本/build 检查、codesign --verify --deep --strict:PASS。
未决问题
docs/index.html 和 Docs/KM02-技术/ 仍是未纳入本轮提交的既有无关现场。
- 7.9.0 DMG 仍需用户真实拖拽手感验收,尤其是插入线是否符合预期。