Skip to content

v4.0.1 — Fix popover bloqueado tras cerrar sheet

Choose a tag to compare

@MoLinesDesigns MoLinesDesigns released this 05 Jun 00:17
6935a40

Brew-TUI 4.0.1 — Fix: popover bloqueado tras cerrar sheet

Bug detectado y reportado tras 4.0.0: el popover queda visible pero ninguno de sus botones responde al click después de cerrar un sheet (modal de install/upgrade, Settings, o "What's new in Homebrew"). Los botones aparecen habilitados pero los clicks no llegan, obligando a matar la app y relanzarla.

Causa

Interacción conocida entre NSPopover y SwiftUI.sheet en macOS: al cerrarse el sheet, el _NSPopoverWindow subyacente pierde su key-window status y no lo recupera. La vista sigue dibujándose pero el hit testing de SwiftUI solo enruta eventos a la window key — los clicks sobre los botones se descartan antes de llegar a los handlers.

Fix

Cada .sheet ahora pasa onDismiss: restorePopoverKey, que localiza la NSWindow del popover (match por className conteniendo Popover, con fallback razonable) y llama makeKey() en el siguiente runloop tick. Asíncrono a propósito para no competir con la animación de cierre del sheet.

Aplica a los tres modales:

  • Settings
  • Install progress
  • What's new in Homebrew

Cómo actualizar

brew upgrade --cask molinesdesigns/tap/brew-tui-bar

(Solo cambia el menubar app; el CLI y el formato de licencia no cambian. Si ya estás en 4.0.0 y tu licencia funciona, no necesitas tocar nada más.)