Просмотр исходного кода

sorting added to the announcements array to guarantee that the variable 'last' actually gets the latest announcement (#144)

danielacano 2 лет назад
Родитель
Сommit
ab53702ffe
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      FreeAPS/Sources/APS/FetchAnnouncementsManager.swift

+ 3 - 1
FreeAPS/Sources/APS/FetchAnnouncementsManager.swift

@@ -32,7 +32,9 @@ final class BaseFetchAnnouncementsManager: FetchAnnouncementsManager, Injectable
                 return self.nightscoutManager.fetchAnnouncements()
             }
             .sink { announcements in
-                guard let last = announcements.filter({ $0.createdAt > self.announcementsStorage.syncDate() }).last
+                guard let last = announcements.filter({ $0.createdAt > self.announcementsStorage.syncDate() })
+                                    .sorted(by: { $0.createdAt < $1.createdAt })
+                                    .last
                 else { return }
 
                 self.announcementsStorage.storeAnnouncements([last], enacted: false)