AXIsProcessTrustedWithOptions(prompt) : macOS affiche sa popup officielle
et crée l'entrée TCC correctement (l'ajout manuel via « + » ne prenait pas).
Diag de l'état de confiance dans le log.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sur macOS Tahoe (26.5), le NSStatusItem n'est jamais placé (fenêtre h=0) si :
1. l'exécutable du processus n'appartient pas au bundle lancé (le python
framework se ré-exécute → identité dépareillée) → stub C qui dlopen
libpython et exécute app.py DANS le processus du bundle ;
2. l'item est créé par rumps (cause interne non isolée, l'API native
fonctionne) → app.py réécrit en pyobjc pur (NSStatusItem + NSMenu).
Le stub transmet argv à python quand il y en a (workers multiprocessing
de MLX) — sinon bombe à fork (9 instances observées). PYTHONUNBUFFERED
pour que les print atteignent ~/Library/Logs/Zonza.log. Auto-diagnostic
du placement de l'icône au démarrage. rumps retiré des dépendances.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
setActivationPolicy_(Accessory) appelé avant rumps.run() empêche la
création du NSStatusItem sur Tahoe (vérifié par test A/B). Retiré :
LSUIElement dans l'Info.plist suffit pour masquer l'icône Dock.
Le lanceur redirige aussi stdout/stderr vers ~/Library/Logs/Zonza.log.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reconstruction propre de l'ancien projet Dictée. Bundle id neuf
(cloud.mrtechlab.zonza), chemin de build unique vers /Applications
(plus jamais de builds /tmp enregistrés dans LaunchServices).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>