polscm32 преди 1 година
родител
ревизия
15b6d98a2e
променени са 2 файла, в които са добавени 7 реда и са изтрити 3 реда
  1. 5 1
      Model/Helper/PumpEvent+helper.swift
  2. 2 2
      Trio/Sources/APS/APSManager.swift

+ 5 - 1
Model/Helper/PumpEvent+helper.swift

@@ -91,7 +91,11 @@ extension NSPredicate {
 
     static var recentPumpHistory: NSPredicate {
         let date = Date.twentyMinutesAgo
-        return NSPredicate(format: "timestamp >= %@", date as NSDate)
+        return NSPredicate(
+            format: "type == %@ AND timestamp <= %@",
+            PumpEventStored.EventType.tempBasal.rawValue,
+            date as NSDate
+        )
     }
 
     static var lastPumpBolus: NSPredicate {

+ 2 - 2
Trio/Sources/APS/APSManager.swift

@@ -577,13 +577,13 @@ final class BaseAPSManager: APSManager, Injectable {
             fetchLimit: 1
         )
 
-        let fetchedTempBasal = try await privateContext.perform {
+        let fetchedTempBasal = await privateContext.perform {
             guard let fetchedResults = results as? [PumpEventStored],
                   let tempBasalEvent = fetchedResults.first,
                   let tempBasal = tempBasalEvent.tempBasal,
                   let eventTimestamp = tempBasalEvent.timestamp
             else {
-                throw APSError.apsError(message: "Failed to fetch temp basal")
+                return TempBasal(duration: 0, rate: 0, temp: .absolute, timestamp: date)
             }
 
             let delta = Int((date.timeIntervalSince1970 - eventTimestamp.timeIntervalSince1970) / 60)