Skip to content

Multi-Tofu 0.2.1

Choose a tag to compare

@JMax92 JMax92 released this 27 Aug 18:52
· 14 commits to main since this release

Fixes a freeze reported against 0.2.0.

The bug

Recording a shortcut in Settings and then changing the language locked the app up.

The key capture callback ran inside the event tap, which lives on the main run loop, and it called the App Nap check, which shelled out to defaults read with a five second timeout per bundle id. That blocked the whole app, and macOS disabled the event tap on top of it, so the shortcuts stopped too.

The fix

App Nap state is now read and written through CFPreferences in process, 0.5ms rather than up to ten seconds. The capture callback hands its work to the next run loop pass, the same rule the other shortcuts already followed. And touching any other control abandons a recording in progress, so a capture can never fire into a control that has been rebuilt underneath it.

A regression test reproduces the exact sequence and asserts the run loop keeps ticking throughout. It runs in CI.

Upgrading

Replacing the app drops the Accessibility grant, as always. Switch Multi-Tofu back on in System Settings > Privacy & Security > Accessibility. No restart, it picks up within two seconds.