From 6478431003fb31889825145ceb9180dcd4317494 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Thu, 04 Jun 2026 01:13:46 +0800
Subject: [PATCH] Add 7.8.12 App Store candidate DMG

---
 Release/AppStore-7.8.12-20260604.0105/Archive/TagLauncher-7.8.12-build20260604.0105.dmg |    0 
 Release/AppStore-7.8.12-20260604.0105/QA_RELEASE_EVIDENCE.md                            |   56 ++++++++++++++++++
 Release/AppStore-7.8.12-20260604.0105/SHA256SUMS.txt                                    |    1 
 Release/AppStore-7.8.12-20260604.0105/README.md                                         |   38 ++++++++++++
 Release/AppStore-7.8.12-20260604.0105/RELEASE_MANIFEST.md                               |   56 ++++++++++++++++++
 5 files changed, 151 insertions(+), 0 deletions(-)

diff --git a/Release/AppStore-7.8.12-20260604.0105/Archive/TagLauncher-7.8.12-build20260604.0105.dmg b/Release/AppStore-7.8.12-20260604.0105/Archive/TagLauncher-7.8.12-build20260604.0105.dmg
new file mode 100644
index 0000000..231b0e2
--- /dev/null
+++ b/Release/AppStore-7.8.12-20260604.0105/Archive/TagLauncher-7.8.12-build20260604.0105.dmg
Binary files differ
diff --git a/Release/AppStore-7.8.12-20260604.0105/QA_RELEASE_EVIDENCE.md b/Release/AppStore-7.8.12-20260604.0105/QA_RELEASE_EVIDENCE.md
new file mode 100644
index 0000000..f0ed05c
--- /dev/null
+++ b/Release/AppStore-7.8.12-20260604.0105/QA_RELEASE_EVIDENCE.md
@@ -0,0 +1,56 @@
+# QA Release Evidence
+
+## Scope
+
+本次验证对象是 TagLauncher 7.8.12 build 20260604.0105 的正式可回滚测试包 / App Store 候选 DMG。
+
+重点覆盖本轮修复:
+
+- Quick Search-only 模式刚打开后不应被过期鼠标关闭事件立即关掉。
+- `Fn + Space` 打开 Quick Search 后,候选面板应稳定留在屏幕上。
+- 键盘取消、再次按 `Fn + Space`、程序化关闭仍应立即生效。
+- Quick Search 结果点击验证应命中首条结果行中心。
+
+## 自动/半自动验证
+
+### 源码冻结前验证
+
+- `git diff --check`:通过
+- `bash -n Scripts/window_logic_qa.sh`:通过
+- `bash Scripts/window_logic_qa.sh`:通过,结论 `ALL WINDOW LOGIC QA PASSED`
+
+### Targeted 验证
+
+- 两段式 `Fn + Space` 验证:第一次打开后窗口数为 2,再次按 `Fn` 后窗口数为 0;第二次重启后第一次尝试窗口数为 2。
+- 诊断日志验证:Quick Search 关闭来源为 `keyboard`,不是误触发的 `mouse`。
+- Quick Search 结果点击验证:点击首条结果行中心后窗口数为 0。
+- 验证后已清理 `diagnosticLoggingEnabled` defaults。
+
+### 构建验证
+
+- `APP_BUILD=20260604.0105 zsh ./build.sh`:通过
+- `zsh ./make_dmg.sh`:通过
+- 生成 DMG:`build/TagLauncher-7.8.12-build20260604.0105.dmg`
+
+### 包验证
+
+- App version:`7.8.12`
+- App build:`20260604.0105`
+- `codesign --verify --deep --strict build/TagLauncher.app`:通过
+- `hdiutil verify build/TagLauncher-7.8.12-build20260604.0105.dmg`:通过
+- DMG 挂载检查:通过
+- DMG 内含 `TagLauncher.app`
+- DMG 内含 `Applications -> /Applications`
+- 挂载后 App version/build 与预期一致
+- 挂载后 App 签名验证通过
+- SHA256:`f93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a`
+
+## 代码路径核对
+
+- 本轮只修改 Quick Search dismiss 事件来源标记、早期鼠标/backdrop dismiss 去抖和窗口 QA 脚本。
+- 没有修改 Quick Search 搜索匹配、App Grid 布局、Settings、文件面板或窗口层级策略。
+- `keyboard`、`programmatic` 来源的关闭请求不走延迟,避免影响 Esc、再次按 `Fn + Space` 和应用失焦等路径。
+
+## 未重复执行项
+
+- 本轮已重新执行完整窗口逻辑 QA 脚本;没有刻意跳过相关窗口/Space/快捷键回归。
diff --git a/Release/AppStore-7.8.12-20260604.0105/README.md b/Release/AppStore-7.8.12-20260604.0105/README.md
new file mode 100644
index 0000000..4c3363b
--- /dev/null
+++ b/Release/AppStore-7.8.12-20260604.0105/README.md
@@ -0,0 +1,38 @@
+# TagLauncher 7.8.12 App Store 候选 DMG
+
+生成时间:2026-06-04 01:12:12 HKT
+
+## 包信息
+
+- 产品:TagLauncher
+- 类型:正式可回滚测试包 / App Store 候选 DMG
+- 版本:7.8.12
+- Build:20260604.0105
+- 源码分支:codex/fix-quick-search-focus-routing
+- 源码提交:be83948fab7b643634ede2403abdca27e6b45f29
+- 冻结 tag:v7.8.12-build20260604.0105
+
+## 安装包
+
+- DMG:Archive/TagLauncher-7.8.12-build20260604.0105.dmg
+- SHA256:f93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a
+- 大小:5991391 bytes
+
+## 本版本变更
+
+- 修复 Quick Search-only 模式刚打开后可能被过期鼠标关闭事件立即关掉的问题。
+- `Fn + Space` 打开后候选面板保持稳定,键盘取消和再次按 `Fn + Space` 仍可立即关闭。
+- 窗口 QA 增加对合成 `Fn + Space` 投递的重试,并把 Quick Search 结果点击坐标修正到首条结果行中心。
+- 本次只收敛 Quick Search 打开/关闭时序和 QA 覆盖,不改搜索匹配、App Grid 布局、Settings、文件面板或窗口层级策略。
+
+## 回滚方式
+
+如需回滚到本包对应源码状态:
+
+```bash
+git checkout v7.8.12-build20260604.0105
+APP_BUILD=20260604.0105 zsh ./build.sh
+zsh ./make_dmg.sh
+```
+
+如需直接恢复安装包,使用本目录 `Archive/` 下的 DMG。
diff --git a/Release/AppStore-7.8.12-20260604.0105/RELEASE_MANIFEST.md b/Release/AppStore-7.8.12-20260604.0105/RELEASE_MANIFEST.md
new file mode 100644
index 0000000..26f2c22
--- /dev/null
+++ b/Release/AppStore-7.8.12-20260604.0105/RELEASE_MANIFEST.md
@@ -0,0 +1,56 @@
+# Release Manifest
+
+## Identity
+
+- Product: TagLauncher
+- Package kind: formal rollback test package / App Store candidate DMG
+- Version: 7.8.12
+- Build: 20260604.0105
+- Generated at: 2026-06-04 01:12:12 HKT
+- Branch: codex/fix-quick-search-focus-routing
+- Source commit: be83948fab7b643634ede2403abdca27e6b45f29
+- Release tag: v7.8.12-build20260604.0105
+
+## Artifact
+
+- Build artifact: build/TagLauncher-7.8.12-build20260604.0105.dmg
+- Archived artifact: Release/AppStore-7.8.12-20260604.0105/Archive/TagLauncher-7.8.12-build20260604.0105.dmg
+- SHA256: f93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a
+- Size: 5991391 bytes
+
+## Build Commands
+
+```bash
+APP_BUILD=20260604.0105 zsh ./build.sh
+zsh ./make_dmg.sh
+mv build/TagLauncher.dmg build/TagLauncher-7.8.12-build20260604.0105.dmg
+```
+
+## Verification Commands
+
+```bash
+/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' build/TagLauncher.app/Contents/Info.plist
+/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' build/TagLauncher.app/Contents/Info.plist
+codesign --verify --deep --strict build/TagLauncher.app
+hdiutil verify build/TagLauncher-7.8.12-build20260604.0105.dmg
+shasum -a 256 build/TagLauncher-7.8.12-build20260604.0105.dmg
+```
+
+## Verification Results
+
+- App version check: passed, returned `7.8.12`
+- App build check: passed, returned `20260604.0105`
+- Code signing verification: passed
+- DMG verification: passed
+- DMG mount metadata check: passed
+- DMG contains `TagLauncher.app`
+- DMG contains `Applications -> /Applications`
+- Mounted App version/build matched expected values
+- Mounted App code signing verification: passed
+- Full window logic QA: passed, returned `ALL WINDOW LOGIC QA PASSED`
+- SHA256 recorded: `f93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a`
+
+## Rollback Reference
+
+- Rollback source reference: `v7.8.12-build20260604.0105`
+- Rollback artifact reference: `Archive/TagLauncher-7.8.12-build20260604.0105.dmg`
diff --git a/Release/AppStore-7.8.12-20260604.0105/SHA256SUMS.txt b/Release/AppStore-7.8.12-20260604.0105/SHA256SUMS.txt
new file mode 100644
index 0000000..d7049a4
--- /dev/null
+++ b/Release/AppStore-7.8.12-20260604.0105/SHA256SUMS.txt
@@ -0,0 +1 @@
+f93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a  Archive/TagLauncher-7.8.12-build20260604.0105.dmg

--
Gitblit v1.9.3