You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Root causes:
1. Irihi.Lingua NuGet package (unused) — source generator/runtime may cause
debug-mode initialization issues. Removed until actual integration.
2. LoadFromResources() called in Initialize() — asset loader may not be
ready yet. Moved to OnFrameworkInitializationCompleted().
3. async void OnFrameworkInitializationCompleted — Avalonia's framework
initialization does not reliably support async continuations; the await
on LoadAsync could cause the continuation to be dropped on certain
synchronization contexts.
4. No synchronous config loading path — startup now uses synchronous
Load()/Save() to avoid async-related deadlocks during initialization.
Runtime saves remain async (window close, property changes).
Changes:
- Remove Irihi.Lingua 0.2.0 package reference
- Move LoadFromResources() from Initialize() to OnFrameworkInitializationCompleted()
- Change OnFrameworkInitializationCompleted back to synchronous (void)
- Add IConfigService.Load() + ConfigService.Load() for synchronous startup
- Add private ConfigService.Save() for synchronous writes during Load()
- Add LoadConfigSafe() with exception-protected synchronous config init
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments