diff --git a/lib/screens/app_stacks_screen.dart b/lib/screens/app_stacks_screen.dart index 8adf8a8..a9d06f5 100644 --- a/lib/screens/app_stacks_screen.dart +++ b/lib/screens/app_stacks_screen.dart @@ -31,7 +31,7 @@ class StacksNotifier extends PagedSubscriptionNotifier { _sub = ref.listen( query( tags: _tags, - source: const LocalAndRemoteSource(relays: 'AppCatalog', stream: true), + source: const LocalAndRemoteSource(relays: 'AppCatalog', stream: false), subscriptionPrefix: 'app-stacks', schemaFilter: appStackEventFilter, ), @@ -64,10 +64,12 @@ class StacksNotifier extends PagedSubscriptionNotifier { } final stacksProvider = - StateNotifierProvider>((ref) { - final platform = ref.read(packageManagerProvider.notifier).platform; - return StacksNotifier(ref, platform: platform); - }); + StateNotifierProvider.autoDispose>(( + ref, +) { + final platform = ref.read(packageManagerProvider.notifier).platform; + return StacksNotifier(ref, platform: platform); +}); // --------------------------------------------------------------------------- // Helpers @@ -104,7 +106,8 @@ class AppStacksScreen extends HookConsumerWidget { final platform = ref.read(packageManagerProvider.notifier).platform; final state = ref.watch(stacksProvider); - final items = state.combined; + final items = state.combined + ..sort((a, b) => b.event.createdAt.compareTo(a.event.createdAt)); // Query signed-in user's stacks that may need migration final signedInPubkey = ref.watch(Signer.activePubkeyProvider); diff --git a/lib/widgets/app_stack_container.dart b/lib/widgets/app_stack_container.dart index 784fa9f..bc2e726 100644 --- a/lib/widgets/app_stack_container.dart +++ b/lib/widgets/app_stack_container.dart @@ -72,7 +72,7 @@ class AppStackContainer extends HookConsumerWidget { tags: { '#f': {platform}, }, - source: const LocalAndRemoteSource(relays: 'AppCatalog'), + source: const LocalAndRemoteSource(relays: 'AppCatalog', stream: false), subscriptionPrefix: 'app-stack', schemaFilter: appStackEventFilter, ),