Conversation
3058ffb to
211462e
Compare
211462e to
d33bd71
Compare
|
Looked over the code, I think it's ready for review now. I experienced a bug during testing where the app got stuck in the "loading" state according to the model selector, and transcriptions didn't work. It happened on the second open (e.g. open → onboard → close → open → stuck in "loading"). Unfortunately I stopped being able to reproduce it, and I'm not sure if it's related to my changes or a coincidence. |
|
Okay, thank you for this. I'll take a look soon, but give me maybe a week or two. I'm quite busy right now, but I do wanna bring this in for sure. |
|
Oh yeah, probably a good call on the translations haha. I forgot about that. Does the code need to be updated to use them? |
|
Should help to fix #564 |
|
Thanks yea, I was unable to replicate the crash on my machine even toggling the permission off |
This PR adds an onboarding step on MacOS that explicitly asks the user to grant permissions. Once permissions are granted, it automatically moves on to the next screen. It also fixes a bug where the app would crash if it did not have the necessary permissions, by removing
input::EnigoState::new().expect("...");CleanShot.2026-01-06.at.22.00.25.mp4
The most important architectural change is that
input::EnigoState::new()is longer be called frominitialize_core_logic, because this triggers a permission prompt, and I wanted the permission prompt not to appear until after the user clicked a "grant permission" button. (I didn't put too much thought into phrasing – "open settings" might be better, but a permission prompt does appear first.)See discussion in #544