Describe the bug
If there is an interruption in the communications with the pod at critical times, the pump manager can return podSuspended when the pod is not suspended.
Attach a Log
Excerpt is provided at the bottom of this comment.
To Reproduce
This is intermittent behavior. In the PRs to update the pump manager, a patch will be provided that enables a tester to trigger this behavior using a breakpoint to inject fake uncertain pod comms errors.
Expected behavior
The pump manager should try to resolve the error if possible and it should not return podSuspended unless the pod is actually suspended.
Screenshots
N/A
Setup Information (please complete the following information):
Smartphone:
- Hardware: any compatible iPhone
- OS Version: iOS 16, 17 or 18
Pump:
- Manufacturer: Insulet
- Model: Eros or DASH
- Model: tests used rPi DASH simulator
CGM:
- Device: any
- Manager app: any
Trio Version:
- Version Number: 0.2.3 and earlier
- Repo: nightscout/Trio
- Git Reference: dbb44c2, v0.2.3
- This is also present in the private beta test for Trio and will be until the OmniBLE/Kit PR are completed and merged
Technical Details
The problem has been diagnosed and a solution will be presented in PR to OmniBLE and OmniKit submodules
Additional context
Add any other context about the problem here.
Excerpt from log.
This excerpt is from testing in which we reproduced the problem in Trio 0.2.3 by introducing fakeUncertain comm errors. To be clear: the pod was not suspended, but the message presented to the user was that it was suspended.
% grep suspended ~/Downloads/log\ 4.txt
2025-02-04T10:00:02-0800 [ApsManager] APSManager.swift - loopCompleted(error:loopStatRecord:) - 291 - WARN: error("Loop failed with error: Pod is suspended")
2025-02-04T10:00:02-0800 [ApsManager] APSManager.swift - processError(_:) - 1280 - WARN: error("Pod is suspended")
2025-02-04T10:00:02-0800 [Default] HomeStateModel.swift - registerObservers() - 309 - INFO: Pod is suspended
Describe the bug
If there is an interruption in the communications with the pod at critical times, the pump manager can return podSuspended when the pod is not suspended.
Attach a Log
Excerpt is provided at the bottom of this comment.
To Reproduce
This is intermittent behavior. In the PRs to update the pump manager, a patch will be provided that enables a tester to trigger this behavior using a breakpoint to inject fake uncertain pod comms errors.
Expected behavior
The pump manager should try to resolve the error if possible and it should not return podSuspended unless the pod is actually suspended.
Screenshots
N/A
Setup Information (please complete the following information):
Smartphone:
Pump:
CGM:
Trio Version:
Technical Details
The problem has been diagnosed and a solution will be presented in PR to OmniBLE and OmniKit submodules
Additional context
Add any other context about the problem here.
Excerpt from log.
This excerpt is from testing in which we reproduced the problem in Trio 0.2.3 by introducing fakeUncertain comm errors. To be clear: the pod was not suspended, but the message presented to the user was that it was suspended.