macadmins / nudge

A tool for encouraging the installation of macOS security updates.
Apache License 2.0
1.04k stars 187 forks source link

Feature Request: Allow the blurred background experience to honor AcceptableApplicationBundleIDs #388

Closed jshirle2 closed 4 months ago

jshirle2 commented 2 years ago

Currently blurred backgrounds are a little too aggressive for my organization. Specifically we want the ability to prevent Nudge from doing anything if the user is in a teams/zoom meeting. This could be accomplished by adding a key (True/False) that would honor acceptableApplicationBundleIDs for the blurred background when in aggressive mode.

crizchun commented 2 years ago

@jshirle2 I've run into this exact issue with aggressiveUserFullScreenExperience. So far, I've found no way to fully prevent it while on a zoom call. If zoom stays the foremost window 100% of the time, I've found that the acceptableApplicationBundleIDs for zoom will work! But the problem is that almost all users will move zoom out of the way to continue working, while still being on their zoom call. Every combination of settings I've tried (including enabling acceptableScreenSharingUsage ) just wouldn't prevent the blurred background.

My question has been, is this the expected behavior?, or is there a way to make aggressiveUserFullScreenExperience not kick in while on a zoom call . . .

erikng commented 2 years ago

You're essentially asking for me to be able to detect that a user has a zoom session active but it's not their active application, which means the only real thing I could do here is see if zoom is in memory.

I have ZERO intentions of doing that. Sorry. If it's not their active application, it's an annoyance for them and no one else. Tell them to update.

crizchun commented 2 years ago

Totally understood, you are the Nudge Creator after-all.

I'd recommend some better clarity in the NudgeWiki: https://github.com/macadmins/nudge/wiki/optionalFeatures for aggressiveUserFullScreenExperience and how it works with acceptableApplicationBundleIDs, acceptableCameraUsage, acceptableScreenSharingUsage, and acceptableAssertionUsage with regard to the way zoom is used, and being the foremost window vs. not being the foremost window.

I can't imagine we're the only people who assumed it would prevent aggressivemode while on a zoom call, regardless of zoom not being their active window.

shannonpasto commented 6 months ago

Hi all.

Seeing this as well. The aggressive blurred screen honours anything in acceptableApplicationBundleIDs if they are the front most app. Perhaps an alternative solution to doing memory checking would be to honour acceptableAssertionApplicationNames as this seems to work in the initial, approaching and imminent cycles.

Cheers

erikng commented 5 months ago

I still don't think I want to do this. When you get into blurred mode it's because you are now in "aggressive" mode. At this point, we shouldn't be honoring very many things within Nudge to encourage the user to update with the highest level of annoyance.

erikng commented 4 months ago

I'm going to close this as I have no desire to check for applications in memory. I want to use native apple APIs and shell out only when I absolutely have to. If the users find the blurring too aggressive, they should have updated their devices. This is the stick and carrot approach.

The code base will continue to get exponentially harder to maintain if I allow every small use case to be designed and accounted for.