Skip to content

Backport Statistics DST fix and icon workaround to release - #2

Merged
akoi merged 6 commits into
releasefrom
fix/stats-dst-fallback-2026
Oct 30, 2026
Merged

akoi merged 6 commits into
releasefrom
fix/stats-dst-fallback-2026

Conversation

@akoi

@akoi akoi commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Problem and change

LoopFollow 7.1.0 Statistics can freeze when Download Treatments is enabled and the selected period crosses a daylight-saving fall-back day, such as 25 October 2026 in Europe/Stockholm. Both the scheduled-basal gap loop and temporary-basal adjustment loop advanced by a fixed 86,400 seconds, which can land on the same 25-hour calendar day indefinitely.

Backport upstream fix #795 through a shared calendar-day helper and add three regression tests for autumn, spring and a seven-day range crossing autumn. Retain the three icon-metadata removals from superseded PR #1 for local Xcode 27.1 compatibility. The final diff touches five files; icon images, signing identifiers and upstream version configuration are unchanged.

Branch workflow

This PR is fix/stats-dst-fallback-2026 → release. The new release base starts at official upstream v7.1.0, 4a74b781ad6836dd77eccc03bb08a42749dd59a6. The fork’s main remains an exact upstream mirror. Keeping the existing fix/* head and changing the base follows the documented t1d-infra policy; this PR does not merge upstream dev or place local patches on main.

Validation

  • Reviewed source head: 22040408ea85d67a2a2d8dff5b6f12e9f29a32c8.
  • Full iOS test target passed with Xcode 27.1 on the iPhone 17 / iOS 27.0 simulator: 100 passed, 0 failed, 0 skipped.
  • All three StatsCalendarDayTests passed, including a separate targeted run. These ran in the actual iOS app/test target, replacing the earlier isolated Linux-only validation.
  • Compared both loop changes with upstream Fix Statistics hang on daylight saving fall-back days loopandlearn/LoopFollow#795: calendar-day advancement and failure handling match; the helper shares that logic between callers.
  • Icon JSON and git diff --check pass. The icon workaround’s earlier controlled actool comparison reproduced the missing renditions with stock metadata and verified generation after removing only the three scale fields.
  • Signed distribution archiving, TestFlight upload and physical-device Statistics behaviour remain pending. Simulator success does not establish those outcomes.

Before rollout

  • Owner review, then merge this fix into release.
  • Update the local checkout to the reviewed release commit; preserve ignored signing configuration, existing bundle identifiers and app groups.
  • Follow the LoopFollow-specific guide in akoi/t1d-infra/docs/loopfollow/LOCAL-INSTALL.md and the shared signing/export procedure. Choose an unused build number; the installed/TestFlight baseline is 7.1.0 (2). Prepare versions with agvtool and verify matching app/extension marketing versions and build numbers.
  • Create a signed archive, verify required icons and capabilities, and require production push in the exported TestFlight IPA. Check archive entitlements against the archive’s own signing profile.
  • Upload to the existing LoopFollow Maya TestFlight record, wait for Apple processing, then install over the current app without deleting it.
  • On the follower iPhone, verify Nightscout freshness, treatment/prediction display and Statistics with Download Treatments ON over a range including 25 October 2026. Check period changes and background/foreground responsiveness.
  • Tag the distributed source revision and record source SHA, packaged build number and validation outcome in the t1d-infra current setup.

No controller, treatment-parameter, Nightscout-server, credential, Dexcom Follow alarm or remote-command changes. No TestFlight archive or upload was performed for this PR.

akoi and others added 6 commits October 25, 2026 09:06
Prepare local upload versions with upstream's agvtool step instead of
changing application version settings. Keep only the icon compatibility
fix in the final diff.
Adapt upstream LoopFollow PR loopandlearn#795 to a shared calendar-day helper.
Preserves local Xcode 27.1 app icon fix and adds Europe/Stockholm DST tests.
@akoi akoi changed the title Fix Statistics freeze across DST fall-back (backport #795) Backport Statistics DST hang fix and retain Xcode 27.1 icon compatibility Oct 30, 2026
@akoi
akoi changed the base branch from codex/testflight-icon-metadata to main October 30, 2026 13:34
@akoi
akoi changed the base branch from main to release October 30, 2026 15:36
@akoi akoi changed the title Backport Statistics DST hang fix and retain Xcode 27.1 icon compatibility Backport Statistics DST fix and icon workaround to release Oct 30, 2026
@akoi
akoi merged commit af872bf into release Oct 30, 2026
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