mirror of
https://github.com/zapstore/zapstore.git
synced 2026-10-05 12:38:24 +00:00
Performance improvements on deletion check
This commit is contained in:
@@ -20,6 +20,12 @@ Future<void> processDeletions({
|
||||
}) async {
|
||||
final lastSync = await secureStorage.getDeletionsSyncedUntil();
|
||||
|
||||
// First run: no local data to delete, just seed the cursor.
|
||||
if (lastSync == null) {
|
||||
await secureStorage.setDeletionsSyncedUntil(DateTime.now());
|
||||
return;
|
||||
}
|
||||
|
||||
final deletionRequests = await storage.query(
|
||||
RequestFilter<EventDeletionRequest>(
|
||||
since: lastSync,
|
||||
|
||||
@@ -149,19 +149,21 @@ class UpdatePollerNotifier extends StateNotifier<UpdatePollerState> {
|
||||
final storage =
|
||||
ref.read(storageNotifierProvider.notifier) as PurplebaseStorageNotifier;
|
||||
|
||||
final result = await fetchCatalog(
|
||||
storage: storage,
|
||||
installedIds: pmState.installed.keys.toSet(),
|
||||
platform: ref.read(packageManagerProvider.notifier).platform,
|
||||
subscriptionPrefix: 'app-updates-poll',
|
||||
);
|
||||
|
||||
await processDeletions(
|
||||
storage: storage,
|
||||
secureStorage: ref.read(secureStorageServiceProvider),
|
||||
subscriptionPrefix: 'app-deletions-poll',
|
||||
);
|
||||
final results = await Future.wait([
|
||||
fetchCatalog(
|
||||
storage: storage,
|
||||
installedIds: pmState.installed.keys.toSet(),
|
||||
platform: ref.read(packageManagerProvider.notifier).platform,
|
||||
subscriptionPrefix: 'app-updates-poll',
|
||||
),
|
||||
processDeletions(
|
||||
storage: storage,
|
||||
secureStorage: ref.read(secureStorageServiceProvider),
|
||||
subscriptionPrefix: 'app-deletions-poll',
|
||||
),
|
||||
]);
|
||||
|
||||
final result = results[0] as CatalogResult;
|
||||
state = state.copyWith(catalogedIds: result.catalogedIds);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user