Remote Bolus Dev#12
Conversation
dfceac2 to
b0cbe28
Compare
70d867c to
ac00818
Compare
fix indentation in line 36
| url = https://github.com/LoopKit/LogglyService.git | ||
| [submodule "OneTimePassword"] | ||
| path = OneTimePassword | ||
| url = https://github.com/gestrich/OneTimePassword.git |
There was a problem hiding this comment.
What changes do you have for the OneTimePassword repo? Have they been submitted upstream?
There was a problem hiding this comment.
This is based off their 3.2.0 version from last spring. The OneTimePassword includes a dependency of its own -- Base32 which is configured via Carthage/CocoaPods. I was not successful at integrating the OneTimePassword library into Loop out-of-the box this configuration. It's been 9 months so I'm foggy on the exact obstacles I ran into but I seemed forced to reconfigure how OneTimePassword references Base32. For context, here's where I mentioned some of this previously https://loop.zulipchat.com/#narrow/stream/144182-development/topic/Remote.20bolus.20.2F.20remote.20carbs/near/238980153.
The changes I settled on was a very simple modification of referencing Base32 as a submodule of OneTimePassword which would allow our git clone commands to pull the library in properly as long as the --recurse-submodules is passed which appears part of our user instructions. I don't think this is a change that would be welcome in the OneTimePassword owner's repo as it probably affects their Carthage method.
I realized at one point you mentioned the desired format is for all dependencies to be their own separate libraries at the top level of Loop workspace. This seemed to require more changes to the OneTimePassword + Base32 relationship which may make it more difficult to maintain as a fork of OneTimePassword (compared to what I did), so I opted not to go down that road without more feedback.
I'm fine changing it in whatever way makes sense to you.
|
Remote bolus has been merged into dev. |
Add support for Fastlane + TestFlight deployment workflow
Overview
This provides support for remote bolus and carb entry. This builds on Jose's original work.
Build Instructions
Loop Workspace Method
git clone --branch=dev_otp --recurse-submodules https://github.com/gestrich/LoopWorkspace.gitUser Guide
See the Remote Carb/Bolus Dev Branch Guide for setup and usage.
We can use some help from users of this branch in improving this guide.
Merge Checklist
This checklist contains the steps as I see for finally integrating this feature into dev. These steps are not required to build or use this branch in the meantime.
Change Summary
OneTimePassword (repo)
A fork of the OneTimePassword repo. This is currently hosted on my own Github account. We likely will want to create a fork in the LoopKit github account when we confirm how the project will be structured.
NightscoutService (pull request)
The NightscoutService will include the new user inferface and OTP validation code.
LoopKit (pull request)
Changes to RemoteDataService interface to validate push notifications.
Loop (pull request)
Validate push notification OTP via NightscoutService and enact bolus or carb entry.