Repository navigation
v1.3.3 — Settings crash + profile decode fixes
🇩🇪 Deutsch unten · 🇬🇧 English below
🇬🇧 English
Bugfix release. Two v1.3.2 regressions, both root-caused and fixed.
Fixed
- Settings → Hotkeys no longer crashes the app.
build-app.shwas not copying the SPM-generatedKeyboardShortcuts_KeyboardShortcuts.bundleinto the.app. The first time a recorder view tried to resolveBundle.module, it hit_assertionFailureand the process died with no error dialog. Build script now copies every*.bundlethe Swift build emits next to the binary intoContents/Resources/. - Profile list no longer disappears after upgrading from v1.3.0/v1.3.1.
ProfileStore.loadFromDiskdecoded the whole saved profile array withtry?. If you had an Apple Intelligence profile from v1.3.0, itsprovider: "appleIntelligence"value fails to decode in v1.3.2+ (the enum case is gone) — andtry?then dropped the entire list, not just the stale entry. Loader now falls back to per-element decode, keeps every profile it can parse, drops only the unknown ones, rewrites the plist cleanly, and repairsactiveProfileIDif it pointed at a removed profile. Your keys stay in Keychain, nothing to re-enter.
First launch
Same as before: right-click the .app → Open once (ad-hoc signed, not notarized). macOS then remembers.
🇩🇪 Deutsch
Bugfix-Release. Zwei v1.3.2-Regressionen, beide in der Wurzel gefunden und gefixt.
Behoben
- Settings → Hotkeys crasht die App nicht mehr.
build-app.shhat das von SPM generierteKeyboardShortcuts_KeyboardShortcuts.bundlenicht mit in die.appkopiert. Sobald die erste Recorder-View aufBundle.modulezugreifen wollte, fiel das in_assertionFailureund der Prozess starb ohne Fehlermeldung. Das Build-Skript kopiert jetzt alle*.bundle, die der Swift-Build neben dem Binary ablegt, nachContents/Resources/. - Die Profil-Liste verschwindet nach einem Upgrade von v1.3.0/v1.3.1 nicht mehr.
ProfileStore.loadFromDiskhat das gespeicherte Profile-Array komplett mittry?decodiert. Wer ein Apple-Intelligence-Profil aus v1.3.0 hatte, dessenprovider: "appleIntelligence"-Wert lässt sich in v1.3.2+ nicht mehr decodieren (der Enum-Case ist weg) — undtry?hat dann die komplette Liste verworfen, nicht nur den defekten Eintrag. Der Loader decodiert jetzt pro Element nachgelagert, behält alles Parsbare, wirft nur die unbekannten Einträge raus, schreibt die plist sauber zurück und repariertactiveProfileID, falls die auf ein gelöschtes Profil gezeigt hat. Deine Keys bleiben im Keychain, es gibt nichts neu einzutragen.
Erster Start
Wie bisher: Rechtsklick auf die .app → Öffnen (ad-hoc signiert, nicht notarisiert). macOS merkt es sich danach.