From b29f7228d5bacf7086b7155f24d92fffd65bda11 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 31 May 2026 01:52:17 +0800
Subject: [PATCH] Prepare 7.8.6 explicit app grid launch release

---
 TODO.md |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/TODO.md b/TODO.md
index 9f8bcd5..151204a 100644
--- a/TODO.md
+++ b/TODO.md
@@ -13,12 +13,28 @@
 
 ## Todo
 
-- [2026-05-29] 第二批:AppGrid 滚动流畅性优化。
-  - 目标: 降低滚动期间 SwiftUI 状态写入和 visible item 刷新频率,改善偶发卡顿/抖动。
-  - 验收: 滚动手感稳定;hover 气泡不在滚动中闪现;不影响标签 hover 定位和拖拽。
+- [发布后独立任务] 设置页 tab 容器 AppKit/自控化评估与实现。
+  - 决策: 当前发布前 No-Go;保留 SwiftUI `TabView`,不改 QA 脚本。
+  - 背景: QA 过程中曾观察到设置页顶部 tab 偶发折叠/消失,但目前不是稳定可复现 release blocker。
+  - 约束: 必须单独开分支、单独提交、单独构建、单独 QA、单独验收;不得混入当前 quick search/window 修复或 App Store 发布包。
+  - 改动边界: 优先只改 `Apptag/PreferencesView.swift`;不碰 `AppDelegate`、`OverlayWindowController`、窗口层级、quick search、App Grid、数据导入导出逻辑。
+  - 风险点: 需要保留 Language/General/Hotkeys/Tags/Data/About 六页行为;特别注意 `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 层级、文件面板层级、长文本语言和键盘/辅助功能导航。
 
 ## Done
 
+- [2026-05-29] 版本拆分与 7.8.1 默认图标大小调整。
+  - 提交: 本次提交
+  - 结果: `CHANGELOG.md` 已补充 `7.7.0`、`7.8.0`、`7.8.1` 三段版本记录;源码版本号更新为 `7.8.1`;新用户默认 `iconSize` 从 `80` 调整为 `64`。
+  - 范围: 只影响无既有 `iconSize` 偏好设置的新安装用户;已有用户保存过的图标大小不会被覆盖。
+  - 验证: 构建、签名、DMG 校验。
+
+- [2026-05-29] 第二批:AppGrid 滚动流畅性优化。
+  - 提交: 本次提交
+  - 结果: AppGrid 滚动期间只在滚动 burst 开始时通知 SwiftUI 清理 hover 气泡,不再每次 bounds 变化重复写状态;滚动停止后再恢复 hover replay 和 visible item runtime state。
+  - 范围: 不改布局算法、不改拖拽、不改 hover 气泡展示规则,只降低滚动期间的刷新频率。
+  - 验证: `bash build.sh`、`codesign --verify --deep --strict`、`Scripts/window_logic_qa.sh` 全部通过;滚动后 Space/Esc 连续循环 QA 保持通过。
+
 - [2026-05-29] 第一批:未分类拖拽确认记忆 + 滚动后键盘兜底。
   - 提交: 本次提交
   - 结果: “拖到未分类”弹窗新增独立“不再提醒”checkbox 和 `skipUncategorizedDropConfirm` 持久化;overlay 键盘处理增加 AppKit `sendEvent` 兜底;AppGrid 滚轮进入时重新声明 key/front,避免滚动后 Space/Esc 偶发丢失。

--
Gitblit v1.9.3