Multi-Tofu 0.2.1
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.