Commit graph

6 commits

Author SHA1 Message Date
Lawrence Chen
679cafdc51 Fix update pill constraint feedback loop
The pill never appeared because:
1. SwiftUI .frame(width:0, height:0) when idle poisoned fittingSize
2. AppKit constraints locked at 0x0 prevented expansion on state change
3. fittingSize always returned 0 due to active 0x0 constraints

Fix: Remove zero-frame from SwiftUI (always render at natural size,
use opacity only). Deactivate constraints before measuring fittingSize
so they don't clamp the measurement. Pass visibility to sizeToolbarItem
to set constraints to zero when idle or natural size when active.
2026-02-08 20:21:27 -08:00
Lawrence Chen
59370115ce Fix pill visibility: always render, use opacity to hide
NSHostingView with frame (0,0) won't layout SwiftUI content, so
fittingSize always returns 0 when transitioning from EmptyView.
Instead, always render the pill button and use opacity/frame(0)
to hide when idle. This ensures the hosting view always has content
to measure.
2026-02-08 19:16:07 -08:00
Lawrence Chen
8db5ccbb58 Move no-update auto-dismiss to controller 2026-01-28 04:20:52 -08:00
Lawrence Chen
db17170b26 Stabilize update UI test flow 2026-01-28 03:56:11 -08:00
Lawrence Chen
0441efc675 Improve update UI error details 2026-01-28 01:49:02 -08:00
Lawrence Chen
e3ee246930 Add Sparkle auto-update flow and titlebar update UI 2026-01-26 17:25:34 -08:00