Skip to content

v1.3.3 — Settings crash + profile decode fixes

Choose a tag to compare

@mosandlt mosandlt released this 20 Apr 10:32
· 19 commits to main since this release

🇩🇪 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.sh was not copying the SPM-generated KeyboardShortcuts_KeyboardShortcuts.bundle into the .app. The first time a recorder view tried to resolve Bundle.module, it hit _assertionFailure and the process died with no error dialog. Build script now copies every *.bundle the Swift build emits next to the binary into Contents/Resources/.
  • Profile list no longer disappears after upgrading from v1.3.0/v1.3.1. ProfileStore.loadFromDisk decoded the whole saved profile array with try?. If you had an Apple Intelligence profile from v1.3.0, its provider: "appleIntelligence" value fails to decode in v1.3.2+ (the enum case is gone) — and try? 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 repairs activeProfileID if 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.sh hat das von SPM generierte KeyboardShortcuts_KeyboardShortcuts.bundle nicht mit in die .app kopiert. Sobald die erste Recorder-View auf Bundle.module zugreifen wollte, fiel das in _assertionFailure und der Prozess starb ohne Fehlermeldung. Das Build-Skript kopiert jetzt alle *.bundle, die der Swift-Build neben dem Binary ablegt, nach Contents/Resources/.
  • Die Profil-Liste verschwindet nach einem Upgrade von v1.3.0/v1.3.1 nicht mehr. ProfileStore.loadFromDisk hat das gespeicherte Profile-Array komplett mit try? decodiert. Wer ein Apple-Intelligence-Profil aus v1.3.0 hatte, dessen provider: "appleIntelligence"-Wert lässt sich in v1.3.2+ nicht mehr decodieren (der Enum-Case ist weg) — und try? 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 repariert activeProfileID, 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.