initial commit
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import 'app.dart';
|
||||
import 'core/utils/shared_preferences_provider.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
|
||||
runApp(
|
||||
ProviderScope(
|
||||
// Riverpod 3's container-wide default auto-retries any failed
|
||||
// provider a handful of times with exponential backoff. This app
|
||||
// already has its own deliberate refresh model (manual pull +
|
||||
// PollingMixin for the two screens that need a timer), so the
|
||||
// blanket default just adds a second, invisible retry loop behind
|
||||
// every failed request — surprising, and it visibly fights the
|
||||
// explicit one on a persistently-unreachable connection. Disabled
|
||||
// here; opt back in per-provider with `@Riverpod(retry: ...)` if a
|
||||
// specific one ever wants it.
|
||||
retry: (retryCount, error) => null,
|
||||
overrides: [sharedPreferencesProvider.overrideWithValue(prefs)],
|
||||
child: const App(),
|
||||
),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user