Skip to content

Show backfilled readings in Recent Readings - #27

Merged
ps2 merged 2 commits into
mainfrom
backfill-in-recent-readings
Oct 19, 2026
Merged

ps2 merged 2 commits into
mainfrom
backfill-in-recent-readings

Conversation

@ps2

@ps2 ps2 commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

After a reconnect, LibreLoop forwards historical and clinical backfill readings to Loop, so Loop's chart fills the gap. The Recent Readings list in LibreLoop's settings only received realtime readings, so it jumped over the gap (for example 2:22 PM, then 2:58 PM).

Backfilled readings now go into Recent Readings:

  • They are inserted in lifeCount order and tagged with their source (historical or clinical backfill). The row shows a clock icon in the trend column (VoiceOver: "Backfilled"), and the detail view shows the source.
  • They don't change the Last Reading card.
  • A realtime reading for the same minute replaces a backfilled one.
  • The realtime dedupe check still looks at realtime readings only, so what gets forwarded to Loop is unchanged.
  • The detail view hides the sensor temperature section for backfilled readings, since they don't carry one.

Tests: added LibreLoopRecentReadingsTests (ordering and replacement). All 13 LibreLoop tests pass on the simulator. Not yet tried on a device.

To build this against current LoopKit next-dev you also need #26 (iOS 17.6 deployment target).

ps2 added 2 commits October 18, 2026 15:05
Historical and clinical backfill readings were forwarded to Loop but never
added to recentSamples, so the settings list skipped the gap that Loop's
chart filled. Backfill samples now go into the list in lifeCount order,
tagged with their source, without changing the Last Reading card. A realtime
reading for the same minute replaces a backfilled one. The realtime dedupe
set still considers realtime samples only, so forwarding is unchanged.
Backfilled readings have no trend, so their rows showed a dash in the trend
column and looked like realtime readings with an undetermined trend. Show a
clock icon there instead, labelled "Backfilled" for VoiceOver.
@ps2
ps2 merged commit 8c40f53 into main Oct 19, 2026
ps2 added a commit to LoopKit/LoopWorkspace that referenced this pull request Oct 19, 2026
Loop: issue reports to the LoopKit developers (LoopKit/Loop#2585), even
alarm loudness (LoopKit/Loop#2589), stop AlarmKit alarms after a relaunch
(LoopKit/Loop#2590), alarms play through silent mode (LoopKit/Loop#2591),
carb entry sync identifier (LoopKit/Loop#2587).

LoopKit: watch glucose duplicate crash (LoopKit/LoopKit#655), chart
back-gesture (LoopKit/LoopKit#656, LoopKit/LoopKit#658), iOS 17.6 and
watchOS 10.6 (LoopKit/LoopKit#659), previous pump's reservoir values
(LoopKit/LoopKit#657), carb entry sync identifier (LoopKit/LoopKit#654).

LibreLoop: not-an-Abbott-product notice (LoopKit/LibreLoop#25), iOS 17.6
(LoopKit/LibreLoop#26), backfilled readings in Recent Readings
(LoopKit/LibreLoop#27).

LibreTransmitter: forward the newest trend reading (LoopKit/LibreTransmitter#58).

EversenseKit and MixpanelService: iOS 17.6 (LoopKit/EversenseKit#7,
LoopKit/MixpanelService#9).
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.

1 participant