From ad647a3a21ed1f8be7670bc3dfec48d520fdfe8a Mon Sep 17 00:00:00 2001 From: otsmr Date: Sun, 19 Apr 2026 21:00:40 +0200 Subject: [PATCH] fix: issue with image could not be inserted --- lib/src/database/daos/mediafiles.dao.dart | 8 ++++---- lib/src/services/api/client2client/media.c2c.dart | 10 +++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/src/database/daos/mediafiles.dao.dart b/lib/src/database/daos/mediafiles.dao.dart index 01752ed..5ff7cb6 100644 --- a/lib/src/database/daos/mediafiles.dao.dart +++ b/lib/src/database/daos/mediafiles.dao.dart @@ -24,13 +24,13 @@ class MediaFilesDao extends DatabaseAccessor ); } - final rowId = await into( - mediaFiles, - ).insertOnConflictUpdate(insertMediaFile); + await into(mediaFiles).insertOnConflictUpdate(insertMediaFile); + + final mediaId = insertMediaFile.mediaId.value; return await (select( mediaFiles, - )..where((t) => t.rowId.equals(rowId))).getSingle(); + )..where((t) => t.mediaId.equals(mediaId))).getSingle(); } catch (e) { Log.error('Could not insert media file: $e'); return null; diff --git a/lib/src/services/api/client2client/media.c2c.dart b/lib/src/services/api/client2client/media.c2c.dart index 4f08d91..496ac0b 100644 --- a/lib/src/services/api/client2client/media.c2c.dart +++ b/lib/src/services/api/client2client/media.c2c.dart @@ -117,8 +117,8 @@ Future handleMedia( } } - late MediaFile? mediaFile; - late Message? message; + MediaFile? mediaFile; + Message? message; await twonlyDB.transaction(() async { mediaFile = await twonlyDB.mediaFilesDao.insertOrUpdateMedia( @@ -163,7 +163,7 @@ Future handleMedia( ); }); - if (message != null) { + if (message != null && mediaFile != null) { await twonlyDB.groupsDao.increaseLastMessageExchange( groupId, fromTimestamp(media.timestamp), @@ -176,6 +176,10 @@ Future handleMedia( ); unawaited(startDownloadMedia(mediaFile!, false)); + } else { + Log.error( + 'Could not insert new message as both the message and mediaFile are empty.', + ); } }