The setup launcher had no LSUIElement, and its already-installed hand-off ran after Tauri/AppKit, whose default activation policy is Regular. That registered the setup bundle as a second Dock app beside the real desktop. Hand off before constructing Tauri, and restore Regular activation only when the installer UI is actually shown. On macOS the Electron single-instance lock also ran before deep-link registration. setAsDefaultProtocolClient relaunches the app through Launch Services, so the loser already had a Dock icon by the time the lock failed and app.exit(0) ran. Register the protocol first. The lock-losing instance still hard-exits before ready. Fixes #73151
13 lines
530 B
Plaintext
13 lines
530 B
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>LSUIElement</key>
|
|
<true/>
|
|
<key>NSAudioCaptureUsageDescription</key>
|
|
<string>Hermes launches the desktop app, which uses audio capture for voice conversations.</string>
|
|
<key>NSMicrophoneUsageDescription</key>
|
|
<string>Hermes launches the desktop app, which uses the microphone for voice input and voice conversations.</string>
|
|
</dict>
|
|
</plist>
|