alienator88 / Pearcleaner

A free, source-available and fair-code licensed mac app cleaner
https://itsalin.com/appInfo/?id=pearcleaner
Other
3.49k stars 83 forks source link

[BUG] Automation Permission Not Showed #115

Closed laduniestu closed 1 month ago

laduniestu commented 1 month ago

Describe the bug:
Can't find pear cleaner on automation permission setting

Steps to reproduce:

  1. Fresh installation
  2. Click "Check"
  3. Click 'Open' on Automation
  4. Will open Permission setting for automation
  5. Pear Cleaner not showed

Expected behavior
A clear and concise description of what you expected to happen.

Info:

Screenshots Screenshot 2024-09-26 at 11 54 59

alienator88 commented 1 month ago

I'll check on it tomorrow. It might be a Sequoia bug.

alienator88 commented 1 month ago

As a workaround can you try opening an app in Pearcleaner and delete a file? Pearcleaner uses Finder to delete files so it should prompt for permission at that point.

alienator88 commented 1 month ago

Hmm..I can't reproduce this issue. I deleted Pearcleaner and it's gone from the Automation pane in settings. As soon as I open Pearcleaner again, it pops back in the Automation page by itself after asking for Finder permission.

You can try resetting your Automation page back to defaults using this in Terminal: tccutil reset AppleEvents Then open Pearcleaner and it should ask for Finder permission again. If it doesn't, I'm not sure what the issue is, I haven't seen anybody else report this and I can't reproduce it at all myself.

JCKodel commented 1 month ago

Same here. Just downloaded it, dragged into Applications folder, opened it, Automation is red, but no related automation is displayed:

image

BTW, delete is also not working (it shows a confirmation dialog (which I turned on in settings), but it deletes nothing)

alienator88 commented 1 month ago

So the Automation permission is what gives the Delete button it's power so to speak. I suppose it makes sense that without the Automation permission, it won't work. Let me check some other things on my end, what OS version are you on @JCKodel?

JCKodel commented 1 month ago

Sequoia 15.0

alienator88 commented 1 month ago

So odd..none of this makes sense to me 😂

I just wiped everything Pearcleaner related on my computer. It disappeared from Automation screen. image

I downloaded the latest version from Github, launched it and it just showed up automatically in there: image

One thing I noticed is that the app doesn't show in the list until the Settings window is completely closed and reopened. Going back a pane and then back into Automation doesn't pick up the new app changes in the list.

alienator88 commented 1 month ago

Does resetting the Automation database not help at all? tccutil reset AppleEvents

JCKodel commented 1 month ago

I've deleted the app, then rebooted my computer. Reinstalling... please wait...

Nop... still not there.

JCKodel commented 1 month ago
Successfully reset AppleEvents
image

Now it fucked up my other apps >.<

alienator88 commented 1 month ago

The other apps will be fine. When they need that permission again, it will pop back in the list.

alienator88 commented 1 month ago

I just did it on my end too

alienator88 commented 1 month ago

Can you run this command in Terminal and see if it prompts for Finder automation permission? osascript -e 'tell application "Finder" to activate'

If successful, Terminal should show up in the Automation pane as well with permission to Finder: image

JCKodel commented 1 month ago

That only set focus to Finder, nothing else. I mean: I'm seeing Terminal menu bar, then I hit Enter, the menu bar says Finder. No permission, popup or finder window appears.

On Thu, Sep 26, 2024 at 6:10 PM Alin Lupascu @.***> wrote:

Can you run this command in Terminal and see if it prompts for Finder automation permission? osascript -e 'tell application "Finder" to activate'

If successful, Terminal should show up in the Automation pane as well with permission to Finder: image.png (view on web) https://github.com/user-attachments/assets/1ca95568-1fc3-4715-a17f-7b3c9ba0b28a

— Reply to this email directly, view it on GitHub https://github.com/alienator88/Pearcleaner/issues/115#issuecomment-2377944097, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC4TS4535TBK376UCGSVY3ZYRZ4VAVCNFSM6AAAAABO4CXDBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZXHE2DIMBZG4 . You are receiving this because you were mentioned.Message ID: @.***>

alienator88 commented 1 month ago

That behavior is expected, it was only supposed to focus Finder, not open a Finder window. Do you have your Terminal listed in the Automation list now?

alienator88 commented 1 month ago

All Pearcleaner does to request Finder automation permission is this: https://github.com/alienator88/AlinFoundation/blob/16755c95c931ede5d011a9f05cca5434964c4edd/Sources/AlinFoundation/PermissionManager.swift#L119

Just gets the name of the home folder and that's it. When that is executed on app launch, it "should" be prompting for that Finder permission if it didn't have it granted in the past. I just can't reproduce your issue on my side.

JCKodel commented 1 month ago

Nop, only sh. I revoked sh permission and rerun the test, nothing happened.

On Thu, Sep 26, 2024 at 6:16 PM Alin Lupascu @.***> wrote:

That behavior is expected, it was only supposed to focus Finder, not open a Finder window. Do you have your Terminal listed in the Automation list now?

— Reply to this email directly, view it on GitHub https://github.com/alienator88/Pearcleaner/issues/115#issuecomment-2377953035, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC4TSY5O57S66WDYBLW7ZTZYR2STAVCNFSM6AAAAABO4CXDBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZXHE2TGMBTGU . You are receiving this because you were mentioned.Message ID: @.***>

alienator88 commented 1 month ago

Do you have another terminal app like iTerm? I just tried the default macOS Terminal and that one doesn't populate in the list, it might just have permissions by default since it's part of the OS.

JCKodel commented 1 month ago

Nop, but I did open VSCode terminal and tried from that, still nothing.

Installing warp terminal to check it...

Same thing. It focus on Finder and nothing else.

My automation list has only Find Any File, Rambox and sh

On Thu, Sep 26, 2024 at 6:21 PM Alin Lupascu @.***> wrote:

Do you have another terminal app like iTerm? I just tried the default macOS Terminal and that one doesn't populate in the list, it might just have permissions by default since it's part of the OS.

— Reply to this email directly, view it on GitHub https://github.com/alienator88/Pearcleaner/issues/115#issuecomment-2377960377, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC4TSYLJSVYTZTDGZLCHNTZYR3FXAVCNFSM6AAAAABO4CXDBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZXHE3DAMZXG4 . You are receiving this because you were mentioned.Message ID: @.***>

alienator88 commented 1 month ago

I'm so out of ideas right now 😂 So far I have tested on Sequoia, Sonoma and Ventura via some VMs I have setup for testing. Every single one of them popped up the permission request right when the app launched the first time.

JCKodel commented 1 month ago

I'm pretty sure is some Apple bug.

I was testing the iPhone mirroring (which doesn't work because this stupid bluetooth adapter will connect to literally everything, but my iPhone).

Then I tried to use the camera continuity. On Chrome, it doesn't work and asks me to open settings, but Chrome isn't there.

Trying the same on Safari triggers the permission box and the camera works:

image

Sequoia is a mess =\

alienator88 commented 1 month ago

It really is a mess right now. I had to update to it just so I can build the apps on the newer code, but I'm not liking all the weird glitches.

If you had time and really wanted to narrow it down, you could try downloading VirtualBuddy (free app) and install a Sonoma or Sequoia OS in the VM. Then try Pearcleaner in that VM. If it works there, it probably is some bugs from upgrading your OS, at that point a clean install could probably help 😭

alienator88 commented 1 month ago

Also curious what results you get by listing the Automation services from the TCC database directly. Can you run this in Terminal? sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT client, auth_value, indirect_object_identifier FROM access WHERE service='kTCCServiceAppleEvents';"

For example I get this output:

com.alienator88.FoundationTesting|2|com.apple.finder
com.alienator88.Pearcleaner|2|com.apple.finder
com.googlecode.iterm2|2|com.apple.finder
org.hammerspoon.Hammerspoon|2|com.apple.finder

All 4 of those apps have the access granted in the Settings window. The value of 2 means granted but indirect, the app has access via another app, in this case com.apple.finder.

JCKodel commented 1 month ago

/bin/sh|2|com.apple.systemevents com.rambox|2|com.apple.systemevents org.tempel.findanyfile|2|com.apple.finder

On Thu, Sep 26, 2024 at 7:53 PM Alin Lupascu @.***> wrote:

Also curious what results you get by listing the Automation services from the TCC database directly. Can you run this in Terminal? sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT client, auth_value, indirect_object_identifier FROM access WHERE service='kTCCServiceAppleEvents';"

For example I get this output:

com.alienator88.FoundationTesting|2|com.apple.finder com.alienator88.Pearcleaner|2|com.apple.finder com.googlecode.iterm2|2|com.apple.finder org.hammerspoon.Hammerspoon|2|com.apple.finder

All 4 of those apps have the access granted in the Settings window. The value of 2 means granted but indirect, the app has access via another app, in this case com.apple.finder.

— Reply to this email directly, view it on GitHub https://github.com/alienator88/Pearcleaner/issues/115#issuecomment-2378083952, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC4TS7UXTKKCNFEQ2UBA3LZYSF6FAVCNFSM6AAAAABO4CXDBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYGA4DGOJVGI . You are receiving this because you were mentioned.Message ID: @.***>

laduniestu commented 1 month ago

com.apple.ScriptEditor.id.Untitled|2|com.apple.systemevents com.microsoft.VSCode|2|com.google.Chrome com.tinyapp.DBngin|2|com.apple.Terminal de.beyondco.herd|2|com.googlecode.iterm2

laduniestu commented 1 month ago

This case is the same as my case when installing Microsoft Teams and Zoom Meeting. The camera and microphone permissions do not appear. Is there a possibility that my internal system is having problems?

JCKodel commented 1 month ago

Update:

I've deleted (formatted, erased) my MacOS disk and reinstalled MacOS from scratch.

Same behaviour: permissions don't appear =\

alienator88 commented 1 month ago

This case is the same as my case when installing Microsoft Teams and Zoom Meeting. The camera and microphone permissions do not appear. Is there a possibility that my internal system is having problems?

It's very likely a Sequoia issue at the moment. I've seen a lot of posts regarding sequoia issues all over reddit and apple developer forums. There's a huge megathread with tons of currently reported issues: https://www.reddit.com/r/MacOS/comments/1fihlge/macos_15_sequoia_bugs_and_issues_megathread/

It's pretty odd that I can't reproduce this at all on like 3 different systems. Out of curiosity, what mac computer do you guys have? I'm running all my tests and VMs on M1 Pro.

JCKodel commented 1 month ago

Out of curiosity, what mac computer do you guys have?

A Hackintosh i7 6700-K, 128Gb RAM.

laduniestu commented 1 month ago

M2 Pro 16Gb RAM

On Tue, Oct 1, 2024 at 01:50 J.C.Ködel @.***> wrote:

Out of curiosity, what mac computer do you guys have?

A Hackintosh i7 6700-K, 128Gb RAM.

— Reply to this email directly, view it on GitHub https://github.com/alienator88/Pearcleaner/issues/115#issuecomment-2383824026, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKVPFBKF4INEL7EUTGC3F4TZZGFPBAVCNFSM6AAAAABO4CXDBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBTHAZDIMBSGY . You are receiving this because you authored the thread.Message ID: @.***>

alienator88 commented 1 month ago

We might need to wait until 15.1 release of sequoia to see if Apple get their shit together. The 15.0 release is a bug fest.

laduniestu commented 1 month ago

Screenshot 2024-10-04 at 16 17 58 I have already reinstall my OS Sequoia and its work right now. So, the problem is in the OS, but i dont know where 🤣

alienator88 commented 1 month ago

That's good to hear! I'm hoping Sequoia 15.1 release will fix all these weird glitches. 🤞

radge commented 3 weeks ago

I was getting the same issue. I think it's potentially related to disabling SIP.

Anyway, after fiddling with TablePlus and the TCC database, I managed to add PearCleaner to the TCC database with the following

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT INTO  "access" ("service", "client", "client_type", "auth_value", "auth_reason", "auth_version", "csreq", "indirect_object_identifier_type", "indirect_object_identifier", "indirect_object_code_identity", "last_modified", "boot_uuid", "last_reminded") VALUES ('kTCCServiceAppleEvents', 'com.alienator88.Pearcleaner', '0', '2', '3', '1', X'FADE0C00000000C00000000100000006000000060000000F0000000200000011636F6D2E726179636173742E6D61636F73000000000000070000000E000000000000000A2A864886F7636406010900000000000000000006000000060000000E000000010000000A2A864886F763640602060000000000000000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A535936344D5632324A390000', '0', 'com.apple.finder', X'FADE0C000000003400000001000000060000000200000016636F6D2E6170706C652E73797374656D6576656E7473000000000003', '1719515988', 'UNUSED', '0');"

Tested and working fine

alienator88 commented 3 weeks ago

Ahhh, good to know. SIP is something I didn't even think of as affecting this. I'm curious if others who have experienced this have also disabled SIP. Thank you for the information @radge!