Merge branch 'main' into td/codecov

This commit is contained in:
td 2025-03-14 20:32:10 +01:00 committed by GitHub
commit 7bec90b8cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 10 deletions

View File

@ -2988,9 +2988,6 @@ class Client extends MatrixApi {
chatUpdate.unreadNotifications?.notificationCount ?? 0; chatUpdate.unreadNotifications?.notificationCount ?? 0;
rooms[roomIndex].highlightCount = rooms[roomIndex].highlightCount =
chatUpdate.unreadNotifications?.highlightCount ?? 0; chatUpdate.unreadNotifications?.highlightCount ?? 0;
if (chatUpdate.timeline?.prevBatch != null) {
rooms[roomIndex].prev_batch = chatUpdate.timeline?.prevBatch;
}
final summary = chatUpdate.summary; final summary = chatUpdate.summary;
if (summary != null) { if (summary != null) {

View File

@ -792,7 +792,13 @@ class Event extends MatrixEvent {
throw ('Unable to decrypt file'); throw ('Unable to decrypt file');
} }
} }
return MatrixFile(bytes: uint8list, name: body);
final filename = content.tryGet<String>('filename') ?? body;
return MatrixFile(
bytes: uint8list,
name: filename,
mimeType: attachmentMimetype,
);
} }
/// Returns if this is a known event type. /// Returns if this is a known event type.

View File

@ -744,6 +744,8 @@ class Room {
'msgtype': file.msgType, 'msgtype': file.msgType,
'body': file.name, 'body': file.name,
'filename': file.name, 'filename': file.name,
'info': file.info,
if (extraContent != null) ...extraContent,
}, },
type: EventTypes.Message, type: EventTypes.Message,
eventId: txid, eventId: txid,
@ -1322,7 +1324,6 @@ class Room {
); );
if (onHistoryReceived != null) onHistoryReceived(); if (onHistoryReceived != null) onHistoryReceived();
this.prev_batch = resp.end;
Future<void> loadFn() async { Future<void> loadFn() async {
if (!((resp.chunk.isNotEmpty) && resp.end != null)) return; if (!((resp.chunk.isNotEmpty) && resp.end != null)) return;
@ -1363,13 +1364,14 @@ class Room {
: null, : null,
), ),
), ),
direction: Direction.b, direction: direction,
); );
} }
if (client.database != null) { if (client.database != null) {
await client.database?.transaction(() async { await client.database?.transaction(() async {
if (storeInDatabase) { if (storeInDatabase && direction == Direction.b) {
this.prev_batch = resp.end;
await client.database?.setRoomPrevBatch(resp.end, id, client); await client.database?.setRoomPrevBatch(resp.end, id, client);
} }
await loadFn(); await loadFn();

View File

@ -41,9 +41,10 @@ class MatrixFile {
} }
MatrixFile({required this.bytes, required String name, String? mimeType}) MatrixFile({required this.bytes, required String name, String? mimeType})
: mimeType = mimeType ?? : mimeType = mimeType != null && mimeType.isNotEmpty
lookupMimeType(name, headerBytes: bytes) ?? ? mimeType
'application/octet-stream', : lookupMimeType(name, headerBytes: bytes) ??
'application/octet-stream',
name = name.split('/').last; name = name.split('/').last;
/// derivatives the MIME type from the [bytes] and correspondingly creates a /// derivatives the MIME type from the [bytes] and correspondingly creates a