Releases: Wooden-Robot/ActionHalo
Release list
v0.3.33
v0.3.33
- 修复 macOS 12 上 Search in Telegram 已跳转到 Telegram、但选中文字未进入搜索框的问题:将临时剪贴板保留到粘贴消费完成后再恢复,同时继续保护期间产生的用户新复制内容。- 对完整包指纹精确匹配的 v0.3.32 官方旧副本自动改用 App 内置新版;旧文件不会被删除或覆盖,任何脚本、配置、额外文件或权限改动都会继续保留用户版本。
- Fixed Search in Telegram opening Telegram without inserting the selected text on macOS 12 by keeping the temporary clipboard alive until the paste is consumed, while continuing to preserve any newer user copy.- Exact v0.3.32 official package copies now defer to the updated bundled plugin without deleting or overwriting the old file; any script, configuration, extra-file, or permission change keeps the user's version in control.
v0.3.32
v0.3.32
-
修复 macOS 12.7.6 上 Telegram 选中文本后辅助功能焦点退化为
AXWindow,导致圆环菜单被上下文门禁阻止、Search in Telegram 无法触发的问题。 -
兼容范围严格限制在已取得新鲜选中文本后的同一 Telegram 进程、同一辅助功能窗口和同一 Core Graphics 窗口;
Cmd+C发送前仍保持原焦点校验,剪切、粘贴、删除和快捷键动作在焦点漂移后继续失败关闭。新增焦点漂移、复制回退、多窗口及菜单动作状态回归测试。 -
Fixed the radial menu and Search in Telegram being blocked on macOS 12.7.6 when Telegram degrades its Accessibility focus from the selected text element to
AXWindow. -
The compatibility path is limited to fresh selected text in the same Telegram process, Accessibility window, and Core Graphics window. Pre-
Cmd+Ctarget validation remains strict, while cut, paste, delete, and key-combo actions continue to fail closed after focus drift. Added regression coverage for focus drift, copy fallback, multiple windows, and menu action state.
ccc
v0.3.31
v0.3.31
-
修复 “Search in Telegram” 点击后无响应的问题:AppleScriptObjC 插件现在通过隔离的 UTF-8 文件读取器接收选中文字,避免
read被错误解析到current application;新增中文、emoji、多行文本及特殊路径的运行时回归测试。 -
Fixed “Search in Telegram” doing nothing: AppleScriptObjC plugins now receive selected text through an isolated UTF-8 file reader, preventing
readfrom being resolved againstcurrent application; added runtime regression coverage for CJK, emoji, multiline text, and escaped paths.
v0.3.30
What's Changed
- 发布 ActionHalo 0.3.29 并完成独立身份迁移 by @Wooden-Robot in #8
Full Changelog: v0.3.29...v0.3.30
v0.3.29
v0.3.29
-
ActionHalo 改用独立 Bundle ID
com.actionhalo.app,只注册.actionhaloext与com.actionhalo.extension;macOS 辅助功能、启动项和文件类型不再沿用旧应用身份。 -
OpenFire 不再自动安装 ActionHalo。旧更新源只显示无 enclosure 的迁移提示,“了解更多”链接直达最新 DMG;ActionHalo 首次启动会一次性转换兼容设置与插件(新数据优先、插件信任不迁移)。清理仅识别
/Applications/OpenFire.app与~/Applications/OpenFire.app,确认后移到废纸篓,并按需清理匹配的官方旧启动项与 TCC 记录。 -
ActionHalo 自动更新改用独立的
actionhalo-appcast.xml和ActionHalo签名密钥账户;appcast 会嵌入本版本更新日志,发布门禁会拒绝旧身份、错误更新源或缺失说明的产物。 -
更换为匹配 GTA 式动作轮盘交互的新应用图标:八块等分圆环、右上选中块外突高亮;菜单栏同步使用适配深浅背景的 18px 单色分段图标。
-
ActionHalo now uses the independent bundle identifier
com.actionhalo.appand registers only.actionhaloextwithcom.actionhalo.extension; Accessibility, launch-at-login, and document identities are no longer inherited from the previous application. -
OpenFire no longer installs ActionHalo as an automatic update. Its legacy feed only presents an enclosure-free migration notice whose Learn More link downloads the latest DMG; ActionHalo converts compatible settings and plugins once on first launch (new data wins and trust is not inherited). Cleanup recognizes only
/Applications/OpenFire.appand~/Applications/OpenFire.app; with approval, it trashes that app and conditionally removes its matching official login item and TCC record. -
ActionHalo updates use the dedicated
actionhalo-appcast.xmlfeed andActionHalosigning-key account. The appcast embeds this version's changelog, while release gates reject legacy identities, the wrong feed, or missing release notes. -
Replaced the app icon with an eight-segment action wheel that matches the GTA-style interaction, including an outward, highlighted upper-right selection; the menu bar now uses a matching 18px monochrome segmented icon for both light and dark appearances.
v0.3.28
v0.3.28
-
OpenFire 原位升级后的 App 包会在启动服务前排他原子改名为
ActionHalo.app并重新启动;目标冲突、父目录不可写、只读卷、网络卷和 App 包自身为符号链接时均不覆盖、不删除。 -
首次改名由 Finder 双击
.actionhaloext或.openfireext触发时,会在重启后继续处理原始插件安装请求,不会因迁移丢失。 -
Sparkle appcast 会嵌入本版本更新日志,更新窗口可以直接显示发布说明;发布门禁会拒绝缺少说明或说明版本不匹配的 feed。
-
App bundles upgraded in place from OpenFire are atomically renamed without replacement to
ActionHalo.appbefore services start, then relaunched; conflicts, unwritable parent folders, read-only or network volumes, and app-bundle symlinks remain untouched. -
Finder-launched
.actionhaloextand.openfireextrequests are carried through the one-time rename and handled after relaunch instead of being dropped. -
The Sparkle appcast embeds this version's changelog so release notes appear directly in the update window; release gates reject feeds with missing or mismatched notes.
v0.3.27
v0.3.27
-
项目对外品牌、应用/可执行文件、SwiftPM 模块、构建产物、插件格式、界面、文档和 GitHub 发布地址统一更名为 ActionHalo。
-
新插件规范改为
.actionhaloext、com.actionhalo.*与ACTIONHALO_TEXT(_FILE);兼容期内仍可打开、迁移和执行旧.openfireext、com.openfire.*与OPENFIRE_TEXT(_FILE)插件。 -
保留现有 Bundle ID、Sparkle 公钥、签名密钥账户和插件指纹版本,延续老用户的设置、权限身份、脚本信任与自动更新链。
-
旧用户插件按 ID 一次性复制到 ActionHalo 数据目录,ActionHalo 侧已有插件优先,旧副本不删除且用户删除后的插件不会在重启时复活。
-
Renamed the public brand, app/executable, SwiftPM module, build artifacts, plugin format, UI, documentation, and GitHub release URLs to ActionHalo.
-
Made
.actionhaloext,com.actionhalo.*, andACTIONHALO_TEXT(_FILE)canonical while continuing to open, migrate, and run legacy.openfireext,com.openfire.*, andOPENFIRE_TEXT(_FILE)plugins during the transition. -
Preserved the existing bundle identifier, Sparkle public key, signing-key account, and plugin fingerprint version so existing settings, permission identity, script trust, and the signed update chain remain intact.
-
Added one-time, ID-tracked migration into the ActionHalo plugin directory; current packages win conflicts, rollback copies remain untouched, and deleted migrated plugins do not reappear on restart.
v0.3.26
v0.3.26
-
修复 Telegram、Codex 等应用无法提供辅助功能焦点元素时,选中文字后圆环无法自动出现、全局快捷键也无响应的问题。
-
对精确匹配的兼容应用启用受 PID 绑定的
Cmd+C回退,并将缺失焦点支持贯通选区检测、延迟展示和菜单目标上下文。 -
保持安全输入、受保护文本和非白名单应用的失败关闭策略,同时将重复复制抑制限制在短时间窗口内,避免旧选区长期阻止相同文本再次触发。
-
增加缺失焦点、应用切换、安全输入和重复选区的回归测试。
-
Fixed automatic radial-menu presentation and global hotkeys in Telegram, Codex, and other applications that do not expose an Accessibility focused element.
-
Added PID-bound
Cmd+Cfallback for exact compatibility matches and carried missing-focus support through selection detection, delayed presentation, and menu target context. -
Preserved fail-closed behavior for secure input, protected text, and non-allowlisted applications while bounding duplicate-copy suppression to a short window so stale selections do not block identical text indefinitely.
-
Added regression coverage for missing focus, application changes, secure input, and repeated selections.
v0.3.25
OpenFire v0.3.25 — 支持 macOS 12
中文
更新内容
- 最低系统要求下调至 macOS 12 Monterey。
- Universal 版本同时支持 Apple 芯片和 Intel 芯片 Mac。
- 使用兼容 macOS 12 的线程安全状态锁,替换仅 macOS 13+ 可用的
OSAllocatedUnfairLock。 - 修复鼠标在圆环外侧方向选择区域松开时,动作可能无法执行的问题。
- 补充并发安全与圆环外侧命中的回归测试。
安装说明
- 下载
OpenFire.dmg。 - 打开 DMG,将 OpenFire 拖入
Applications。 - 社区版使用 ad-hoc 签名且未经 Apple 公证。首次启动如被拦截,请前往:
系统设置 → 隐私与安全 → 仍要打开 - 按提示授予 OpenFire 辅助功能权限。
验证结果
- macOS 最低版本:
12.0 - 架构:
arm64、x86_64 - 277 项自动化测试全部通过
- DMG、代码签名及 Sparkle Ed25519 更新签名验证通过
SHA-256
OpenFire.dmg
8efbc89c5b6472c43235a4098e0d2b0d6c26850074f9e1951a7110d5c84b04e7
v0.3.24
OpenFire v0.3.24
中文
这是一个自动更新验证版本,用于测试从 OpenFire v0.3.23 升级至 v0.3.24 的完整流程:
- 检测新版本
- 下载更新包
- 验证 Ed25519 签名
- 确认“安装并重启”
- 自动替换应用并重新启动
除版本号和发布说明外,本版本没有新增功能或行为变化。
请在 OpenFire v0.3.23 中点击“检查更新”进行测试。
本版本采用无 Developer ID 的社区签名方式;升级后 macOS 可能要求重新授予辅助功能或自动化权限。
English
This is an automatic-update validation release for testing the complete upgrade flow from OpenFire v0.3.23 to v0.3.24:
- Detect the new version
- Download the update archive
- Verify its Ed25519 signature
- Confirm “Install and Relaunch”
- Replace the application and relaunch automatically
This release contains no new functional or behavioral changes beyond the version bump and release notes.
Use “Check for Updates” in OpenFire v0.3.23 to test the upgrade.
OpenFire uses a community signing workflow without a Developer ID. macOS may ask you to grant Accessibility or Automation permissions again after updating.