From 7e7ac832e8a35144b2cf0a65777e671c4c9c7ecf Mon Sep 17 00:00:00 2001 From: otsmr Date: Thu, 1 May 2025 23:03:59 +0200 Subject: [PATCH] fix #151 --- lib/src/providers/api/media_received.dart | 11 +++++++---- lib/src/providers/api_provider.dart | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/src/providers/api/media_received.dart b/lib/src/providers/api/media_received.dart index 03d5548..a4fde8f 100644 --- a/lib/src/providers/api/media_received.dart +++ b/lib/src/providers/api/media_received.dart @@ -321,17 +321,20 @@ Future purgeMediaFiles(Directory directory) async { final match = RegExp(r'(\d+)').firstMatch(filename); if (match != null) { // Parse the integer and add it to the list - int messageId = int.parse(match.group(0)!); + int fileId = int.parse(match.group(0)!); + Message? message = (directory.path.endsWith("send")) ? await twonlyDatabase.messagesDao - .getMessageByMediaUploadId(messageId) + .getMessageByMediaUploadId(fileId) .getSingleOrNull() : await twonlyDatabase.messagesDao - .getMessageByMessageId(messageId) + .getMessageByMessageId(fileId) .getSingleOrNull(); if ((message == null) || - (message.openedAt != null && !message.mediaStored) || + (message.openedAt != null && + !message.mediaStored && + message.acknowledgeByServer == true) || message.errorWhileSending) { try { file.deleteSync(); diff --git a/lib/src/providers/api_provider.dart b/lib/src/providers/api_provider.dart index 4e3945a..1e22ca5 100644 --- a/lib/src/providers/api_provider.dart +++ b/lib/src/providers/api_provider.dart @@ -163,7 +163,7 @@ class ApiProvider { Future _waitForResponse(Int64 seq) async { final startTime = DateTime.now(); - final timeout = Duration(seconds: 5); + final timeout = Duration(seconds: 10); while (true) { if (messagesV0[seq] != null) {