diff --git a/app/lib/ui/screens/chat_screen.dart b/app/lib/ui/screens/chat_screen.dart index a8e8727..085377f 100644 --- a/app/lib/ui/screens/chat_screen.dart +++ b/app/lib/ui/screens/chat_screen.dart @@ -209,9 +209,17 @@ class _WarmupErrorBanner extends ConsumerWidget { child: OutlinedButton( onPressed: () { if (isFileMissing) { - Navigator.of(context).push(MaterialPageRoute( - builder: (_) => const SettingsScreen(), - )); + // SettingsScreen pop 후 자동 retry — 사용자가 거기서 다시 + // 다운로드를 완료했다면 ChatScreen 으로 돌아오자마자 회복. + // 다운로드 안 했으면 다시 Failed 로 떨어져 같은 배너 노출. + Navigator.of(context) + .push(MaterialPageRoute( + builder: (_) => const SettingsScreen(), + )) + .then((_) { + if (!context.mounted) return; + ref.read(chatWarmupProvider.notifier).retry(); + }); } else { ref.read(chatWarmupProvider.notifier).retry(); }