Add hasInitiallyLoaded flag to guard against calling bootstrap() multiple
times when SwiftUI's onAppear fires unexpectedly (layout changes, window
show/hide). This prevents the blank loading screen from appearing during
normal chat use.
Fixes#2465
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>