Skip to content

[codex] update help and about menu - #37

Merged
ygsgdbd merged 1 commit into
mainfrom
codex/update-help-about-menu
Aug 19, 2026
Merged

ygsgdbd merged 1 commit into
mainfrom
codex/update-help-about-menu

Conversation

@ygsgdbd

@ygsgdbd ygsgdbd commented Aug 19, 2026

Copy link
Copy Markdown
Owner

问题与用户影响

TypeSwitch 原先将版本号、仓库、帮助、诊断和问题反馈平铺在一级菜单中,占用了输入法管理功能的可见空间。版本号本身不可点击,同时更新检查只能由用户手动触发,无法在不打断用户的情况下提示新版本。

根因

应用直接把所有支持入口放在 AppInfoView 根层级,并让 Sparkle 使用默认的交互式检查入口。项目没有长期持有的更新状态对象,也没有接管 Sparkle 的 scheduled update 展示流程,因此无法把后台检查结果转换成菜单状态,同时抑制自动弹窗。

修改内容

  • 新增 SparkleUpdateMonitor,管理空闲、检查中和发现新版本三种状态,并保存 Sparkle appcast 提供的显示版本号。
  • 启用启动及定时静默检查,通过 gentle scheduled update delegate 接管后台更新展示;后台只更新菜单状态,只有用户点击更新入口才打开 Sparkle 标准窗口。
  • 显式禁用自动下载与自动安装能力。
  • 将版本仓库链接、开发者主页、帮助、诊断信息和问题反馈收进“帮助与关于”子菜单。
  • 让 TypeSwitch v版本号 打开项目仓库,让开发者菜单打开作者 GitHub 主页。
  • 更新简体中文、繁体中文、英文和 Base 本地化及对应测试。
  • 同步 README、CHANGELOG、隐私说明和中英文明暗模式菜单截图。
  • 保持 XCTest 与 README 演示模式不启动 Sparkle 更新器,避免测试和截图过程联网。

验证

  • rtk just check
    • SwiftFormat lint 通过
    • 142 项 XCTest 全部通过
    • 发布脚本测试通过
  • git diff --check 通过
  • 已核对 Sparkle 2.9.6 的 gentle scheduled update delegate 生命周期。

@ygsgdbd
ygsgdbd marked this pull request as ready for review August 19, 2026 09:05
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@ygsgdbd
ygsgdbd enabled auto-merge (squash) August 19, 2026 09:05
@ygsgdbd
ygsgdbd merged commit 6c09ec9 into main Aug 19, 2026
3 checks passed
@ygsgdbd
ygsgdbd deleted the codex/update-help-about-menu branch August 19, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant