[06-Reviewer] #311 fileMissing 회복 자동화
SettingsScreen pop 후 ChatScreen state 가 여전히 Failed(fileMissing) 인 회로 — 사용자가 다운로드를 끝내고 돌아와도 ChatScreen 전체를 pop & re-push 해야 회복되는 UX gap. Navigator.push().then((_) => retry()) 로 SettingsScreen 닫힐 때 자동 retry. quickCheck 다시 → ready 면 load → Ready 회복. 다운로드 안 했으면 다시 Failed 로 떨어져 같은 배너 노출 (일관). `context.mounted` 가드는 ChatScreen 이 dispose 된 race 대비. Refs #311
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user