Skip to content

tacet v0.1.2

Choose a tag to compare

@drycode drycode released this 06 Aug 14:04
· 6 commits to main since this release

Since v0.1.1 the Homebrew cask served a build six commits behind main. The Quit menu item did nothing, and once it did work there was no way to reopen the app short of knowing the launchctl kickstart incantation. This release fixes both, and fixes the cask hang that made the whole thing hard to see.

Fixed

  • The cask no longer hangs on install. Casks quarantine by default, and tacet is only ever exec'd directly — launchd starts it, and install-server.sh execs it to verify. Exec'ing a quarantined bundle blocks in _dyld_start waiting on a consent decision that has no UI to answer it, so the app deadlocked before running a line of its own code. Notarization did not help: the gate is consent, not assessment. The cask now strips quarantine in postflight, before anything can exec the binary. (#25, tap#6)
  • Quit works. The menu item had no target, so it did nothing.
  • You can reopen the app. Launching with no arguments now runs the agent, which is what double-clicking a .app does. Previously it printed usage and exited 2 — invisible from Finder, which made Quit a one-way door.
  • --help exits 0 on stdout; an unknown role exits 2 on stderr. Scripts can tell those apart.
  • A wedged install fails diagnosably. install-server.sh parses its arguments properly and bounds the binary check instead of blocking indefinitely.
  • Developer ID rebuilds no longer reset TCC grants, so Accessibility and Microphone survive an upgrade.
  • Installers use a Homebrew-installed bundle rather than building over it, so you do not end up with two copies and a notarized app does not get re-signed.

Install

brew install --cask drycodeworks/tap/tacet

Then run ./install-server.sh (the machine that transcribes) or ./install-client.sh (the machine you dictate from) from a clone.

If you installed v0.1.1 from the cask and it wedged, brew uninstall --cask tacet and reinstall. The first blocked launch wedges the path, so if it still hangs, remove /Applications/Tacet.app before reinstalling.

Verification

Developer ID signed, notarized (submission 1dc6120e), stapled. spctl -a reports accepted / source=Notarized Developer ID. 53 Swift + 111 Python tests pass.