ApolloZhu / Dynamic-Dark-Mode

The smart, automatic Dark Mode toggle for macOS Mojave+

Home Page:https://apollozhu.github.io/Dynamic-Dark-Mode/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unsandbox Dynamic Dark Mode

ApolloZhu opened this issue · comments

Good morning/afternoon/evening/night,

Firstly, as the main author of Dynamic Dark Mode, I'd like to thank everyone for using, supporting, and/or contributing to Dynamic Dar Mode. Right now, we are facing a very important choice, and I'd like to hear about your opinions. We are planning to turn off sandbox, which is a restrictive technology that limits what an app can access, by containing its execution in a "sandbox" like this:

Sandbox

Source: App Sandbox Design Guide by Apple Inc.

This is currently enabled for Dynamic Dark Mode, and most things work as intended. So why do we have to turn it off? Well, some of you might have noticed, that whenever Dynamic Dark Mode triggers a theme change, your front most app loses its focus (#62). To return the focus back to whatever you are currently working on, Dynamic Dark Mode must have the authorization to talk to it. That's not possible if the sandbox is enabled, because they live in separate sandboxes without knowing each other's existence. However, it could be solved if we disable the sandbox, and by that, we can also solve the crash on launch problem (#16, #49) for users who didn't install the program to /Applications folder by prompting them to do so.

To be honest, most likely you won't even notice this change, so why does it even matter? Well, to quote myself:

those other apps out there that have similar functionalities but are NOT OPEN SOURCE, NOT sandboxed, NOT notarized, and have NO intention to be reviewed by the (Mac) App Store review team

That's when we tried to publish Dynamic Dark Mode on to Mac App Store (#10), which we know is never going to happen; possibly Apple will roll out their own implementation during WWDC on Monday, June 3rd so there will be no need for Dynamic Dark Mode anymore. However, I'd still want you all to feel secure when using this app, just as if you downloaded it from the Mac App Store. Therefore, I'd like you to be informed of this change, and even when the sandbox is disabled in the future, I promise Dynamic Dark Mode will never access things that it's not supposed to touch, and try to automate the release process to eliminate the possibility of binaries that are not directly compiled from the source been deployed.

Thank you very much for reading this long explanation. Please let me know what you think through this anonymous poll or comment below.



Consider a helper application?

@CaptainYukinoshitaHachiman either way something has to be outside of the sandbox

"Unsandbox" won by plurality

Votes...

on GitHub as of 2019/05/17

Vote on GitHub 13-7-8

on bilibili by the end of one week voting window

Vote on bilibili 2-1-2

Possible Bias

  • This is a voluntary survey, only people who care vote (which might be a good thing)
  • One may vote multiple times/options on GitHub
  • Wording of the choices, since not everyone reads my explanation on what "better experience" and "security" means