Todo 或 In Progress。In Progress。Done,补一句完成结果。TabView,不改 QA 脚本。Apptag/PreferencesView.swift;不碰 AppDelegate、OverlayWindowController、窗口层级、quick search、App Grid、数据导入导出逻辑。Tags 页 scanApps()、Data 页 refreshDataState()、语言热切换、toast/confirmation overlay、固定 880x460 布局高度和 accessibility。bash build.sh、codesign --verify --deep --strict、Scripts/window_logic_qa.sh;手工复核 6 个设置页、全屏/Split View 中 Settings 层级、文件面板层级、长文本语言和键盘/辅助功能导航。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 触发自动滚动导致的抖动。
Apptag/ContentView.swift 的 tag hover 处理,不改 App Grid 布局算法、不改拖拽、不改点击导航语义。bash build.sh 和 codesign --verify --deep --strict build/TagLauncher.app 通过;用户使用新版后确认仍有轻微小抖,但效果可接受,本轮不继续扩大修复范围。[2026-06-04] 修复新安装 App 后 App Grid / Quick Search 不能立即检索到的问题。
7.8.13 (20260604.1121) targeted 输入 notch 命中 TheBoringNotch 且无“未找到”;APP_BUILD=20260604.1121 zsh ./build.sh、签名/版本校验、Scripts/window_logic_qa.sh 全部通过。[2026-06-04] 修复 Quick Search 刚打开即被过期 dismiss 事件关闭的 QA 失败。
Fn + Space 仍立即关闭;QA 脚本对合成 Fn + Space 投递增加重试,并把结果点击坐标修正到首条结果行中心。Fn + Space 打开/关闭通过;targeted 点击 Quick Search 结果后窗口数为 0;Scripts/window_logic_qa.sh 全部通过。[2026-05-29] 版本拆分与 7.8.1 默认图标大小调整。
CHANGELOG.md 已补充 7.7.0、7.8.0、7.8.1 三段版本记录;源码版本号更新为 7.8.1;新用户默认 iconSize 从 80 调整为 64。iconSize 偏好设置的新安装用户;已有用户保存过的图标大小不会被覆盖。[2026-05-29] 第二批:AppGrid 滚动流畅性优化。
bash build.sh、codesign --verify --deep --strict、Scripts/window_logic_qa.sh 全部通过;滚动后 Space/Esc 连续循环 QA 保持通过。[2026-05-29] 第一批:未分类拖拽确认记忆 + 滚动后键盘兜底。
skipUncategorizedDropConfirm 持久化;overlay 键盘处理增加 AppKit sendEvent 兜底;AppGrid 滚轮进入时重新声明 key/front,避免滚动后 Space/Esc 偶发丢失。bash build.sh、codesign --verify --deep --strict、Scripts/window_logic_qa.sh 全部通过;新增滚动后 Space/Esc 连续循环 QA;屏幕 smoke 验证滚动后 Space 打开 Quick Search、Esc 关闭 Quick Search、再次 Esc 关闭 AppGrid。[2026-05-29] 设置页和 Smart Start 模块化。
SmartStartNoticeOverlay 已从 ContentView 拆出;设置页“应用系统智能化初始分类”的扫描、Smart Start 应用和 snapshot 组装改由 AppLibraryController 统一处理;窗口 QA 脚本同步适配 OverlayWindowController 的屏幕选择静态检查。bash build.sh、codesign --verify --deep --strict、设置页语言/通用/快捷键/标签/数据/关于六个 tab 屏幕复核、Scripts/window_logic_qa.sh 全部通过。[2026-05-29] AppLibraryController / 数据刷新管线整理。
AppLibraryController 和 AppLibrarySnapshot,把扫描、reconcile、Smart Start、annotate、Quick Search documents、标签颜色和标签顺序组装从 ContentView 的刷新路径中抽离。ContentView 只应用 snapshot 并刷新 UI。bash build.sh、codesign --verify --deep --strict、启动 App Grid 屏幕复核、Quick Search sor 索引复核、上下键复核、Scripts/window_logic_qa.sh 全部通过。[2026-05-29] OverlayWindowController 收口。
OverlayWindowController,将 overlay window 实例、generation、Space 避让、show/focus/hide 编排、panel 创建、屏幕选择、全屏/Split View 判定从 AppDelegate 中收口出去。bash build.sh、codesign --verify --deep --strict、Scripts/window_logic_qa.sh 全部通过,覆盖全屏、Split View、Settings、Force Quit、文件面板、Dock 图标重复和屏幕跟随。[2026-05-29] Quick Search 独立面板化。
NSPanel 并作为 overlay child window 显示;搜索状态、输入框、结果列表、启动逻辑保持原路径。bash build.sh、codesign --verify --deep --strict、Scripts/window_logic_qa.sh 全部通过;屏幕 QA 验证打开、输入 sor、上下键选中和 Esc 关闭均正常。[2026-05-29] Quick Search 结果列表 AppKit 化。
NSScrollView + 自绘 row;输入框、搜索逻辑、快捷键命令、外层 overlay 保持原路径。bash build.sh、codesign --verify --deep --strict、静态确认旧 SwiftUI QuickSearchResultRow 已移除;屏幕 QA 验证默认选中、上下键、滚动跟随、sor 搜到 Shottr、无结果状态、Return 启动选中结果并关闭 Quick Search。[2026-05-29] 修复 App 图标白边并清除旧图标残留。
generate_icon.py 删除旧“两张标签”生成逻辑,并增加 grid/rainbow 图标族校验,防止旧图标被重新生成。.icns、AppIcon.appiconset、Release 1024 图标、Local QA DMG;build.sh 改为优先从 AppIcon.appiconset 生成 bundle AppIcon.icns。python3 generate_icon.py、bash build.sh、codesign --verify --deep --strict、DMG 挂载检查、全项目图片/DMG 旧图标近似匹配扫描均通过;根 .icns、appiconset、Release 1024 图标、bundle/DMG 内 AppIcon 四角 alpha 均为 0。[2026-05-29] 清理或改名 AppGridItem.swift 残留。
AppGridItem.swift 已改名为 AppGridSupport.swift,文件标题改为 App Grid shared support,避免误解为旧 SwiftUI 浏览态 grid。7.6.0 (20260529.0102)、签名、静态 QA、App Grid 屏幕 smoke test 通过。[2026-05-28] 第二批 AppKit 化第 4.2 项:标签拖拽态轻微放大和更强阴影。
1.04x layer transform 做视觉放大,并进一步增强阴影和层级。7.6.0 (20260528.2343)、签名、静态 QA、顶部/左/右三种标签栏拖拽排序、视觉屏幕复核、窗口 8 逻辑 QA 全部通过;QA 后已恢复用户标签顺序和语言自动设置;用户已确认测试通过。[2026-05-28] 第二批 AppKit 化第 4.1 项:标签拖拽态浮起阴影。
7.6.0 (20260528.2312)、签名、静态 QA、顶部/左/右三种标签栏拖拽排序、视觉屏幕复核、窗口 8 逻辑 QA 全部通过;QA 后已恢复用户标签顺序和语言自动设置。[2026-05-28] 第二批 AppKit 化第 4 项:标签栏 AppKit 化第三阶段,拖拽排序。
TagEditor.reorderTags。7.6.0 (20260528.2052)、签名、静态 QA、顶部/左/右三种标签栏拖拽排序、tags.json 持久化、窗口 8 逻辑 QA 全部通过;QA 后已恢复用户标签顺序和语言自动设置。[2026-05-28] 第二批 AppKit 化第 3 项:标签栏 AppKit 化第二阶段,hover 与容器高亮。
9d87dbe[2026-05-28] 第二批 AppKit 化第 2 项:标签栏 AppKit 化第一阶段,只读导航。
b4a1ba5useAppKitTagNavigation=false 可回滚到旧 SwiftUI 标签栏。[2026-05-28] 第二批 AppKit 化第 1 项:清理 ContentView 的 App Grid 交互职责。
561541eContentView 中 App Grid 的 bubble、drag、drop、refresh toast 临时状态已收口到 AppGridInteractionState。bash build.sh、codesign --verify --deep --strict、localization JSON 解析、App Grid targeted QA、Scripts/window_logic_qa.sh 全部通过;用户已确认第 1 项 OK。[2026-05-28] 冻结发布版本并从冻结 tag 拉出新需求分支。
appstore-7.6.0-20260527.0124codex/post-freeze-new-requirement[2026-05-28] 新增“拖出容器空隙只移除来源标签”的确认逻辑。
71bfdd4、da71eb5