mirror of
https://github.com/zapstore/zapstore.git
synced 2026-10-05 20:48:24 +00:00
Initialization and data loading fixes
This commit is contained in:
@@ -52,8 +52,6 @@ class ZapstoreApp extends ConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
ref.watch(relayListenerProvider);
|
||||
|
||||
return MaterialApp.router(
|
||||
builder: materialErrorBuilder,
|
||||
routerConfig: appRouter,
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ mixin AppAdapter on Adapter<App> {
|
||||
return super.findAll(params: params);
|
||||
}
|
||||
|
||||
Future<List<App>> findInstalled() async {
|
||||
Future<List<App>> checkForUpdates() async {
|
||||
final appIds = await _installedIdentifiers();
|
||||
if (appIds.isNotEmpty) {
|
||||
final apps = await fetchAppModels({'#d': appIds});
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:zapstore/main.data.dart';
|
||||
import 'package:zapstore/models/app.dart';
|
||||
import 'package:zapstore/models/release.dart';
|
||||
import 'package:zapstore/utils/system_info.dart';
|
||||
import 'package:zapstore/widgets/latest_releases_container.dart';
|
||||
|
||||
// NOTE: Very important to use const in relay args to preserve equality in Riverpod families
|
||||
// const kAppRelays = {'ws://10.0.2.2:3000'};
|
||||
@@ -136,9 +137,9 @@ class RelayListenerNotifier extends Notifier<void> {
|
||||
@override
|
||||
void build() {
|
||||
print('Building main listener');
|
||||
// TODO: Every 1 hour
|
||||
fetch();
|
||||
final timer = Timer.periodic(Duration(minutes: 10), (_) => fetch());
|
||||
// TODO: Every 1 hour
|
||||
final timer = Timer.periodic(Duration(minutes: 2), (_) => fetch());
|
||||
|
||||
// This will get disposed when clearing and restarting the app
|
||||
ref.onDispose(() {
|
||||
@@ -147,8 +148,11 @@ class RelayListenerNotifier extends Notifier<void> {
|
||||
}
|
||||
|
||||
Future<void> fetch() async {
|
||||
// ref.apps.appAdapter.findInstalled();
|
||||
// await ref.read(latestReleasesAppProvider.notifier).fetch();
|
||||
await Future.microtask(() async {
|
||||
print('CALLING ${DateTime.now().toIso8601String()}');
|
||||
await ref.read(latestReleasesAppProvider.notifier).fetch();
|
||||
await ref.apps.appAdapter.checkForUpdates();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:zapstore/main.dart';
|
||||
import 'package:zapstore/main.data.dart';
|
||||
import 'package:zapstore/models/app.dart';
|
||||
import 'package:zapstore/models/local_app.dart';
|
||||
import 'package:zapstore/models/nostr_adapter.dart';
|
||||
import 'package:zapstore/navigation/router.dart';
|
||||
import 'package:zapstore/widgets/app_curation_container.dart';
|
||||
|
||||
@@ -54,9 +55,6 @@ final appInitializer = FutureProvider<void>((ref) async {
|
||||
// Preload zapstore's nostr curation set
|
||||
await ref.read(appCurationSetProvider(kNostrCurationSet).notifier).fetch();
|
||||
|
||||
// Trigger app install status calculations in the background
|
||||
ref.localApps.localAppAdapter.refreshUpdateStatus();
|
||||
|
||||
// Handle deep links
|
||||
final appLinksSub = appLinks.uriLinkStream.listen((uri) async {
|
||||
if (uri.scheme == "zapstore") {
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:go_router/go_router.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:zapstore/main.dart';
|
||||
import 'package:zapstore/models/app.dart';
|
||||
import 'package:zapstore/models/nostr_adapter.dart';
|
||||
import 'package:zapstore/navigation/app_initializer.dart';
|
||||
import 'package:zapstore/navigation/desktop_scaffold.dart';
|
||||
import 'package:zapstore/navigation/mobile_scaffold.dart';
|
||||
@@ -103,6 +104,10 @@ class ScaffoldWithNestedNavigation extends HookConsumerWidget {
|
||||
child: initializer.when(
|
||||
data: (_) => LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
// At this point initialization is done
|
||||
// listen to relay
|
||||
ref.watch(relayListenerProvider);
|
||||
|
||||
if (constraints.maxWidth < 550) {
|
||||
return MobileScaffold(
|
||||
body: navigationShell,
|
||||
|
||||
@@ -88,9 +88,7 @@ class LatestReleasesAppNotifier extends StateNotifier<AsyncValue<List<App>>> {
|
||||
int page = 1;
|
||||
Ref ref;
|
||||
|
||||
LatestReleasesAppNotifier(this.ref) : super(AsyncLoading()) {
|
||||
fetch();
|
||||
}
|
||||
LatestReleasesAppNotifier(this.ref) : super(AsyncLoading());
|
||||
|
||||
// @override
|
||||
// Future<List<App>> build() async {
|
||||
|
||||
Reference in New Issue
Block a user