From fde95120ecdcc994b3938d760772a5c6681a1eaf Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 18 Mar 2025 11:52:41 -0500 Subject: [PATCH] send all acks at once --- mobile/lib/domain/interfaces/sync_api.interface.dart | 2 +- mobile/lib/domain/services/sync_stream.service.dart | 12 +++--------- .../repositories/sync_api.repository.dart | 4 ++-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/mobile/lib/domain/interfaces/sync_api.interface.dart b/mobile/lib/domain/interfaces/sync_api.interface.dart index 5999be1ba8..0bb4152c65 100644 --- a/mobile/lib/domain/interfaces/sync_api.interface.dart +++ b/mobile/lib/domain/interfaces/sync_api.interface.dart @@ -1,7 +1,7 @@ import 'package:immich_mobile/domain/models/sync/sync_event.model.dart'; abstract interface class ISyncApiRepository { - Future ack(String data); + Future ack(List data); Stream> watchUserSyncEvent(); diff --git a/mobile/lib/domain/services/sync_stream.service.dart b/mobile/lib/domain/services/sync_stream.service.dart index 9a7da7921f..5ecfdcd681 100644 --- a/mobile/lib/domain/services/sync_stream.service.dart +++ b/mobile/lib/domain/services/sync_stream.service.dart @@ -40,9 +40,7 @@ class SyncStreamService { } } - for (final ack in acks.values) { - await _syncApiRepository.ack(ack); - } + await _syncApiRepository.ack(acks.values.toList()); }, onDone: () { _isUserSyncing = false; @@ -78,9 +76,7 @@ class SyncStreamService { } } - for (final ack in acks.values) { - await _syncApiRepository.ack(ack); - } + await _syncApiRepository.ack(acks.values.toList()); }, onDone: () { _isAssetSyncing = false; @@ -113,9 +109,7 @@ class SyncStreamService { } } - for (final ack in acks.values) { - await _syncApiRepository.ack(ack); - } + await _syncApiRepository.ack(acks.values.toList()); }, onDone: () { _isExifSyncing = false; diff --git a/mobile/lib/infrastructure/repositories/sync_api.repository.dart b/mobile/lib/infrastructure/repositories/sync_api.repository.dart index 206fd0917f..8e01e54b60 100644 --- a/mobile/lib/infrastructure/repositories/sync_api.repository.dart +++ b/mobile/lib/infrastructure/repositories/sync_api.repository.dart @@ -44,8 +44,8 @@ class SyncApiRepository implements ISyncApiRepository { } @override - Future ack(String data) { - return _api.syncApi.sendSyncAck(SyncAckSetDto(acks: [data])); + Future ack(List data) { + return _api.syncApi.sendSyncAck(SyncAckSetDto(acks: data)); } Stream> _getSyncStream(