You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Launch-at-login toggle spawned a second instance / 开关"开机自启"会当场拉起第二个实例: the old LaunchAgent path used launchctl bootstrap, which runs a RunAtLoad job immediately — a second BA Click appeared the moment you toggled on, and bootout killed it again on toggle-off. Bundled apps now register via SMAppService: the entry lives in System Settings → General → Login Items, stays in sync with the system toggle, and registering never starts the app on the spot. The raw-binary (run.sh) fallback registers its LaunchAgent dormant (disable → bootstrap → enable). Legacy (≤0.2.1) plist registrations migrate automatically on the next toggle.
旧实现的 launchctl bootstrap 会立即运行 RunAtLoad 任务。捆绑版改用 SMAppService(注册进 系统设置 → 通用 → 登录项,绝不当场启动);裸二进制回退路径改为休眠注册;旧版 plist 注册在下次切换开关时自动迁移。
Single-instance guard / 新增单实例保护: a flock lock (~/.ba-click-mac.lock) makes any double launch exit immediately — no more stacked overlays, double-drawn effects or racing settings writes. flock 锁保证双开时第二个实例立即退出,不再出现两层特效叠加、设置写入竞争。
Pre-release version suffix broke the update check / 版本比较支持预发布后缀: 0.2.2-beta1 parsed as 0.2 (the -beta1 segment was dropped) so beta builds misreported an update. Version compare is now semver-ish: 0.2.2-beta1 > 0.2.1, but 0.2.2-beta1 < 0.2.2.
此前 -beta1 后缀段被整体丢弃,测试版会被误报有更新。现按 semver 语义比较:高于更早正式版、低于对应正式版。