mirror of
https://github.com/yattee/yattee.git
synced 2026-07-20 14:22:02 +00:00
On macOS the expanded player window built ExpandedPlayerSheet directly in a fresh NSHostingController on every open. AppKit doesn't composite the window until that heavy view finishes its first layout pass, so the click felt like it waited for data to load before anything appeared. Host a lightweight two-phase root (black + spinner) that composites immediately, then defer building ExpandedPlayerSheet by one runloop so the window shows at once and fades in with visible loading — matching iOS. Because assigning contentViewController resizes the window to the hosting controller's fitting size (tiny for the placeholder), force the content size back to the seeded 16:9 initialSize so the window opens full-sized during the loading phase too.