Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tidepool merge #213

Open
wants to merge 12 commits into
base: dev
Choose a base branch
from
Open

Tidepool merge #213

wants to merge 12 commits into from

Conversation

ps2
Copy link
Contributor

@ps2 ps2 commented Oct 28, 2024

Features:

  • Favorite foods insights
  • Improved uploading to Tidepool. (Overrides, settings, automation status).
  • (Development/testing) CGM Simulator supports Heartbeat fob

Fixes:

  • Lockups relating to HK storage fixed
  • Discrepancies in IOB between status page and insulin delivery history page fixed.
  • IOB accounting and dose uploading during periods of suspension/neutral basal improved.

Algorithm Updates:

  • Stateless algorithm
    • More reliable testing
    • Reusable package
    • Algorithm effects computations moved from stores into LoopAlgorithm package
    • Makes reuse of Loop Algorithm (Learn/Analysis apps) and data stores (Other AID systems) cleaner.
  • Settings timelines
    • Algorithm uses settings history, so when you edit settings, you are not changing the past.
    • Overrides applied to history, which Loop also remembers now.
    • Overall leads to fewer surprises in sudden forecast and dosing changes.
  • Mid-absorption ISF
    • When ISF changes (either via settings change, or override enact), the absorbed insulin will still use the previous ISF up until now, and the unabsorbed insulin will use the new ISF.
    • Example: If you dose for a meal, then decide to go on a walk, and set an override with a higher (more sensitive) ISF, then Loop will evaluate the remaining insulin using the new ISF; previously, Loop would use the ISF in effect at the time of dose starting.

Internal updates of note:

  • Moving more methods over to async
    • This cleans up nested code, improves readability, and fewer lines of code.
    • Reduces errors like completion handlers not being called.

Other changes:

  • Legacy today widget removed.

@marionbarker
Copy link
Contributor

marionbarker commented Oct 29, 2024

Work in progress testing:

Tested building this using a Mac (macOS 14.6) with Xcode 16.0 onto an iOS 15 phone. I have not completed doing my robustness tests but nothing to complain about yet.

Issue 1:

Found the first issue - reporting that here:

Expected fix for Issue 1:

I did a quick test to update .github/workflows/build_loop.yml to use Xcode 16.1 instead of Xcode 15.4. But failed to update the Fastlane version so I got the Found more than 1 matching build: problem that we fixed earlier by updating Fastlane.

The build part was successful but the action failed because it didn't upload to TestFlight: Action Log

I will prepare a PR to LoopKit/LoopWorkspace tidepool-merge to update the build process to match main (refer to PR #164) as well as to update the Xcode version and update Fastlane. I'll make sure other build actions fixes are pulled in if necessary. In other words, I'll make sure it works before I create the PR.

Expiration Date Missing

The TestFlight build did upload (typical of this Fastlane version), and installed on an iOS 18.1 phone. As expected, the expiration date is not available (the update for this will be part of the planned PR).

* update to Fastlane 2.223.1

* match Apple website location for keys in error message

* Do not print patch match tables

* update to Xcode 16.1; sync and alive behavior to match main
@marionbarker
Copy link
Contributor

marionbarker commented Oct 30, 2024

Keep a list of Issues identified along with current status. Most of the discussion is on zulipchat under development: tidepool-merge

Item Label Status Description
1 Browser Build partially fixed
see PR LoopKit/Loop#2252
Builds but TestFlight expiration date not included
a new PR was prepared to make it easier to get the required Loop change to fix the TestFlight expiration
2 Loop Report Format Loop PR 2272 Some sections start with Optional(## name instead of ## name
The proposed PR fixes this with a forced unwrap
3 Loop upload to Nightscout incomplete No solution found yet, needs to be fixed Loop pill and forecast not uploaded with every cycle
For example, these do not update NS
* An automatic temp basal change is made
* No change to dosing posture is made in the current Loop cycle
* A manual temp basal is cancelled by the user
These action do update Loop pill and forecast: automatic bolus, manual bolus, carb entry
4 Manual Temp Basal display not planned For iOS 15, iPhone 7+, had to turn phone to landscape to see duration picker
For iOS 16.7.10, iPhone 8, normal display in portrait
For iOS 18.1, SE phone, normal display in portrait
5 TidepoolService fixed External insulin logged on loop phone was added to Tidepool but was not removed when it is deleted from Loop phone
fixed with TidepoolService commit 2cd32ca
6 Time Change Main Screen Indicator merged into OmniKit main branch
same as 3.4.4
I just noticed that the Eros pod I'm testing is showing time-change message on the Pod screen but no clock icon on main screen. Will repeat the test in a controlled manner.
- MDT pump shows a clock icon on main screen.
- DASH pod shows the clock icon on main screen
- Eros does not show clock icon on main screen with Loop 3.4.4 or tidepool-merge
updated in OmniKit main
7 Tidepool & MDT Basal Totals N/A See zulipchat link for details. Tests with Eros pods had no issues. One particular pump (MDT 523) gave discrepancies in insulin record (pump, AH, Tidepool, NS) for both tidepool-merge and Loop 3.4.4 builds. Rerunning tests with a different pump: MDT 515 resolved the discrepancy. I am assuming this was a hardware problem with the particular device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants