fix: images was not reuploaded in case of a reupload request

This commit is contained in:
otsmr 2026-02-07 23:02:36 +01:00
parent 90bf634f59
commit 4f6bffa61a
3 changed files with 26 additions and 1 deletions

View file

@ -44,6 +44,15 @@ void main() async {
}
unawaited(performTwonlySafeBackup());
if (gUser.appVersion < 90) {
// BUG: Requested media files for reupload where not reuploaded because the wrong state...
await twonlyDB.mediaFilesDao.updateAllRetransmissionUploadingState();
await updateUserdata((u) {
u.appVersion = 90;
return u;
});
}
}
globalApplicationCacheDirectory = (await getApplicationCacheDirectory()).path;

View file

@ -131,4 +131,18 @@ class MediaFilesDao extends DatabaseAccessor<TwonlyDB>
..limit(100))
.watch();
}
Future<void> updateAllRetransmissionUploadingState() async {
await (update(mediaFiles)
..where(
(t) =>
t.uploadState.equals(UploadState.uploading.name) &
t.reuploadRequestedBy.isNotNull(),
))
.write(
const MediaFilesCompanion(
uploadState: Value(UploadState.preprocessing),
),
);
}
}

View file

@ -6,6 +6,7 @@ import 'package:twonly/src/database/tables/messages.table.dart';
import 'package:twonly/src/database/twonly.db.dart';
import 'package:twonly/src/model/protobuf/client/generated/messages.pb.dart';
import 'package:twonly/src/services/api/mediafiles/download.service.dart';
import 'package:twonly/src/services/api/mediafiles/upload.service.dart';
import 'package:twonly/src/services/api/utils.dart';
import 'package:twonly/src/services/flame.service.dart';
import 'package:twonly/src/services/mediafiles/mediafile.service.dart';
@ -178,9 +179,10 @@ Future<void> handleMediaUpdate(
await twonlyDB.mediaFilesDao.updateMedia(
mediaFile.mediaId,
MediaFilesCompanion(
uploadState: const Value(UploadState.uploading),
uploadState: const Value(UploadState.preprocessing),
reuploadRequestedBy: Value(reuploadRequestedBy),
),
);
unawaited(startBackgroundMediaUpload(MediaFileService(mediaFile)));
}
}