From f4e39c00eb07376d05b4dae3f78a68413f72afd6 Mon Sep 17 00:00:00 2001 From: bvandeusen Date: Mon, 6 Apr 2026 08:26:59 -0400 Subject: [PATCH] fix: use ref.watch in build() and avoid stale snapshot in loadMore catch --- lib/providers/news_provider.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/providers/news_provider.dart b/lib/providers/news_provider.dart index 18b3a66..2077a0c 100644 --- a/lib/providers/news_provider.dart +++ b/lib/providers/news_provider.dart @@ -56,7 +56,7 @@ class NewsNotifier extends AsyncNotifier { @override Future build() async { - final items = await ref.read(newsApiProvider).getNewsItems( + final items = await ref.watch(newsApiProvider).getNewsItems( days: 90, limit: _limit, offset: 0, @@ -94,7 +94,8 @@ class NewsNotifier extends AsyncNotifier { reactions: updatedReactions, )); } catch (e) { - state = AsyncData(current.copyWith(loadingMore: false)); + final recovered = state.value ?? current; + state = AsyncData(recovered.copyWith(loadingMore: false)); rethrow; } } @@ -152,6 +153,6 @@ final feedsProvider = class FeedsNotifier extends AsyncNotifier> { @override Future> build() async { - return ref.read(newsApiProvider).getFeeds(); + return ref.watch(newsApiProvider).getFeeds(); } }