MainWindowRecovery
Buduje główne okno od nowa po wyjątku, który dotarł do handlera okna Compose.
Domyślny handler pokazuje komunikat i zamyka okno, a z nim całą aplikację. Samo połknięcie wyjątku nie wystarcza: porażka korutyny z kompozycji anuluje po drodze Recomposer okna i zostaje okno, które już się nie przerysuje. Dlatego okno powstaje od nowa przez zmianę generation w key. Stan aplikacji to przeżywa, bo żyje poza kompozycją: stosy ekranów w AppRouter, formularze w swoich handlerach. Ginie tylko stan z remember, np. przewinięcie listy.
Okno, które pada zaraz po zbudowaniu, padałoby w kółko. Wtedy przed odbudową zdejmowany jest ekran ze szczytu aktywnej zakładki, bo to on najpewniej rzuca przy kompozycji. Gdy zostaje sam ekran główny zakładki, sprawę przejmuje domyślny handler i aplikacja się zamyka.