Repository navigation
Pulse 29.0.0
29.0.0 — Lean(减)
维护者的原则:简洁、优雅、易用;不考虑旧版本。 这一版几乎只做减法 —— 一个状态灯不该有那么多开关。
能交给 macOS 的交给 macOS,能删的删掉,留下的每一样都更好用。
删掉的
- 更新检查 → 设置页脚只剩「版本发布…」,在浏览器里打开 Releases 页。Pulse 不再发起任何网络连接(门禁把守)。
- 全局快捷键 → 在 Spotlight / Raycast 里再打开 Pulse 就是打开托盘;想要按键,用启动器给它设。
- 按 Agent 静音、通知开关 → 交给 macOS 的通知设置与专注模式。
- 语言选择器 → 界面语言跟随系统。
- 终端自动化开关与「开启」按钮 → 总是尝试确切落地;第一次前往时 macOS 自己的「自动化」询问就是同意。
- 「卸载 Pulse…」按钮 → 卸载步骤写在 README;逐个 Agent 的安装 / 移除按钮 → 只留「全部安装」「全部移除」。
- 汇总横幅 → 一个等待一条横幅,按会话归入各自的通知线程。
- 「Dismiss / Ignore」 → 处处统一为「忽略」。设置卡上的「登录时打开」复选框也删了(登录项只在设置里)。
- 所有旧版本兼容:旧 LaunchAgent 的迁移、设置迁移、旧 hook 标记的识别、旧文件清理,全部删除。
改了的
- 托盘是系统的
NSPopover:系统材质、箭头指着按钮、点外面就关,不再自己画面板。 - 一种灯:菜单栏、托盘行、计数与提示用同一个
Lamp。 - 时长交给系统格式化:一个单位、向下取整;不到一分钟一律写「刚刚」。
- 事件日志协议 v6(10 列,去掉保留的空列)。表头不是 v6 的旧日志不读、不迁移:首次启动时清空,从新日志开始。
- 文档、门禁与测试只留守住真事实的部分:删除场景表与它的门禁、changelog 归档;观测矩阵并入 EXPERIENCE,
安装政策并入 vendor-formats,落地说明并入 architecture;删掉只钉实现的测试(尺寸预算、夹具清单、历史标签)
并合并重复的,每张行为真值表都保留。
数字
| 28.0.0 | 29.0.0 | |
|---|---|---|
PulseApp 代码行 |
12,735 | 10,253 |
PulseApp 源文件 |
48 | 33 |
文案键(L10n.Key) |
196 | 133 |
文档(.md,不含 CHANGELOG) |
11 个 · 6,923 行 | 6 个 · 1,056 行 |
| 测试代码行 | 7,925 | 7,590 |
已知限制 / 注意
- 没有在真机上跑过。 只在 CI(macos-26)上编译和测试。弹出框在配件型 App 里能否拿到键盘焦点、关掉后焦点
是否交还给原来的 App、行的高亮、弹出框的尺寸,都需要一台真的 Mac 确认。 - 升级的人请注意:
- 旧的
events.tsv会在首次启动时被清空:已经开着的等待、上一步与标题从新事件重新开始。 - 很老的 Pulse 用旧标记写下的 hook 条目不再被认出,「全部移除」不会动它们 —— 请在各 Agent 的配置里手动删掉。
- 用过全局快捷键、按 Agent 静音或语言选择器的,这些设置没有了。
- 旧的
- 仍是 ad-hoc 签名、未公证的
preview包。
Gatekeeper
This build is ad-hoc / unnotarized (no Apple Developer ID in CI).
About stays preview — it is not Gatekeeper-ready and must not be
described as notarized stable. First open: drag Pulse to Applications and
open it once; when macOS blocks it, go to System Settings → Privacy &
Security, scroll to Security and click Open Anyway. Or, in Terminal:
xattr -dr com.apple.quarantine /Applications/Pulse.app.
(macOS 15 removed the Control-click → Open shortcut.)
Download verification
7e365b788e6e56c8e7eb6632f68b7f14a0ea6a221279dd9e260edf8ad1772e90 pulse-29.0.0-macos-PulseBar.dmg