fix: Set unread notification count only if not null in sync
Fixes an edge case in the sdk which sets the unread notification count wrongly to 0 on room fake sync.
This commit is contained in:
parent
82d6318293
commit
d3497cac68
|
|
@ -2979,10 +2979,13 @@ class Client extends MatrixApi {
|
||||||
rooms[roomIndex].prev_batch = chatUpdate.timeline?.prevBatch;
|
rooms[roomIndex].prev_batch = chatUpdate.timeline?.prevBatch;
|
||||||
}
|
}
|
||||||
rooms[roomIndex].membership = membership;
|
rooms[roomIndex].membership = membership;
|
||||||
rooms[roomIndex].notificationCount =
|
|
||||||
chatUpdate.unreadNotifications?.notificationCount ?? 0;
|
if (chatUpdate.unreadNotifications != null) {
|
||||||
rooms[roomIndex].highlightCount =
|
rooms[roomIndex].notificationCount =
|
||||||
chatUpdate.unreadNotifications?.highlightCount ?? 0;
|
chatUpdate.unreadNotifications?.notificationCount ?? 0;
|
||||||
|
rooms[roomIndex].highlightCount =
|
||||||
|
chatUpdate.unreadNotifications?.highlightCount ?? 0;
|
||||||
|
}
|
||||||
|
|
||||||
final summary = chatUpdate.summary;
|
final summary = chatUpdate.summary;
|
||||||
if (summary != null) {
|
if (summary != null) {
|
||||||
|
|
|
||||||
|
|
@ -295,6 +295,8 @@ void main() {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
expect(room.hasNewMessages, true);
|
expect(room.hasNewMessages, true);
|
||||||
|
expect(room.isUnreadOrInvited, true);
|
||||||
|
room.notificationCount = room.highlightCount = 0;
|
||||||
expect(room.isUnreadOrInvited, false);
|
expect(room.isUnreadOrInvited, false);
|
||||||
expect(room.lastEvent?.body, 'cd');
|
expect(room.lastEvent?.body, 'cd');
|
||||||
await updateLastEvent(
|
await updateLastEvent(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue