diff --git a/mobile/lib/services/memories_cache_service.dart b/mobile/lib/services/memories_cache_service.dart index bd446c7047..0c5aab6c8b 100644 --- a/mobile/lib/services/memories_cache_service.dart +++ b/mobile/lib/services/memories_cache_service.dart @@ -428,8 +428,18 @@ class MemoriesCacheService { allFileIdsToFile[file.uploadedFileID!] = file; } } - final jsonString = file.readAsStringSync(); - return MemoriesCache.decodeFromJsonString(jsonString, allFileIdsToFile); + try { + final bytes = await file.readAsBytes(); + final jsonString = String.fromCharCodes(bytes); + final cache = + MemoriesCache.decodeFromJsonString(jsonString, allFileIdsToFile); + _logger.info("Reading memories cache result from disk done"); + return cache; + } catch (e, s) { + _logger.severe("Error reading or decoding cache file", e, s); + await file.delete(); + return null; + } } Future clearMemoriesCache() async {