mirror of
https://github.com/home-assistant/iOS.git
synced 2026-02-15 16:41:00 -06:00
Replace @Observable macro with ObservableObject pattern to fix crash during app launch on iOS 15-16 devices. Root cause: - PassThroughWindow used @Observable macro (iOS 17+ API) - Despite @available(iOS 18, *), Swift compiled metadata into binary - During app launch, Realm's objc_copyClassList() triggered metadata loading for all classes - @Observable generated code referenced symbols unavailable on iOS 15/16 - Result: null pointer dereference crash at startup The fix: - Replace @Observable with ObservableObject + @Published properties - These patterns work on iOS 13+, safe for iOS 15/16 - No behavioral changes, same observation mechanism - Maintains @available(iOS 18, *) for class usage Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>