e6a749465e
With "Start with Windows" the window sat on screen for a second or two before dropping to the tray. The hide was deferred with ForceQueue, which only runs once the message loop is free — i.e. after the DB open, the HTTP server start and the WebView2 init, all of which happen first. Set Visible := False at the very top of FormCreate instead, before any of that work, so there is nothing to show in the first place. The deferred MinimizeToTray stays: it still adds the tray icon and drops the taskbar entry, and doubles as the safety net if FMX shows the main form regardless — worst case the behaviour is exactly what it is today. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>