Sam King 4 месяцев назад
Родитель
Сommit
886bdca64b

+ 1 - 1
Trio/Sources/APS/OpenAPSSwift/DetermineBasal/DetermineBasal+Helpers.swift

@@ -295,7 +295,7 @@ extension Profile {
     /// Calculates the profile ISF at this point in time and applies any overrides to it
     /// This is `sensitivity` in JS
     func profileSensitivity(at: Date, trioCustomOrefVaribales: TrioCustomOrefVariables) -> Decimal {
-        let sensitivity = sensitivityFor(time: at)
+        let sensitivity = sens ?? sensitivityFor(time: at)
         return trioCustomOrefVaribales.override(sensitivity: sensitivity)
     }
 }

+ 3 - 8
Trio/Sources/APS/OpenAPSSwift/DetermineBasal/DetermineBasalGenerator.swift

@@ -228,10 +228,8 @@ enum DeterminationGenerator {
                         (
                             currentIob *
                                 min(
-                                    // Use same sensitivity source as adjustedSensitivity (matches JS `sensitivity` variable)
-                                    trioCustomOrefVariables.override(
-                                        sensitivity: profile.sens ?? profile.sensitivityFor(time: currentTime)
-                                    ),
+                                    profile.profileSensitivity(at: currentTime, trioCustomOrefVaribales: trioCustomOrefVariables),
+
                                     adjustedSensitivity
                                 )
                         )
@@ -275,10 +273,7 @@ enum DeterminationGenerator {
         )
 
         // Build isfReason: "Autosens ratio: X, ISF: Y→Z"
-        // Use same sensitivity source as adjustedSensitivity (profile.sens ?? sensitivityFor) with override applied
-        let originalSensitivity = trioCustomOrefVariables.override(
-            sensitivity: profile.sens ?? profile.sensitivityFor(time: currentTime)
-        )
+        let originalSensitivity = profile.profileSensitivity(at: currentTime, trioCustomOrefVaribales: trioCustomOrefVariables)
         let isfReason =
             "Autosens ratio: \(sensitivityRatio.jsRounded(scale: 2)), ISF: \(originalSensitivity.jsRounded())→\(adjustedSensitivity.jsRounded())"