Repository navigation
Watch: centered glucose page, working chart scrubbing, and overrides - #789
Merged
bjorkert merged 4 commits intoOct 23, 2026
Conversation
…n the chart page The trend arrow no longer shifts the BG digits or the delta off center, and IOB and COB share one line under the delta with syringe and fork-and-knife icons. On the chart page, crown focus is now requested after the page becomes focusable, so the crown scrubs instead of paging. A crown button in the toolbar shows the feature and toggles it.
The readout moves below the chart so it no longer collides with the toolbar buttons, and shows a range-colored dot with the BG plus any carbs and boluses that fall within the marker's five-minute crown step.
…on the glucose page The phone now sends the override periods of the last 24 hours with their name and insulin needs, taking the percentage from the matching preset when Nightscout does not carry it. The chart draws them as a thin green band along the top, and the glucose page shows the running override's name and percentage under IOB and COB.
The line shows the running override, or the one at the marker while scrubbing, and shares its view with the glucose page.
MtlPhil
requested review from
bjorkert,
codebymini and
marionbarker
as code owners
October 23, 2026 02:05
marionbarker
pushed a commit
that referenced
this pull request
Oct 26, 2026
* Add an Apple Watch app fed by the phone, with remote commands for Loop and Trio The phone sends glucose, chart data and remote settings to the watch over WatchConnectivity; the watch holds no credentials. Commands from the watch are validated and sent by the phone through the existing Loop APNS and Trio Remote Control paths, gated by a new Remote setting. Includes WidgetKit complications, watch targets in fastlane and tests for the watch protocol. * Put the watch Remote page before Info, allow watch commands by default, and limit complication reloads to new readings Remote tiles are disabled while the iPhone is out of reach. * Make the watch app glanceable: one large BG, actions in the bottom toolbar, quick picks The glucose page shows BG with trend and delta, IOB and age in the top bar, a two-hour sparkline, and Override, Meal or Bolus, and Temp Target in the bottom toolbar. The full chart has its own page. Bolus offers the AID's recommendation and the phone's Quick-Pick boluses before a custom amount; Meal shows Quick-Pick meals and carbs, with fat, protein, bolus and time under More. A successful send shows Sent, notes that Loop or Trio confirms with a notification, and returns to the glucose page. * Point browser builders to the docs when the watch identifiers are not set up * Keep watch Info values clear of the page indicator and widen the Meal buttons * Check that the watch identifiers exist before match, since its read-only failure does not name the missing profile * Mirror the phone's info table on the watch: same rows, order and coloring * Share the APNs, JWT, TRC encryption and Loop payload code between the phone and the watch * Send credentials to the watch when they change, and share command validation between the phone and the watch * Let the watch fetch from Nightscout or Dexcom and send commands directly while the phone is out of reach * Show the phone's statistics on the watch and mark data fetched by the watch itself * Scrub the watch chart with the Digital Crown and pick the time span from the toolbar * Test watch command validation, signing key choice, devicestatus parsing and Loop override payloads * Schedule the watch background refresh once the app is running * Deliver credentials to the watch by message as well as by transfer, and send directly when the phone is unreachable before delivery * Convert Nightscout dates on the watch and give up waiting for the phone after 30 seconds * Leave out watch chart hour labels too close to the edges to fit * Show only the reading age on the watch glucose page, keep the toolbar buttons the same size, and let Trio meals carry a bolus as on the phone The crown symbol for setting an amount follows the wrist the watch is worn on. * Let the crown scroll the watch meal screen until a field is tapped * Show Other Amount on the watch bolus list as plain text * Fit the watch statistics page on one screen on every watch size and wrap the waiting-for-iPhone title * Watch: centered glucose page, working chart scrubbing, and overrides (#789) * Center the watch BG with IOB and COB icons, and fix crown scrubbing on the chart page The trend arrow no longer shifts the BG digits or the delta off center, and IOB and COB share one line under the delta with syringe and fork-and-knife icons. On the chart page, crown focus is now requested after the page becomes focusable, so the crown scrubs instead of paging. A crown button in the toolbar shows the feature and toggles it. * Show BG, carbs and insulin under the watch chart while scrubbing The readout moves below the chart so it no longer collides with the toolbar buttons, and shows a range-colored dot with the BG plus any carbs and boluses that fall within the marker's five-minute crown step. * Show overrides on the watch: a band on the chart and the running one on the glucose page The phone now sends the override periods of the last 24 hours with their name and insulin needs, taking the percentage from the matching preset when Nightscout does not carry it. The chart draws them as a thin green band along the top, and the glucose page shows the running override's name and percentage under IOB and COB. * Show the override's name and percentage under the watch chart The line shows the running override, or the one at the marker while scrubbing, and shares its view with the glucose page. * Give the crown back to page navigation when watch chart scrubbing ends * Scrub the watch chart on a screen of its own so the crown pages again after going back * Open watch chart scrubbing by tapping the chart * Step watch amounts one detent at a time and add − and + buttons The crown moves the amount by whole steps, insulin fields use low crown sensitivity, and the buttons nudge the value by one step. * Keep the watch − button clear of the screen edge and enlarge the nudge buttons --------- Co-authored-by: Phil A <76601115+MtlPhil@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Glucose page
Chart page
Phone → watch
WatchStategains an optionaloverrideslist (start, end, name, percent) covering the last 24 hours, built fromoverrideGraphData. When the Nightscout entry carries no insulin-needs factor (Trio's may not), the percentage comes from the preset with the same name. The field is optional, so the watch's own Nightscout fetch and older cached state still decode.Notes