LiveEnhancementSuite / LESforMacOS

Ableton Live, supercharged (on macOS)
https://enhancementsuite.me/
MIT License
142 stars 17 forks source link

[Bug] LES is unable to register accessibility permissions on macOS 11 or greater #6

Open jnak opened 2 years ago

jnak commented 2 years ago

Hi,

First, thanks for sharing LES. It's such a nice tool, especially when using Ableton in tablet mode with a pen.

I'm trying to install LES on Monterrey but the install won't complete. It keeps asking for accessibility access even though I've added it. I tried rebooting my machine and both the release and pre-release builds.

See screenshot:

Screen Shot 2021-11-06 at 6 28 13 PM

Best, J

kwvg commented 2 years ago

Hello! Thank you for using LES for macOS.

I do not use macOS Montery right now and it'll be a while before I'll be able to reproduce your exact bug, usually we find that bugs like these are resolved by updating our underlying Hammerspoon base but I'd like to verify that something works before pushing an update.

macOS Montery has been recently released and it takes a substantial amount of time before the entire ecosystem adjusts to it (from developers, maintainers, continuous integration tools, just apps in general) so unfortunately, I cannot build remotely to try and fix the problem in the immediate future until that adjustment happens.

For now I'd recommend downgrading to macOS Big Sur but I'm keeping the issue open as Montery is out of beta and this bug is a regression.

jnak commented 2 years ago

Thanks for getting back to me. Unfortunately, I don't have the opportunity to downgrade to Big Sur since I have the new M1Pro chip. Those ships are support officially supported by Monterey.

I'm happy to help with testing if you need access to a machine with Monterey. I don't know much about Lua or Objective C but I can definitely follow building / testing instructions if you need me.

Cheers!

JonDum commented 2 years ago

Same issue here, can reproduce. @kittywhiskers if you can point me to the bit of code that does the accessibility check I can perhaps at least start some progress on this by debugging from source locally. Hopefully it's just a changed apple api method or something simple.

Also, Monterrey went live October 25, 2021. No longer beta :)

JDRoy commented 2 years ago

I'm running into the same issue and would be happy to help with this, as well! Just picked up the new laptop while I still had an educational discount and could save a few hundred bucks. This would also give me an excuse to download Xcode and brush up on my debugging skills.

kwvg commented 2 years ago

I've updated my GitHub with an email address and I'll be glad to continue our correspondence there!

If Discord is something you prefer over email, then please send me an email (yeah, still email to get started, sorry) and we can exchange Discord usernames and start working from there!

jnak commented 2 years ago

@kittywhiskers Sounds good - I just sent you an email. Having said that, it might be easier to coordinate here since we're already a few people interested to help and other people may join us along the way if need be. I'm fine either way though so whatever you think is best :)

redwhatever commented 2 years ago

Hi all, just wanted to mention I'm running into the same issue as @jnak. Will keep an eye on this thread. Thanks for looking into it!

kwvg commented 2 years ago

@jnak I can post general guides on how we're gonna conduct testing but because LES doesn't have a robust logging system, it'll take a lot of one-on-one communications to get useful information.

That being said, the Hammerspoon base has been updated in https://github.com/LiveEnhancementSuite/LESforMacOS/commit/b840f34ef6df281c5a7046024fdcb810e04a9ff8 and an overhaul to HSModule (at least in terms of cleanup and refactoring) is currently in progress (see https://github.com/LiveEnhancementSuite/HSModule/pull/1)

JonDum commented 2 years ago

Some good news. It looks like the MacOS Monterey accessibility thing was fixed by @kittywhiskers updating the Hammerspoon base! So that's awesome. I was able to get LES working by building from their develop branch, exporting the .app from the .xcarchive and fixing several pathing issues from the exported Hammerspoon app.

I'm not sure if I did something wrong with the build, or that's just WIP from @kittywhiskers's changes. I had to manually copy over the extensions/les/ folder into the .app/contents/resources/extension/ folder and I also had to copy over helpers.lua to ~/.les/ b/c require("helpers") did not check that folder for it and Lua couldn't find it. The code that automatically creates a settings.ini and menuconfig.ini also failed and I had to manually create these in ~/.les.

kwvg commented 2 years ago

The code that automatically creates a settings.ini and menuconfig.ini also failed and I had to manually create these in ~/.les.

Yeah, the initialization code hasn't caught up with refactoring and probably won't be till we can really chart out what the scope the refactor will be (mostly I want to avoid common bugs and set the groundwork for a better logging system).

If you can confirm that using unrefactored HSModule works on Monterey (since the problem seems to be resolved with just updating the Hammerspoon base), I can try to trigger a fresh CI run (probably update our build documentation, too) and we can at least get Monterey users a working version!

JonDum commented 2 years ago

@kittywhiskers Tried it. Unfortunately HSModule @ origin/release@v1.3.1 9920d2 nor @ origin/cleanup 462765a I could get working. I was only able to get past the accesibility warning on 8882cc4

Your formatting and refactor may have unintentionally solved this! Who knew clean code worked better. :P

I'd say go ahead and cut an alpha release on your cleanup branch. Even if it's not ready, perhaps it will still allow people to get LES going on Monterey.

@JDRoy You have to run a build with ./scripts/build.sh build from the terminal then open the .xcarchive with XCode to export the .app

drj-io commented 2 years ago

Same issue here on an M1 mac mini under Monterey. I can try out the develop branch this evening. image

kwvg commented 2 years ago

I'm not sure if I did something wrong with the build, or that's just WIP from @kittywhiskers's changes. I had to manually copy over the extensions/les/ folder into the .app/contents/resources/extension/ folder and I also had to copy over helpers.lua to ~/.les/ b/c require("helpers") did not check that folder for it and Lua couldn't find it.

HSModule, in previous versions, would be packaged with the application bundle courtesy of this small modification to the extensions copy script which has since been deprecated because of Hammerspoon's build system overhaul.

The fix for that (154831348bbd8d2ce7d2523c1de64629c14c2c4f) has just been recently pushed!

The code that automatically creates a settings.ini and menuconfig.ini also failed and I had to manually create these in ~/.les.

Working on it, thanks for letting me know! Resolved with latest push to HSModule's origin/refactor (7da8c39)


Sidenote, for folks who are dealing with ./scripts/build.sh build freezing on them locally (like mine does on Checking Cocoapods state...), you can just run the command below in lieu of that

xcodebuild -workspace Hammerspoon.xcworkspace -scheme Hammerspoon -configuration Debug clean build | tee $(date +%s).log | xcbeautify
taninke commented 2 years ago

image I'm having the same issue on Monterey, dang.

Is there any way to "manually" resolve this on my end, or it basically just waiting for a fix? Also on an M1 mac, so I can't downgrade unfortunately. I've never used Ableton without RES!

kwvg commented 2 years ago

Update

Some bugs within HSModule were ironed out with https://github.com/LiveEnhancementSuite/HSModule/pull/1 and their fixes have been successfully merged. macOS Monterey users can now test LESforMacOS with the fixes integrated released in an alpha build!

Feedback would be highly appreciated! Once we've established there are no problems in macOS Monterey, this issue can be closed!

taninke commented 2 years ago

Update

Some bugs within HSModule were ironed out with LiveEnhancementSuite/HSModule#1 and their fixes have been successfully merged. macOS Monterey users can now test LESforMacOS with the fixes integrated released in an alpha build!

Feedback would be highly appreciated! Once we've established there are no problems in macOS Monterey, this issue can be closed!

Screen Shot 2021-12-16 at 10 36 10 AM

I just installed the new update on Monterey and received this error. I tried a restart and clean install, same issue.

JonDum commented 2 years ago

Update

Some bugs within HSModule were ironed out with LiveEnhancementSuite/HSModule#1 and their fixes have been successfully merged. macOS Monterey users can now test LESforMacOS with the fixes integrated released in an alpha build! Feedback would be highly appreciated! Once we've established there are no problems in macOS Monterey, this issue can be closed!

Screen Shot 2021-12-16 at 10 36 10 AM

I just installed the new update on Monterey and received this error. I tried a restart and clean install, same issue.

@kittywhiskers this is the same error I had. I fixed it by manually copying the les extension lua files into ~/.les but i don't think that's an ideal solution. rawrequire should be looking into the Application Bundle not the user's home dir no?

kwvg commented 2 years ago

I remember dealing with package path issues as well and I had patched it with 8cb245b.

When you say clean install, does that include deleting ~/.les?

JonDum commented 2 years ago

I remember dealing with package path issues as well and I had patched it with 8cb245b.

When you say clean install, does that include deleting ~/.les?

Yea I didn't have a ~/.les folder at all, nor did the executable create one for me. Judging by the trace I figured I'd have to manually create it and dump the helpers.lua in the right spot and sure enough it ran when I did that.

taninke commented 2 years ago

I remember dealing with package path issues as well and I had patched it with 8cb245b.

When you say clean install, does that include deleting ~/.les?

I just did this (deleted ~/.les), restarted again and reinstalled, and it seems to be working now!

I'll have to re-add my original settings and menu config but if all that goes well, I think it should be solid on Monterey.

jnak commented 2 years ago

Happy to report that things work ok for me on Monterey. I had to delete my ~/.les directory (as described above) but after that everything worked as expected. Let me know if you need to test something specifically.

JohnDohs commented 2 years ago

Hello! I have an air m1 and also I've got an accessibility issue. To solve this problem I've installed kittywhiskers's alpha build. And have the same issue with the missing files mentioned above. Please could you describe how to solve this, please? I can't find .les folder and also cant find les extension files that I should copy. I'm not a coder, just trying to use this amazing utility that I've always used on win10.

kwvg commented 2 years ago

I can't find .les folder

@JohnDohs, as .les is a dot folder, it has certain special properties including not being visible to the user unless you explicitly ask the operating system to do so. To manipulate this folder, you can open Finder, then use ⌘ Cmd + ↑ Shift + G to Go to Folder and input ~/.les there to explore the directory.

As for having LES work with macOS 12, you need to enter this folder and delete all its contents (this will reset your customizations and timings, if any), then proceed to run the binary again. If you're terminal savvy, then simply opening the Terminal app and typing rm -rf ~/.les would achieve the same thing, in spirit.

LES should start behaving as expected soon after, on the next launch.


@JonDum, are you experiencing the same problems after following the outlined steps?

JohnDohs commented 2 years ago

@kittywhiskers Thanks a lot! It worked!

swit33 commented 2 years ago

Same issue here. Monterey 12.1 I did a clean install of latest alfa build, including clearing ~/.les folder, still have an accessibility issue.

nickfredman commented 2 years ago

I'm on Monterey (m1 max) and still having the accessibility issues as well. I'm a developer too so happy to debug anyway that's useful for y'all.

Rodige717 commented 2 years ago

Hey! I tried to install clean the latest Alfa Build and cleared ~/.les folder but i still have an accessibility issue. What am I doing wrong ? @kittywhiskers

SiboVG commented 2 years ago

What worked for me is first opening the app, then go in 'Security & Privacy' in 'System Preferences', enable Accessibility for Live Enhancement Suite, then open the app again, still get the warning, just click okay, then in 'Security & Privacy' in 'System Preferences' delete the Live Enhancement Suite option by selecting it and clicking the 'minus' button. Open the app again and now it should work (may still need to check Accessibility for LES afterwards, I do not recall, but yeah)

Works on Mac OS Monterey, on MacBook Pro M1 on release 1.3.3-alpha

Rodige717 commented 2 years ago

What worked for me is first opening the app, then go in 'Security & Privacy' in 'System Preferences', enable Accessibility for Live Enhancement Suite, then open the app again, still get the warning, just click okay, then in 'Security & Privacy' in 'System Preferences' delete the Live Enhancement Suite option by selecting it and clicking the 'minus' button. Open the app again and now it should work (may still need to check Accessibility for LES afterwards, I do not recall, but yeah)

Works on Mac OS Monterey, on MacBook Pro M1 on release 1.3.3-alpha

It worked ! Thank you so much !!

refnulf commented 2 years ago

Sadly struggling to get it to work as well. Tried the deleting /.les folder and restarting, then installing the 1.3.3 alpha and it didn't work. macOS 12.3 here, M1 Pro.

Tried @SiboVG and his approach but that hasn't worked either. Anyone having some luck? I've gotten so used to LES that I just keep double clicking randomly and then wait a few seconds and wonder why there's no menu popping up!

Moebits commented 2 years ago

What worked for me is first opening the app, then go in 'Security & Privacy' in 'System Preferences', enable Accessibility for Live Enhancement Suite, then open the app again, still get the warning, just click okay, then in 'Security & Privacy' in 'System Preferences' delete the Live Enhancement Suite option by selecting it and clicking the 'minus' button. Open the app again and now it should work (may still need to check Accessibility for LES afterwards, I do not recall, but yeah)

Works on Mac OS Monterey, on MacBook Pro M1 on release 1.3.3-alpha

I tried this multiple times and it doesn't work for me, also on M1 Pro Mac and macOS 12.3. It doesn't make sense why this would work because by removing it from accessibility, you are revoking its permissions.

Hope this issue gets looked into further as the m1 pro/max macbooks cannot be downgraded from Monterey.

lowlypalace commented 2 years ago

What worked for me is first opening the app, then go in 'Security & Privacy' in 'System Preferences', enable Accessibility for Live Enhancement Suite, then open the app again, still get the warning, just click okay, then in 'Security & Privacy' in 'System Preferences' delete the Live Enhancement Suite option by selecting it and clicking the 'minus' button. Open the app again and now it should work (may still need to check Accessibility for LES afterwards, I do not recall, but yeah)

Works on Mac OS Monterey, on MacBook Pro M1 on release 1.3.3-alpha

What worked for me on M1 Pro Monterey 12.3.1 is following the same steps you described but then adding the LES to the accessibility list again.

RODE0606 commented 2 years ago

Accessibility is fine but now I have that on the hammerspoon console, What should I do ? I suck at coding sorry guys

2022-05-07 12:45:18: Welcome to the Hammerspoon Console! You can run any Lua code in here.

2022-05-07 12:45:18: -- Lazy extension loading enabled 2022-05-07 12:45:18: -- Loading ~/.les/init.lua 2022-05-07 12:45:18: -- Loading extension: appfinder 2022-05-07 12:45:19: -- Loading extension: fs 2022-05-07 12:45:19: /Users/romainderesse/.les 2022-05-07 12:45:19: 12:45:19 ** Warning: LuaSkin: Sparkle Update framework not available for the running instance of Hammerspoon. 2022-05-07 12:45:19: *** ERROR: ...uite.app/Contents/Resources/extensions/hs/_coresetup.lua:647: module 'helpers' not found: no field package.preload['helpers'] no file '/Users/romainderesse/.les/helpers.lua' no file '/Users/romainderesse/.les/helpers/init.lua' no file '/Users/romainderesse/.les/Spoons/helpers.spoon/init.lua' no file '/usr/local/share/lua/5.4/helpers.lua' no file '/usr/local/share/lua/5.4/helpers/init.lua' no file '/usr/local/lib/lua/5.4/helpers.lua' no file '/usr/local/lib/lua/5.4/helpers/init.lua' no file './helpers.lua' no file './helpers/init.lua' no file '/Applications/Live Enhancement Suite.app/Contents/Resources/extensions/helpers.lua' no file '/Applications/Live Enhancement Suite.app/Contents/Resources/extensions/helpers/init.lua' no file '/Users/romainderesse/.les/helpers.so' no file '/usr/local/lib/lua/5.4/helpers.so' no file '/usr/local/lib/lua/5.4/loadall.so' no file './helpers.so' no file '/Applications/Live Enhancement Suite.app/Contents/Frameworks/helpers.dylib' stack traceback: [C]: in function 'rawrequire' ...uite.app/Contents/Resources/extensions/hs/_coresetup.lua:647: in function 'require' ...ite.app/Contents/Resources/extensions/hs/les/LESmain.lua:1: in main chunk [C]: in function 'dofile' /Users/romainderesse/.les/init.lua:23: in main chunk [C]: in function 'xpcall' ...uite.app/Contents/Resources/extensions/hs/_coresetup.lua:709: in function 'hs._coresetup.setup' (...tail calls...)

darosh commented 2 years ago

@RODE0606 Try deleting ~/.les it did the job for me.

RealDan1 commented 2 years ago

for anyone looking for a (rough) confirmation it works:

1) updated to alpha build 1.3.3 (this was the step I missed)

2) removed LES from accessibility list

3) Re-add LES to accessibility list (prior to launching LES)

4) launch LES, working. (if still not working: I think I deleted the ~/.les file at some point in these steps)

Apologies for the rough explanation I tried so many of these steps in varying order to no avail but I missed that it required the alpha build 1.3.3 to work. Hope this helps any noobs like me.

Info: Monterey 12.4 M1 Pro 14"

aomrahming commented 2 years ago

I have attempted to run everything listed above and still have this issue

Monterey 12.4 M1 Max

Inversil commented 2 years ago

it seems that the mac version of the program is currently abandonware. I'm sorry, but it seems that neither me nor kittywhiskers are able to keep this thing updated since neither of us has a mac to develop on. if anyone wants to help out please create a pull request and we will work on implementing it into the release build!

Most importantly, a lot of work needs to be done on https://github.com/LiveEnhancementSuite/HSModule, as this git repository just represents the hammerspoon mod this module (the actual behavior of the program) runs in.

if nothing happens I might eventually be able to update the program, but I really do not see it happening any time soon; unfortunately.

aomrahming commented 2 years ago

I wish I had a clue of all the stuff you are talking about if this is something I can't pick up quickly and help with I will glad to help

it seems that the mac version of the program is currently abandonware. I'm sorry, but it seems that neither me nor kittywhiskers are able to keep this thing updated since neither of us has a mac to develop on. if anyone wants to help out please create a pull request and we will work on implementing it into the release build!

Most importantly, a lot of work needs to be done on https://github.com/LiveEnhancementSuite/HSModule, as this git repository just represents the hammerspoon mod this module (the actual behavior of the program) runs in.

if nothing happens I might eventually be able to update the program, but I really do not see it happening any time soon; unfortunately.

reckm commented 2 years ago

Oh, that's so sad - I really enjoyed the workflow loading plugins so fast. I had some weird behavior of my Ableton so I checked for updates and found out just now.

Are there any alternatives to load Plugins as you did?

Rodige717 commented 2 years ago

It worked for me on M1 Max Monterey 12.2.1

Make sure you have the latest version (1.3.3)

First, for Accessibility, I followed this:

for anyone looking for a (rough) confirmation it works:

  1. updated to alpha build 1.3.3 (this was the step I missed)
  2. removed LES from accessibility list
  3. Re-add LES to accessibility list (prior to launching LES)
  4. launch LES, working. (if still not working: I think I deleted the ~/.les file at some point in these steps)

Then i got the Hammerspoon console issue as explained by @RODE0606

To fix this i deleted the .les folder by following this

.lesis a _dot_ folder, it has [certain special properties](https://unix.stackexchange.com/a/21780) including not being visible to the user unless you explicitly ask the operating system to do so. To manipulate this folder, you can open Finder, then use ⌘ Cmd + ↑ Shift + G to _Go to Folder_ and input~/.les` there to explore the directory.

As for having LES work with macOS 12, you need to enter this folder and delete all its contents (this will reset your customizations and timings, if any), then proceed to run the binary again. If you're terminal savvy, then simply opening the Terminal app and typing rm -rf ~/.les would achieve the same thing, in spirit.

LES should start behaving as expected soon after, on the next launch.

Thanks to everyone !

L33t-HAXXOR commented 1 year ago

Recently upgraded to macOS 12 and going back isn't an option I am also having the same issue with LES

edermariano commented 1 year ago

Recently upgraded to macOS 12 and going back isn't an option I am also having the same issue with LES

Have you tried the steps?

  1. Remove the LES
  2. Download and reinstall version 1.3.3-alpha
  3. System Settings -> Privacy & Security -> Accessibility, remove the LES with the - on the bottom
  4. System Settings -> Privacy & Security -> Accessibility, add the LES back with the + on the bottom
  5. Remove the les folder in your terminal type rm -rf ~/.les
  6. Right click in the Live Enhancement Suite in your Application folder and click open
  7. Do it again if it complains.

It works for me right now.

matthieuschulz commented 1 year ago

@edermariano Works for me too!

jarlkaad commented 1 year ago

Works here too! :D

ignacio-dev commented 1 year ago

I did everything on the list, and while it opens fine, every time I try to insert anything from my menu I get an error: applescript sleep failed to execute properly and will not load the plugin assigned to the menu..

sudocurse commented 1 year ago

7. Do it again if it complains

Worked around the ~fifth time i did it!

ignacio-dev commented 1 year ago

What exactly do you do again if it complains? All of the steps?

benj3484 commented 1 year ago

For anyone still holding out hope. I've managed to get this working on M2 Max running Ventura 13.2.1. I went through the steps mentioned a few times to no avail and gave up and completely uninstalled with app cleaner.

Decided later to have another go, installed the beta version, allowed all access permissions and opened hammerspoon in package contents and it's working! Terminal needs to stay open for it to work.

I'm no coder

kwvg commented 1 year ago

👋 ! It's been quite a while since the last release but recently the stars have aligned and I was able to do more than just do minor bump in the Hammerspoon base. It hasn't helped that Ventura overhauled a few things and thus made LESforMacOS an even buggier mess.

But, there's good news. Beta testing for v1.3.4 has begun and two betas have already been released and they're available for testing.

They're based on an updated Hammerspoon base and include fixes and additional guardrails that should improve application stability. They also include mitigations for permissions problems (see upstream issue, https://github.com/Hammerspoon/hammerspoon/issues/3301).

Testing of both versions would be appreciated. We want to know what got better and what got worse!

ja159 commented 1 year ago

Thanks to the previous comments I successfully made LES work on my mac but having a shortcut not working which is "show automation in new lane". Tilda + Shift + Right Click just opens the window where i can show automation/map to macro. Can anyone help?