Skip to content

Release 3.2 #1949

New issue

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

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

Already on GitHub? # to your account

Merged
merged 28 commits into from
Mar 17, 2023
Merged

Release 3.2 #1949

merged 28 commits into from
Mar 17, 2023

Conversation

ps2
Copy link
Collaborator

@ps2 ps2 commented Mar 17, 2023

No description provided.

ps2 and others added 28 commits January 14, 2023 12:46
* New URL scheme name variable

* Skeleton method to handle deep links.

* Add switch statement for various deep link options

* Remove code for parsing URL path
* Roundtrip

* Adding in crowdin localizations

* Updates from Lokalise

* Fix Learn build
* Add profile expiration time to settings page

* Add profile expiration view behind feature flag PROFILE_EXPIRATION_SETTINGS_VIEW_ENABLED

* invert feature toggle. Remove hour rendering when hours is 0
* Use maxBolus and ratio to set maxAutoIOB

* increase ratioMaxAutoInsulinOnBoardToMaxBolus to 2.0

* remove print statements

* restore LoopContants

* modify name from maxAutoIOB to automaticDosingIOBLimit

* Code cleanup in DoseMath

* configure new optional commands with default nil
DoseMathTests should work without modification

* remove whitespace

* Add automaticIOBLimitTests

* DoseMathTests: add new args to all automated dosing tests

* remove defaults so new parameters are required

* Modify method for providing insulinOnBoard in LoopDataManager

* AlertManagerTests: add new parameter

* match whitespace

* `insulinOnBoardValue` -> `insulinOnBoard` for logging purposes

* Add test for autobolus clamping

* Improve readability of dose clamping logic

I unified the check into 1 if-statement, changed the `checkAutomaticDosing` variable name so it was more descriptive, and changed the logic so it's clear that `minCorrectionUnits` is being subtracted from

* DoseMathTests: use non-zero value for insulinOnBoard

* DoseMathTests: move insulinOnBoard internal to test functions

* Move IOB limit handling into recommendedAutomaticDose, and recommendedTempBasal methods

* Temp basals limited by iob max

* Cleanup

* Remove unintentional edit

* Fix maxThirtyMinuteRateToKeepIOBBelowLimit calculation

* Adjust IOB clamping for temp basals to be relative to scheduled basal

---------

Co-authored-by: Anna Quinlan <anna.quinlan123@gmail.com>
Co-authored-by: Pete Schwamb <pete@schwamb.net>
* Add unannounced meal func to CarbStoreProtocol

* V1 of UAM algo

* Add debug logs

* Handle unannounced meal notification & open up controller

* Add mealstart to notification userinfo

* Improve notification description

* Add direct entry to carb flow from notification on watch

* Add auto-setting of carb entry on watch

* carbThreshold -> mealCarbThreshold

* Retract UAM notifications after the carbs have expired

* Improve function naming

* Move notification logic from LoopKit to Loop

* Make current date configurable

* Make current date configurable during unit testing

* Update status enum naming for point-of-use clarity

* Make 'now' time configurable

* Extract loop data manager testing logic into base class

* Extract loop data manager dosing tests into their own file

* Add unannounced meal tests

* Fix concurrency issue

* Pull UAM constants into separate struct

* Fix notifications not being retracted after their expiration date

* Expire using start of meal instead of current time

* Add unannounced meal notifications permission

* Add AlertPermissionsViewModel

* Remove unneeded `AnyView`s

* Removed unused completion block

* Use the counteraction effects passed into the function

* Schedule missed meal notifications to avoid notification during an microbolus (#3)

* Delay missed meal notification if possible to avoid delivering it during an autobolus

* Add tests for notification delay

* Update `estimatedDuration` function headers in response to PR feedback

* Add UAM banner to carb entry screen (#5)

* Add warning banner to remind the user to edit the meal estimate

* Update warning text

* UAM algo updates: only use directly observed carb absorption (#6)

* Add ability to calculate the number of carbs in a missed meal (#4)

* Plumb a customizable carb amount through UAM notification architecture

* Fix merge conflict

* Update tests for changes from the merge

* Make UAM notifications unit testable

* Add carb autofill clamping based on the user's carb threshold & max bolus

* Update target order to group extensions together

* Improve issue report description

* Create `MealDetectionManager` from old UAM functions in `CarbStore`

* Move notification logic into `MealDetectionManager`

* Updates based on feedback for UAM PR (#7)

* Create `MealDetectionManager` from old UAM functions in `CarbStore`

* Move notification logic into `MealDetectionManager`

* Move UAM test fixtures from LoopKit to Loop

* Remove old TODO

* Revert change to Loop signing team

* Fix merge issues

* Make tests runnable

* Lower meal carb threshold to 15 g to reduce false-negatives

* Fix carb entry controller merge issues

* Unannounced meal / UAM -> missed meal

* UAM test fixture -> missed meal test fixture

* Variable naming improvements

* Remove `AlertPermissionsViewModel`

* Move call to check for missed meals to `loop()`-level

* Remove `CarbStore` dependency from `MealDetectionManager`

These changes also remove the requirement that there be no carbs entered after the missed meal was detected - since we're now observing direct absorption, I didn't think this requirement made sense anymore

* Reduce `minRecency` required to detect a meal

* Update counteraction effect math in `MealDetectionManager` to skew towards an earlier meal time instead of a later one

* Fix conflict + move missed meal toggle 1 level higher
…ify it as scoping a reusable testing scenario and not a specific test
* Remote Action Models

* Move RemoteAction validation to extensions in Loop target

* Use Action verbiage rather than RemoteAction

* update naming

* Request background processing time for entire asynchronous execution
@ps2 ps2 merged commit bcb4ed9 into main Mar 17, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants