Vorssaint : Correctif des clics sur l'encoche
Un correctif fusionné dans un toolkit de barre de menus macOS à plus de 22K étoiles : les clics sur le bord supérieur de l'écran étaient perdus pendant l'animation de l'encoche. 9 sur 11 échouaient avant le correctif ; les 21 ont été enregistrés après.
Le bug
Vorssaint est un toolkit gratuit et open source pour la barre de menus de macOS, avec une encoche façon Dynamic Island. Les clics sur la toute première rangée de l'écran appartiennent à la barre de menus, donc l'îlot les gère lui-même.
Pendant l'animation de pulsation au survol de l'îlot, ces clics étaient perdus sans aucun signal. Dans mes tests, 9 clics sur 11 sur la rangée supérieure ne faisaient rien.
Cause racine
Trois vérifications distinctes annulaient le clic pendant l'animation : - L'appui était testé contre la forme de l'îlot telle qu'elle était dessinée à l'instant, ce qui rejette les points que l'îlot est encore en train de recouvrir en grandissant. - Un appui tout au bord de l'écran signale un glissement presque immédiatement, souvent sans que le pointeur bouge, ce qui annulait le clic. - Le relâchement devait se faire dans la zone d'appui d'origine, que la pulsation peut modifier en plein clic.
Le correctif
- Tester l'appui contre la forme finale de l'îlot plutôt que la forme à l'écran.
- N'annuler que lorsqu'un glissement quitte réellement l'îlot.
- Accepter un relâchement dans l'ancienne ou la nouvelle zone.
Le comportement qui ne devait pas changer est préservé : les coins transparents laissent passer les clics vers la barre de menus, et glisser ou relâcher hors de l'îlot annule toujours.
Le prouver
J'ai ajouté des tests unitaires de clics en bordure qui échouent sur l'ancien code et passent sur le nouveau. Après le correctif, les 21 clics sur la rangée supérieure de mes tests ont été enregistrés. La PR a modifié 4 fichiers, ajouté 58 lignes, et a été fusionnée le 1er octobre 2026.