steady_async_riverpod
Riverpod 3 integration for steady_async.
It translates AsyncValue<T> without changing your provider architecture.
dependencies:
steady_async_riverpod: ^0.2.0
final users = ref.watch(usersProvider);
return SteadyRiverpodView<List<User>>(
value: users,
onRetry: () => ref.invalidate(usersProvider),
isEmpty: (items) => items.isEmpty,
dataBuilder: (context, items) => UsersList(items),
);
AsyncValue.toSteadyState() also gives you an explicit core state. Previous
values, refresh/reload intent, stack traces, typed failure origin, errors, and
progress are preserved. Riverpod does not expose request timestamps, so the
adapter does not invent lastUpdatedAt or lastAttemptAt values. Requires
Flutter 3.29+, Dart 3.7+, and flutter_riverpod >=3.3.2 <4.0.0.
For cursor pagination, let an autoDispose Provider own a core
SteadyPagedController and dispose it through ref.onDispose. See the complete
Riverpod 3 and Firestore recipe.
Libraries
- steady_async_riverpod
- Riverpod 3 adapters for steady_async.