diff --git a/lib/pangea/controllers/get_analytics_controller.dart b/lib/pangea/controllers/get_analytics_controller.dart index 66cf39501..26aa7234b 100644 --- a/lib/pangea/controllers/get_analytics_controller.dart +++ b/lib/pangea/controllers/get_analytics_controller.dart @@ -162,7 +162,8 @@ class GetAnalyticsController { return formattedCache; } catch (err) { // if something goes wrong while trying to format the local data, clear it - _pangeaController.myAnalytics.clearMessagesSinceUpdate(); + _pangeaController.myAnalytics + .clearMessagesSinceUpdate(clearDrafts: true); return {}; } } catch (exception, stackTrace) { diff --git a/lib/pangea/controllers/my_analytics_controller.dart b/lib/pangea/controllers/my_analytics_controller.dart index 6ffa1ef31..48dc67573 100644 --- a/lib/pangea/controllers/my_analytics_controller.dart +++ b/lib/pangea/controllers/my_analytics_controller.dart @@ -243,7 +243,12 @@ class MyAnalyticsController extends BaseController { } /// Clears the local cache of recently sent constructs. Called before updating analytics - void clearMessagesSinceUpdate() { + void clearMessagesSinceUpdate({clearDrafts = false}) { + if (clearDrafts) { + _pangeaController.pStoreService.delete(PLocalKey.messagesSinceUpdate); + return; + } + final localCache = _pangeaController.analytics.messagesSinceUpdate; final draftKeys = localCache.keys.where((key) => key.startsWith('draft')); if (draftKeys.isEmpty) {