Commitok összehasonlítása

5 Commit-ok

Szerző SHA1 Üzenet Dátum
hariel1985
865b194eeb Bump version to 1.2.1
Patch release shipping the hardened-runtime microphone fix
(device.audio-input + allow-jit entitlements). The previously released
1.2.0 build could not access the microphone once hardened-runtime signed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 06:36:21 +02:00
hariel1985
bd20988fa0 Add cs.allow-jit entitlement for whisper.cpp Metal backend
The bundled whisper-cli / ggml dylibs JIT-compile Metal shaders at
runtime; under the hardened runtime that needs com.apple.security.cs.allow-jit
or the process gets killed. Completes the entitlement set for the
notarized Developer ID build (alongside device.audio-input).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 13:41:51 +02:00
hariel1985
3e96a6e394 Fix microphone under hardened runtime: add audio-input entitlement
The v1.2.0 Developer ID re-sign enabled the hardened runtime but the
entitlements were missing com.apple.security.device.audio-input. Under
the hardened runtime tccd refuses to even prompt for the microphone and
denies kTCCServiceMicrophone outright, so the app recorded pure silence
and whisper hallucinated text on the empty audio. Adding the resource
-access entitlement restores the mic permission prompt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 13:34:05 +02:00
hariel1985
9cd0d3eaa5 Fix version: Info.plist CFBundleShortVersionString 1.0.0 → 1.2.0
The bundle's marketing version was stuck at 1.0.0 while the Makefile and the
shipped releases are 1.2.0. Align it so the app reports its real version.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 21:57:03 +02:00
hariel1985
b0533f85f0 Add entitlements for Developer ID signing + notarization
WhisperDictate.entitlements: non-sandboxed hardened-runtime entitlements
(app-sandbox=false; cs.disable-library-validation for the bundled whisper-cli
+ ggml/whisper dylibs). Used to deep-sign the app with the company Developer ID
identity before notarization. Also ignore the stray Contents/CodeResources
signing artifact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 21:28:29 +02:00
4 fájl változott, egészen pontosan 60 új sor hozzáadva és 31 régi sor törölve

1
.gitignore vendored
Fájl megtekintése

@@ -3,6 +3,7 @@ macos/build/
macos/WhisperDictate.app/Contents/MacOS/
macos/WhisperDictate.app/Contents/Frameworks/
macos/WhisperDictate.app/Contents/_CodeSignature/
macos/WhisperDictate.app/Contents/CodeResources
WhisperDictate
*.o
*.dSYM/

Fájl megtekintése

@@ -2,7 +2,7 @@
APP_NAME = WhisperDictate
APP_BUNDLE = $(APP_NAME).app
VERSION = 1.2.0
VERSION = 1.2.1
# Directories
SRC_DIR = src

Fájl megtekintése

@@ -2,35 +2,35 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>WhisperDictate</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<key>CFBundleIdentifier</key>
<string>com.whisperdictate.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>WhisperDictate</string>
<key>CFBundleDisplayName</key>
<string>WhisperDictate</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>LSUIElement</key>
<true/>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSMicrophoneUsageDescription</key>
<string>WhisperDictate needs microphone access to record your voice for transcription.</string>
<key>NSAppleEventsUsageDescription</key>
<string>WhisperDictate needs accessibility access to paste transcribed text.</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>WhisperDictate</string>
<key>CFBundleExecutable</key>
<string>WhisperDictate</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<key>CFBundleIdentifier</key>
<string>com.whisperdictate.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>WhisperDictate</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.1</string>
<key>CFBundleVersion</key>
<string>2</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>LSUIElement</key>
<true/>
<key>NSAppleEventsUsageDescription</key>
<string>WhisperDictate needs accessibility access to paste transcribed text.</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSMicrophoneUsageDescription</key>
<string>WhisperDictate needs microphone access to record your voice for transcription.</string>
</dict>
</plist>

Fájl megtekintése

@@ -0,0 +1,28 @@
<?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>
<!-- Not sandboxed: WhisperDictate uses global Accessibility / synthetic
keystrokes and spawns a bundled CLI, which the App Sandbox forbids.
Distributed via Developer ID, not the Mac App Store. -->
<key>com.apple.security.app-sandbox</key>
<false/>
<!-- The app bundles whisper-cli + ggml/whisper dylibs in the app. Disabling
library validation lets the process tree load them without tripping the
hardened runtime's same-Team-ID check. -->
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<!-- Hardened-runtime resource-access entitlement. REQUIRED for microphone
access under the hardened runtime: without it tccd refuses to even
prompt and denies kTCCServiceMicrophone outright, so the app records
silence (and whisper hallucinates on the empty audio). Must be present
on any Developer ID / notarized build. -->
<key>com.apple.security.device.audio-input</key>
<true/>
<!-- whisper.cpp's Metal/ggml backend generates code at runtime; the
hardened runtime needs allow-jit so the bundled whisper-cli/dylibs
don't get killed for JIT. -->
<key>com.apple.security.cs.allow-jit</key>
<true/>
</dict>
</plist>