Loop doesn't fully recalculate effects after settings change until app restart
Describe the bug After changing ISF (and possibly other) settings, the prediction and ICE screen change but these updates are not correct/complete. The app must be restarted for the changes to properly take effect.
Attach an Issue Report n/a
To Reproduce Steps to reproduce the behavior:
- Start with a history containing active carbs and insulin. Observe the prediction and carbs absorbed screens [State 1].
- Change the ISF significantly (e.g., by half). Observe again [State 2].
- Force close and reopen the app. Observe again [State 3].
- Change ISF back to its original value. Observe again [State 4].
- Force close and reopen the app. Observe again [State 5].
States 2 and 4 are incomplete. They should match states 3 and 5 respectively, but are instead very different half-baked states. Restarting the app is necessary for the settings to properly take effect.
Expected behavior Changing ISF should properly apply settings to previous entries and effects without requiring a restart. States 1, 4, and 5 should match. States 2 and 3 should also match.
Screenshots
Screenshots show the Carbohydrates screen for states 1 through 5 as described above. I don't show the changes to the Glucose Prediction here, but results are similar, with states 2 and 4 in an erroneous state.
Phone
- iPhone 6S
Loop Version
- 3.4.1 main
- Tested on 3.4.1 with several minor customizations that are unrelated to this issue.
CGM
- Dexcom G6
Pump
- Omnipod Dash
Additional context The same issue exists for changing an active override's sensitivity factor (which is an action I find immensely useful). I can create a separate issue for this if needed. In any case, the app currently also needs a restart after changing an active override sensitivity factor to properly take effect.
This sequence (from Zulip) shows a similar sequence after updating a currently active override. It also shows the swings in the BG prediction after restarting the app as mentioned (but not pictured) in the initial post here.