Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions docs/build/lf-browser-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ Detailed directions are found in the next sections, this is the summary of what
2. `Fork` the repository to your organization
3. Open your `fork` and enable Actions
4. `Add Identifiers`
5. Review App Identifier in Apple Developer portal
6. Add the App in App Store Connect and configure TestFlight users
7. `Build LoopFollow`

!!! tips "What About Other Actions"
* You already have your organizaton configured, there is no need to run `Validate Secrets`
!!! tip "What About Other Actions"
* You already have your organization configured, there is no need to run `Validate Secrets`
* The Build action includes a `Create Certificates` step - you can run it separately but it is not necessary


Expand Down Expand Up @@ -205,19 +206,19 @@ If you need detailed instruction, visit [Configure to Use Browser: *TestFlight*

### Display Name Customization for `LoopFollow`

> If you build `LoopFollow` for one, two or three loopers, you may choose to customize your `fork` or `forks` to insert a custom display name.
If you build `LoopFollow` for one, two or three loopers, you may choose to customize your `fork` or `forks` to insert a custom display name.

> * Find and click on the file `LoopFollowDisplayNameConfig.xcconfig`
> * Tap the pencil icon so you can edit the file
> * The last line says `display_name = LoopFollow` (or `LoopFollow_Second` or `LoopFollow_Third`)
> * Insert your custom name so the last line says `display_name = LF custom name`
> * Click on commit changes and chose to commit directly into the `main` branch
* Find and click on the file `LoopFollowDisplayNameConfig.xcconfig`
* Tap the pencil icon so you can edit the file
* The last line says `display_name = LoopFollow` (or `LoopFollow_Second` or `LoopFollow_Third`)
* Insert your custom name so the last line says `display_name = LF custom name`
* Click on commit changes and choose to commit directly into the `main` branch

> Continue to build as instructed below. After you install the app on your phone, iPad or Mac via *TestFlight*, that custom name is what is displayed. The prefix LF is suggested to make it easier to find the custom named `LoopFollow` app in the list of apps, but is not required.
Continue to build as instructed below. After you install the app on your phone, iPad or Mac via *TestFlight*, that custom name is what is displayed. The prefix LF is suggested to make it easier to find the custom named `LoopFollow` app in the list of apps, but is not required.

### Build Action

11. Click on the Actions tab of your *LoopFollow* repository
1. Click on the Actions tab of your *LoopFollow* repository
2. On the left side, click on `4. Build LoopFollow`
3. On the right side, click Run Workflow to show a dropdown menu
4. Tap the green button that says Run workflow.
Expand All @@ -234,7 +235,7 @@ Repeat the build and install from TestFlight steps if you use LoopFollow_Second

Refer to the [Browser Build: Build Errors](https://loopkit.github.io/loopdocs/browser/bb-errors) to find your error.

Please do not remove an existing app if you have trouble building a new one. Your build error is not cause by any existing app.
Please do not remove an existing app if you have trouble building a new one. Your build error is not caused by any existing app.

!!! Important "Removing App Warning"
If you remove an app and later want to restore that app, you might not be able to.
Expand All @@ -250,7 +251,7 @@ The [LoopDocs instructions: Install on Phone](https://loopkit.github.io/loopdocs

For *LoopFollow* v4.0 through 4.3, you had to manually add that capability to the Identifier. Thanks to our friends at fastlane, who updated their tool, this manual action is no longer necessary.

## Archaic Instructions
## Legacy: Updating from v3.x

Given that a Browser Build must be rebuilt every 90 days, the instructions here are unlikely to be required.

Expand Down
63 changes: 58 additions & 5 deletions docs/faqs/lf-faqs.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,63 @@

🚧 Documentation Under Construction 🚧
!!! tip "Pro Tip: Frequent Glucose Alerts"
If you are experiencing audible and visible glucose alerts every single minute, disable the *LoopFollow* > Settings > General > Persistent Notifications slider.

<!--todo-->
<!--Notes: be sure to add this info
Note: this is completely different from the persistent notifications you may want enabled to see APNS messages returned from real-time responses to remote commands.

-->
- - -

Pro Tip: If you are experiencing audible and visible glucose alerts every single minute, disable the *LoopFollow*, Settings, General Settings, Persistent Notifications slider. This is completely different from the persistent notifications that you might want enabled to see the APNS messages returned from real-time responses to remote command.
## Version Compatibility

This section consolidates version requirements for *LoopFollow* to work with *Loop* and *Trio*, and provides historical context for how remote control has evolved.

### *LoopFollow* and *Loop* Compatibility

| Feature | Minimum Versions Required |
|:--|:--|
| *Loop* Remote Control via APNS | *LoopFollow* 3.2 or newer; any version of *Loop* |
| Real-time APNS response from *Loop* phone | *LoopFollow* 4.6 or newer; *Loop* v3.11.1 or newer |

With *LoopFollow* 3.2 and newer, *Loop* remote commands include Meal, Bolus and Override control. *LoopFollow* no longer requires the *Nightscout* site to be configured with the APNS credentials — Read access for the *Nightscout* URL is sufficient.

With *LoopFollow* 3.1 and older, *Loop* remote commands were limited to Overrides, required the *Nightscout* site to be configured with the APNS credentials, and required a token with `careportal` access.

### *LoopFollow* and *Trio* Compatibility

!!! important "Breaking Change: *Trio* Remote Command Users"
*Trio* users must have matching versions of *LoopFollow* and *Trio* for remote control to work.

* *Trio* 0.6 (or newer) requires *LoopFollow* 4.0 (or newer)
* *Trio* 0.5.1.28 (or older) requires *LoopFollow* 3.2.11 (or older)

Remote control commands stop working if versions are not matched. You do **not** need to reconfigure your credentials when upgrading — your existing settings continue to work. However, *LoopFollow* Browser Build users must update their Identifiers when upgrading from v3.x: see [Legacy: Updating from v3.x](../build/lf-browser-build.md#legacy-updating-from-v3x){: target="_blank" }.

| Feature | Minimum Versions Required |
|:--|:--|
| *Trio* Remote Control via APNS | *LoopFollow* 4.0 or newer; *Trio* 0.6 or newer |
| Real-time APNS response from *Trio* phone | *LoopFollow* 4.0 or newer; *Trio* 0.6 or newer |
| Nightscout Careportal (Temp Targets only) | Available for all *Trio* versions |
| *Nightscout* OpenAPS pill display | *Nightscout* 15.0.2 or newer with *Trio* 0.5.x or newer |

With *Trio* 0.2.x, *LoopFollow* only supports Temp Targets via the *Nightscout* Careportal, which requires a token with `careportal` access. Once updated to *Trio* 0.5.x or newer, the full *Trio* Remote Control options are available.

For those following a looper using *Trio* 0.2.x, the only remote setting option in *LoopFollow* is *Nightscout* (Careportal). With this selection:

* The *LoopFollow* phone sends commands to *Nightscout*, which then forwards commands to the *Trio* phone
* The *Nightscout* display will be updated first
* If there is an issue sending the Careportal request, it might not reach the *Trio* phone
* After the next *Nightscout* download, *LoopFollow* display will reflect whether commands completed the full round trip

### APNS Keys Do Not Need to Be in Nightscout

With *LoopFollow* 3.2 and newer, the APNS credentials are entered directly in the *LoopFollow* app. They do **not** need to be embedded in the *Nightscout* site for remote control to work. This simplifies *Nightscout* configuration, especially for those using a paid *Nightscout* service.

The APNS credentials only need to be in *Nightscout* if you also use *Nightscout* Careportal or the *LoopCaregiver* app to send remote commands.

### *LoopFollow* Feature History

| *LoopFollow* Version | Feature Added |
|:--|:--|
| 3.2 | *Loop* remote commands (Meal, Bolus, Override) sent directly via APNS; APNS credentials no longer required in *Nightscout* |
| 4.0 | *Trio* 0.6 remote control support; share remote configuration via QR code |
| 4.3 | Separate QR codes for *Nightscout* Site, Dexcom Share, Remote Settings, and Alarm Settings |
| 4.6 | Real-time APNS notifications returned from the *Loop* phone (requires *Loop* v3.11.1 or newer) |
Binary file added docs/img/loopfollow-home-screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/img/loopfollow-main-screen.png
Binary file not shown.
51 changes: 32 additions & 19 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,38 @@
It combines information from multiple other apps and provides custom alerts. It runs on iPhone, iPad or Mac devices. With newer versions, some remote control features are available for the *Loop* and *Trio* apps.

*LoopFollow* was created because using different apps as a parent or caregiver of a person with diabetes can be cumbersome.
Add in the extra details from looping with an Open Source Automated Insulin Delivery (OS AID) app
Add in the extra details from looping with an Open Source Automated Insulin Delivery (OS-AID) app
and flipping back and forth between various sources of information can be a challenge.
Many loopers use *LoopFollow* for themselves because of the flexible (and loud) alarm options.

*LoopFollow*:

* Displays information from a Nightscout URL or Dexcom Share account
* Provides flexible alarm features with a Snooze screen
* Supports *Loop* and *Trio* OS AID systems and provides remote control features
* Displays information from a *Nightscout* Site or Dexcom Share account
* Provides flexible alarms with a Snooze screen
* Displays Treatments and Statistics (requires *Nightscout* Site)
* Supports *Loop* and *Trio* OS-AID systems
* Provides secure remote control (requires *Nightscout* Site and security configuration)
* Supports up to 3 loopers – each with their own unique app name
* Works with your Apple Watch
* Runs on an iPhone, iPad or a Mac computer

An example of the main screen for *LoopFollow* is shown in the graphic below:
#### Home

> ![example of main screen for *LoopFollow*](img/loopfollow-main-screen.png)
An example of the Home screen for *LoopFollow* v5.0 and newer is shown in the graphic below:

![example of Home screen for *LoopFollow*](img/loopfollow-home-screen.png){width=400}
{align="center"}

The toolbar at the bottom of the Home and Menu screens has 4 user-configurable icons in addition to the `Menu` icon. The icons shown in the graphic above are Home, Alarms, Snoozer and Remote.

#### New Features
!!! tip ""
New with *LoopFollow* v5.0:

* [Menu Screen](setup/lf-setup.md#menu-screen){: target="_blank"}
* [Treatments](setup/lf-features.md#treatments){: target="_blank"}
* [Statistics](setup/lf-features.md#statistics){: target="_blank"}

- - -

## Hardware Requirements
Expand All @@ -36,17 +50,23 @@ The *LoopFollow* app will run on any iPhone or iPad that supports iOS 16.6 or ne

### Community Support and Build Help

Community support for *LoopFollow* is available on [*LoopFollow*’s FaceBook page](https://www.facebook.com/groups/loopfollowlnl). Please use community support for Build problems. It is very unlikely that a new Issue needs to be opened when you are having trouble building.
Community support for *LoopFollow* is available at

Remember, for build help with Browser Build, all we need is the *GitHub* URL to your own fork of *LoopFollow*. Just replace `docs-test` in the example below with your *GitHub* username:
* [*LoopFollow* FaceBook page](https://www.facebook.com/groups/loopfollowlnl)
* [*Loop and Learn* Facebook](https://www.facebook.com/groups/LOOPandLEARN)
* [*Loop and Learn* Discord](https://discord.gg/KQgk3gzuYU)

* Example: [https://github.com/docs-test/LoopFollow/actions](https://github.com/docs-test/LoopFollow/actions)
Please use community support for Build questions. **Do not ask ChatGPT or any AI system; they tend to provide incorrect answers.**

To get build help with Browser Build, all we need is the *GitHub* URL for your fork of *LoopFollow*. Just replace `docs-test` in the example below with your *GitHub* username:

If you choose not to use Facebook, you can reach out on the [*Trio* Discord server](https://discord.gg/FnwFEFUwXE) in one of the build channels.
* Example: [https://github.com/docs-test/LoopFollow/actions](https://github.com/docs-test/LoopFollow/actions)

### Issues and Feature Requests

Issues and Feature Requests can be posted at [*LoopFollow* Issues](https://github.com/loopandlearn/LoopFollow/issues). Please review open issues and only open a new one if your problem or feature request is not already described. When reporting an issue, please specify the version of *LoopFollow* in which you noticed the issue.
Issues and Feature Requests can be posted at [*LoopFollow* Issues](https://github.com/loopandlearn/LoopFollow/issues). Please review open issues and only open a new one if your problem or feature request is not already described. When reporting an issue, please specify the version of *LoopFollow* in which you noticed the problem.

It is very unlikely that a new Issue needs to be opened when you are having trouble building. See [Community Support and Build Help](#community-support-and-build-help).

- - -

Expand All @@ -60,11 +80,4 @@ In addition, at the bottom of the Settings screen for *LoopFollow*, the version

## History

This code was originally developed by Jon Fawcett who turned over development and management to the *Loop and Learn* team.

We are happy to respond to bug reports or feature requests.

* [*Loop and Learn* Website](https://loopandlearn.org)
* [*Loop and Learn* Facebook](https://www.facebook.com/groups/LOOPandLEARN)
* [*Loop and Learn* YouTube Channel](https://www.youtube.com/c/loopandlearn)

This code was originally developed by Jon Fawcett who turned over development and management to the *Loop and Learn* team. The primary developers are parents who love their children.
Binary file removed docs/remote/img/app_icons.png
Binary file not shown.
Binary file removed docs/remote/img/import-from-qr-code.png
Binary file not shown.
Binary file removed docs/remote/img/import-settings.png
Binary file not shown.
Binary file removed docs/remote/img/lf-settings-screen.png
Binary file not shown.
Binary file removed docs/remote/img/lf-trc-empty-debug.jpg
Binary file not shown.
9 changes: 2 additions & 7 deletions docs/remote/remote-control-loop.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ This option is available for remote control of a *Loop* phone using *LoopFollow*
* *Loop* Remote Control with Real-Time Notifications
* Remote control with *LoopFollow* includes adding remote carbs, enacting remote bolus, and starting and canceling Overrides
* The *LoopFollow* phone sends directly through APNS to the *Loop* phone
* The *Loop* phone, if it gets the APNS message, returns an APNS response with success or error message for carb or bolus commands
* The *Loop* phone, if it gets the APNS message, returns an APNS response with success or error message for carb or bolus commands for *Loop* version v3.11.1 or newer
* The override commands do not get an APNS message returned


### Quick Access

The bullets below take you to the indicated topics.
Expand Down Expand Up @@ -75,10 +74,6 @@ Example messages are highlighted by red rectangles in the composite below for re
|:-:|:-:|
| ![ remote bolus current](img/lf-lrc-bolus.png){width="300"} | ![ remote bolus older than 12 minutes](img/lf-lrc-bolus-old.png){width="300"} |


!
{align=center}

!!! tip "Make sure *Loop* information is up to date"
The insulin amount is filled out with the last recommended bolus that *LoopFollow* downloaded from the *Nightscout* site, which in turn was uploaded from the *Loop* phone.

Expand Down Expand Up @@ -203,7 +198,7 @@ The Remote Settings row in the *LoopFollow* Settings screen is used to select th
{align="center"}

!!! question "The *Loop* Remote Control option is not available"
The `Loop Remote Control` option is only available in *LoopFollow* if you have already entered a [*Nightscout* URL](../setup/lf-setup.md#add-nightscout){: target="_blank" } with a default profile recognized as a *Loop* profile.
The `Loop Remote Control` option is only available in *LoopFollow* if you have already entered a [*Nightscout* Site](../setup/lf-setup.md#setup-nightscout){: target="_blank" } with a default profile recognized as a *Loop* profile.

### Guardrails

Expand Down
2 changes: 1 addition & 1 deletion docs/remote/remote-control-nightscout.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ For *Loop* careportal access, your *Nightscout* site must be configured with App

* [*LoopDocs*: Remote Overview](https://loopkit.github.io/loopdocs/nightscout/remote-overview/)

Then once you add the Nightscout URL with at least a careportal token to *LoopFollow* and choose *Nightscout* for the *LoopFollow* Remote Settings, you have the option to set or cancel overrides for the *Loop* app.
Then once you add the *Nightscout* Site with at least a careportal token to *LoopFollow* and choose *Nightscout* for the *LoopFollow* Remote Settings, you have the option to set or cancel overrides for the *Loop* app.

The graphic below shows what the screen looks like when you tap the `Remote` option from the toolbar of *LoopFollow*.

Expand Down
Loading