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

Merge pull request #500 from nightscout/suspend-zeros-iob-fix

Remove Suspend Zeros IOB setting; default to TRUE
Deniz Cengiz 1 год назад
Родитель
Сommit
5ae03f8385

+ 1 - 1
Trio/Resources/json/defaults/preferences.json

@@ -38,7 +38,7 @@
   "insulinPeakTime" : 75,
   "carbsReqThreshold" : 1,
   "noisyCGMTargetMultiplier" : 1.3,
-  "suspend_zeros_iob" : false,
+  "suspend_zeros_iob" : true,
   "maxDelta_bg_threshold" : 0.2,
   "adjustmentFactor" : 0.8,
   "adjustmentFactorSigmoid" : 0.5,

+ 5 - 0
Trio/Sources/Localizations/Main/Localizable.xcstrings

@@ -59670,6 +59670,7 @@
     },
     "Clear temporary basal rates and reset IOB when suspended." : {
       "comment" : "Mini Hint for Suspend Zeros IOB",
+      "extractionState" : "stale",
       "localizations" : {
         "bg" : {
           "stringUnit" : {
@@ -152321,6 +152322,7 @@
       }
     },
     "Note: Applies only to pumps with on-pump suspend options." : {
+      "extractionState" : "stale",
       "localizations" : {
         "bg" : {
           "stringUnit" : {
@@ -195773,6 +195775,7 @@
     },
     "Suspend Zeros IOB" : {
       "comment" : "Suspend Zeros IOB",
+      "extractionState" : "stale",
       "localizations" : {
         "bg" : {
           "stringUnit" : {
@@ -210214,6 +210217,7 @@
       }
     },
     "This prevents lingering insulin effects when your pump is suspended, ensuring safer management of insulin on board." : {
+      "extractionState" : "stale",
       "localizations" : {
         "bg" : {
           "stringUnit" : {
@@ -235442,6 +235446,7 @@
       }
     },
     "When Suspend Zeros IOB is enabled, any active temporary basal rates during a pump suspension are reset, with new 0 U/hr temporary basal rates added to counteract those done during suspension." : {
+      "extractionState" : "stale",
       "localizations" : {
         "bg" : {
           "stringUnit" : {

+ 1 - 1
Trio/Sources/Models/Preferences.swift

@@ -39,7 +39,7 @@ struct Preferences: JSON, Equatable {
     var insulinPeakTime: Decimal = 75
     var carbsReqThreshold: Decimal = 1.0
     var noisyCGMTargetMultiplier: Decimal = 1.3
-    var suspendZerosIOB: Bool = false
+    var suspendZerosIOB: Bool = true
     var timestamp: Date?
     var maxDeltaBGthreshold: Decimal = 0.2
     var adjustmentFactor: Decimal = 0.8

+ 0 - 3
Trio/Sources/Modules/AlgorithmAdvancedSettings/AlgorithmAdvancedSettingsStateModel.swift

@@ -16,7 +16,6 @@ extension AlgorithmAdvancedSettings {
         @Published var insulinPeakTime: Decimal = 75
         @Published var skipNeutralTemps: Bool = false
         @Published var unsuspendIfNoTemp: Bool = false
-        @Published var suspendZerosIOB: Bool = false
         @Published var min5mCarbimpact: Decimal = 8
         @Published var remainingCarbsFraction: Decimal = 1.0
         @Published var remainingCarbsCap: Decimal = 90
@@ -40,8 +39,6 @@ extension AlgorithmAdvancedSettings {
             subscribePreferencesSetting(\.insulinPeakTime, on: $insulinPeakTime) { insulinPeakTime = $0 }
             subscribePreferencesSetting(\.skipNeutralTemps, on: $skipNeutralTemps) { skipNeutralTemps = $0 }
             subscribePreferencesSetting(\.unsuspendIfNoTemp, on: $unsuspendIfNoTemp) { unsuspendIfNoTemp = $0 }
-            subscribePreferencesSetting(\.suspendZerosIOB, on: $suspendZerosIOB) { suspendZerosIOB = $0 }
-            subscribePreferencesSetting(\.suspendZerosIOB, on: $suspendZerosIOB) { suspendZerosIOB = $0 }
             subscribePreferencesSetting(\.min5mCarbimpact, on: $min5mCarbimpact) { min5mCarbimpact = $0 }
             subscribePreferencesSetting(\.remainingCarbsFraction, on: $remainingCarbsFraction) { remainingCarbsFraction = $0 }
             subscribePreferencesSetting(\.remainingCarbsCap, on: $remainingCarbsCap) { remainingCarbsCap = $0 }

+ 0 - 31
Trio/Sources/Modules/AlgorithmAdvancedSettings/View/AlgorithmAdvancedSettingsRootView.swift

@@ -220,37 +220,6 @@ extension AlgorithmAdvancedSettings {
                 )
 
                 SettingInputSection(
-                    decimalValue: $decimalPlaceholder,
-                    booleanValue: $state.suspendZerosIOB,
-                    shouldDisplayHint: $shouldDisplayHint,
-                    selectedVerboseHint: Binding(
-                        get: { selectedVerboseHint },
-                        set: {
-                            selectedVerboseHint = $0.map { AnyView($0) }
-                            hintLabel = String(localized: "Suspend Zeros IOB", comment: "Suspend Zeros IOB")
-                        }
-                    ),
-                    units: state.units,
-                    type: .boolean,
-                    label: String(localized: "Suspend Zeros IOB", comment: "Suspend Zeros IOB"),
-                    miniHint: String(
-                        localized: "Clear temporary basal rates and reset IOB when suspended.",
-                        comment: "Mini Hint for Suspend Zeros IOB"
-                    ),
-                    verboseHint:
-                    VStack(alignment: .leading, spacing: 10) {
-                        Text("Default: OFF").bold()
-                        Text(
-                            "When Suspend Zeros IOB is enabled, any active temporary basal rates during a pump suspension are reset, with new 0 U/hr temporary basal rates added to counteract those done during suspension."
-                        )
-                        Text(
-                            "This prevents lingering insulin effects when your pump is suspended, ensuring safer management of insulin on board."
-                        )
-                        Text("Note: Applies only to pumps with on-pump suspend options.")
-                    }
-                )
-
-                SettingInputSection(
                     decimalValue: $state.smbDeliveryRatio,
                     booleanValue: $booleanPlaceholder,
                     shouldDisplayHint: $shouldDisplayHint,

+ 5 - 0
Trio/Sources/Modules/Onboarding/OnboardingStateModel.swift

@@ -739,6 +739,11 @@ extension Onboarding {
             preferences.resistanceLowersTarget = resistanceLowersTarget
             preferences.halfBasalExerciseTarget = halfBasalTarget
 
+            // default suspendZeroesIOB to true
+            if !preferences.suspendZerosIOB {
+                preferences.suspendZerosIOB = true
+            }
+
             settingsManager.preferences = preferences
         }