Todos los casos
Contribución open source

Vorssaint: Arreglo de clics en el notch

Un arreglo integrado en un toolkit de barra de menús para macOS con más de 22K estrellas: los clics en el borde superior de la pantalla se perdían mientras se reproducía la animación del notch. Antes del arreglo fallaban 9 de 11; después se registraron los 21.

Rol
Colaborador
Periodo
sep 2026 – oct 2026
Equipo
Revisado e integrado por los mantenedores del proyecto
22K+
estrellas en GitHub del proyecto
21/21
clics en la fila superior registrados tras el arreglo (antes fallaban 9 de 11)
SwiftAppKitmacOSUnit tests
01

El bug

Vorssaint es un toolkit gratuito y de código abierto para la barra de menús de macOS, con un notch al estilo Dynamic Island. Los clics en la fila superior de la pantalla pertenecen a la barra de menús, así que la isla los gestiona ella misma.

Mientras se reproducía la animación de pulso al pasar el cursor sobre la isla, esos clics se perdían sin aviso. En mis pruebas, 9 de 11 clics en la fila superior no hacían nada.

02

Causa raíz

Tres comprobaciones distintas descartaban el clic durante la animación: - El clic se comprobaba contra la forma de la isla tal como estaba dibujada en ese momento, que rechaza puntos que la isla todavía está creciendo para cubrir. - Un clic justo en el borde de la pantalla informa un arrastre casi de inmediato, a menudo sin que el puntero se mueva, lo que cancelaba el clic. - La liberación tenía que caer dentro del área original del clic, que el pulso puede cambiar a mitad del clic.

03

El arreglo

  • Comprobar el clic contra la forma de destino de la isla en lugar de la forma en pantalla.
  • Cancelar solo cuando un arrastre realmente sale de la isla.
  • Aceptar la liberación dentro del área anterior o de la nueva.

El comportamiento que no debía cambiar se mantiene: las esquinas transparentes dejan pasar los clics a la barra de menús, y arrastrar o soltar fuera de la isla sigue cancelando.

04

Demostrarlo

Añadí tests unitarios de clics en el borde que fallan con el código anterior y pasan con el nuevo. Tras el arreglo, los 21 clics en la fila superior de mis pruebas se registraron. El PR modificó 4 archivos, añadió 58 líneas y se integró el 1 de octubre de 2026.