Performance improvements on deletion check

This commit is contained in:
franzap
2026-04-08 16:15:30 -03:00
parent 2e10edf850
commit d0c3d5e742
2 changed files with 20 additions and 12 deletions
+6
View File
@@ -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,
+14 -12
View File
@@ -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);
}