Skip to content

Veloop 0.1.2

Choose a tag to compare

@talentdedcat talentdedcat released this 09 Aug 19:05
· 48 commits to main since this release

What changed

  • Moved permission status ownership fully into the background Agent. Each IPC state request now reads Input Monitoring, event-posting, and Accessibility access live through the public macOS preflight APIs.
  • Registered and started the current embedded Agent before the control app requests permission state, with finite nonblocking IPC retries while the Agent becomes ready.
  • Restarted the launchd-managed Agent after returning from System Settings, then waited for IPC recovery before refreshing permission state.
  • Separated permission preflight from permission requests. Normal launch and activation never prompt; request APIs run only after an explicit click for a permission group that is currently missing.
  • Added distinct Checking, Allowed, Required, and Agent Unavailable states. Agent startup or IPC failure is no longer displayed as missing authorization, and stale permission snapshots are cleared after terminal failures.
  • Required both event-posting access and Accessibility trust for the Accessibility row, preventing partially authorized states from being reported as allowed.
  • Moved Agent registration, restart, preference updates, IPC calls, and retry delays off the main thread. Added cancellation and overlapping-operation protection so older results cannot overwrite newer state.
  • Kept the Agent identity stable at com.veloop.service, with the embedded path Veloop.app/Contents/Library/LoginItems/Veloop.app and the display/executable name Veloop.
  • Fixed the public source tree so the required configuration sources and bundle metadata are included, while local release tooling remains excluded from GitHub.
  • Improved Homebrew uninstall cleanup so the runtime-installed input method and LaunchAgent plist are removed during a normal uninstall.

Verification

  • Added automated coverage for launch ordering, Agent-owned permission state, return-from-settings restart, allowed-state rendering, no unsolicited prompts, bounded retry, explicit unavailable errors, cancellation, and Agent registration behavior.
  • Passed 147 automated tests.
  • Verified App and Agent sources with complete Swift concurrency checking and warnings as errors.
  • Verified the DMG, nested ad-hoc runtime signatures, stable bundle identifiers, and universal arm64 + x86_64 architectures for the App, Agent, Palette, and CLI.

Installation note

Veloop 0.1.2 remains ad-hoc signed and is not notarized. After installation, run:

xattr -dr com.apple.quarantine /Applications/Veloop.app

Because the ad-hoc code identity changes when the executable changes, upgrading may require enabling Veloop again under Input Monitoring and Accessibility.

Download integrity

  • Asset: Veloop-0.1.2-universal.dmg
  • SHA-256: 6ad90b9d6e7055d9d09f0553b2261450b8a7150f4e908564707121cca532eb72