AgentVoice 1.0.5 — çökme düzeltmesi (ADP-720)
Bu sürüm uygulamanın kendiliğinden kapanmasını durduruyor. 1.0.3 ve 1.0.4'te
AgentVoice açıldıktan kısa süre sonra — çoğu zaman ilk dikte denemenizde —
hiçbir hata göstermeden kapanıyordu. "Kapatınca çöküyor" gibi görünen şey aslında
"açılırken çöküyor, siz de tekrar açıyorsunuz" idi; tek bir günde beş kez yaşandı.
Sebep: klavye dinleyicisi, macOS'un yalnız ana iş parçacığından çağrılmasına izin
verdiği bir sistem fonksiyonunu (girdi kaynağı / klavye düzeni okuma) arka plandan
çağırıyordu. macOS bu ihlalde hata vermez — süreci doğrudan öldürür. Bu yüzden ne
uygulama içinde bir uyarı çıkıyordu ne de yakalanabilecek bir hata vardı.
Artık bu çağrılar tek bir ana-thread kapısından geçiyor: arka plan iş parçacıkları
o sistem fonksiyonlarına hiç dokunmuyor. Kapıyı atlayan bir yol kalırsa uygulama
ölmüyor, log'a yazıp zararsız bir değerle devam ediyor.
Ayrıca bu sürümde
- Uygulama içi duyurular (ADP-716). Yeni sürüm ve önemli notlar artık
uygulamanın içinde görünüyor: menü çubuğu simgesinde rozet, tıklayınca
okunabilir bir kart. Duyuruyu okuduğunuzda rozet sönüyor. - Kapanış artık gerçekten temizlik yapıyor. Ölçüldü ki eski kapanış yolu
temizlik kodunu hiç çalıştırmıyordu (uygulama kapanış sinyalini yaymadan
ölüyordu). Artık dikte iş parçacıkları düzgün durduruluyor. - Klavye düzeni okunamazsa metin sessizce kaybolmuyor: panoya alınıyor ve
size anlaşılır bir hata gösteriliyor.
Güncelledikten sonra
Ek bir adım yok — izinleriniz korunur. (İmza değişmediği için macOS mikrofon
iznini yeniden sormaz.)
Yayın kapısı — bu sürümden itibaren
1.0.3 felaketi (imzalı, notarize edilmiş, doğrulanmış ve mikrofonu hiç çalışmayan
paket) ve 1.0.4 (çöken paket) aynı kör noktadan doğdu: yayın hattındaki kapıların
hepsi "paket bozulmamış mı" diye soruyordu, "paket işini yapabiliyor mu" diye
soran yoktu. Artık paket yayınlanmadan önce gerçekten çalıştırılıyor:
açılıyor, dikte yolu koşuyor, temiz kapanıyor. Bu kapıdan geçmeyen bir paket
yayınlanamıyor.