Skip to content

Commit 02045e8

Browse files
committed
improve media download handling in case of an error
1 parent fc7cb16 commit 02045e8

File tree

12 files changed

+3942
-430
lines changed

12 files changed

+3942
-430
lines changed

drift_schemas/twonly_database/drift_schema_v16.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

lib/src/database/daos/media_downloads_dao.dart

Lines changed: 0 additions & 43 deletions
This file was deleted.

lib/src/database/daos/media_downloads_dao.g.dart

Lines changed: 0 additions & 8 deletions
This file was deleted.

lib/src/database/tables/media_download_table.dart

Lines changed: 0 additions & 8 deletions
This file was deleted.

lib/src/database/twonly_database.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@ import 'package:drift_flutter/drift_flutter.dart'
33
show DriftNativeOptions, driftDatabase;
44
import 'package:path_provider/path_provider.dart';
55
import 'package:twonly/src/database/daos/contacts_dao.dart';
6-
import 'package:twonly/src/database/daos/media_downloads_dao.dart';
76
import 'package:twonly/src/database/daos/media_uploads_dao.dart';
87
import 'package:twonly/src/database/daos/message_retransmissions.dao.dart';
98
import 'package:twonly/src/database/daos/messages_dao.dart';
109
import 'package:twonly/src/database/daos/signal_dao.dart';
1110
import 'package:twonly/src/database/tables/contacts_table.dart';
12-
import 'package:twonly/src/database/tables/media_download_table.dart';
1311
import 'package:twonly/src/database/tables/media_uploads_table.dart';
1412
import 'package:twonly/src/database/tables/message_retransmissions.dart';
1513
import 'package:twonly/src/database/tables/messages_table.dart';
@@ -29,7 +27,6 @@ part 'twonly_database.g.dart';
2927
Contacts,
3028
Messages,
3129
MediaUploads,
32-
MediaDownloads,
3330
SignalIdentityKeyStores,
3431
SignalPreKeyStores,
3532
SignalSenderKeyStores,
@@ -41,7 +38,6 @@ part 'twonly_database.g.dart';
4138
MessagesDao,
4239
ContactsDao,
4340
MediaUploadsDao,
44-
MediaDownloadsDao,
4541
SignalDao,
4642
MessageRetransmissionDao
4743
])
@@ -54,7 +50,7 @@ class TwonlyDatabase extends _$TwonlyDatabase {
5450
TwonlyDatabase.forTesting(DatabaseConnection super.connection);
5551

5652
@override
57-
int get schemaVersion => 15;
53+
int get schemaVersion => 16;
5854

5955
static QueryExecutor _openConnection() {
6056
return driftDatabase(
@@ -91,7 +87,7 @@ class TwonlyDatabase extends _$TwonlyDatabase {
9187
));
9288
},
9389
from4To5: (m, schema) async {
94-
await m.createTable(mediaDownloads);
90+
await m.createTable(schema.mediaDownloads);
9591
await m.addColumn(schema.messages, schema.messages.mediaDownloadId);
9692
await m.addColumn(schema.messages, schema.messages.mediaUploadId);
9793
},
@@ -140,6 +136,9 @@ class TwonlyDatabase extends _$TwonlyDatabase {
140136
await m.addColumn(
141137
schema.messages, schema.messages.mediaRetransmissionState);
142138
},
139+
from15To16: (m, schema) async {
140+
await m.deleteTable('media_downloads');
141+
},
143142
),
144143
);
145144
}
@@ -164,7 +163,6 @@ class TwonlyDatabase extends _$TwonlyDatabase {
164163
Future<void> deleteDataForTwonlySafe() async {
165164
await delete(messages).go();
166165
await delete(messageRetransmissions).go();
167-
await delete(mediaDownloads).go();
168166
await delete(mediaUploads).go();
169167
await update(contacts).write(
170168
const ContactsCompanion(

0 commit comments

Comments
 (0)