Skip to content

Omnipod pump manager returns bogus podSuspended #468

Description

@marionbarker

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

Metadata

Metadata

Labels

No labels
No labels

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions