There was an issue where updating a configuration file (including .ini)
or having an action occur that marked PHP Monitor as busy would prevent
the icon from updating correctly. This happened because access to the
busy boolean state variable could happen from various threads.
Since adding main thread isolation to the variable, you must access
`PhpEnvironments.shared.isBusy` via the main thread, therefore ensuring
that the busy state that is read from the app is always synchronized
and accurate whenever it is checked, making it so that going from
busy to no longer busy can no longer fail.
(It was possible for work in another thread to complete and fail to set
the icon to "not busy" because the work was done faster than the icon
could be set to busy.)
It's perfectly possible to run Laravel Valet (standalone) and Laravel
Herd side-by-side or mix usage, but it's not recommended and/or
supported (especially since Herd recommends migrating away from regular
Valet and may terminate Valet's services).
To avoid issues, PHP Monitor won't work if Herd is currently running.
It's totally fine to relaunch Herd after PHP Monitor's done starting
up, since the check only happens at launch.
Also, PHP Monitor warns about the PATH changes in `~/.zshrc` after
installing Laravel Herd, because that may impact the usage of
PHP aliases/global PHP version in terminal provided by PHP Monitor.
Dictionary key order in Swift isn't a thing, so the process is
now a two-pronged approach: 1) check for specific apps, 2) check for
specific broad frameworks after no other matches were made.
Previously, detection would only work correctly some of the time.
Also cleaned up the `getNotableDependencies()` method.
- Adds a fallback for missing keys
- Make type column resizable on domains
- Localized "Open with" text in context menu
- Updated some Dutch translations
- Fixed issue with Version Manager
- Separate behaviour for previews for Version Manager
- Remove verbose logging when previews are in use
(Note: The latter change may break various other previews. Will need to
investigate this particular issue.)