Skip to content

Next dev#454

Open
ps2 wants to merge 78 commits into
devfrom
next-dev
Open

Next dev#454
ps2 wants to merge 78 commits into
devfrom
next-dev

Conversation

@ps2
Copy link
Copy Markdown
Contributor

@ps2 ps2 commented Jun 4, 2026

This branch is a holding ground for the next major set of features to land in dev.

It includes the Tidepool Sync (#450) and will be updated to include LibreLoop (Libre 3/3+ integration) and other new integrations.

loopkitdev and others added 30 commits March 12, 2026 15:50
- Point all 18 submodule URLs to https://github.com/loopkitdev/* forks
- Minizip and TrueTime.swift retain LoopKit origin (no forks)
- Add docs/tidepool-sync-2026-03-10.md (Tidepool sync documentation)
…ce docs

- Update all 17 submodule commit pointers to reflect rewritten history
  (filter-branch changed SHAs when fixing author to LoopKit Developer)
- Add Loop build fix commit (LoopDataManager init ordering)
- Add LOOPKIT_SYNC_PROCESS.md, SYNC_PROGRESS.md, sync-docs/
Catches the superproject up to all submodule work that has accumulated
on tidepool-sync/2026-03-10 since the initial sync commit, including:

- Loop: restore manual dose entry "+" button on insulin delivery screen
- LoopKit, NightscoutService, TidepoolService, LibreTransmitter:
  string catalog updates from Xcode build
- OmniKit: fix reentrant lock crash in isSignalLost
- Various submodules: merge upstream/{dev,main} into tidepool-sync branch
Parallel fix to OmniKit 924f10d — OmniBLE had the identical bug where
isSignalLost() read state.lastPumpDataReportDate from inside a
lockedState.mutate closure, causing recursive lock acquisition.
Tier 1
- LoopKit: bd30c463 (409 commits from tidepool/dev; 18 source conflicts + 19
  pbxproj regions resolved; DIY divergence preserved at BasalRateScheduleEditor)
- Loop: 76b6b1e3 (14 commits from tidepool/dev; 3 pbxproj regions)

Tier 3 - CGM drivers
- CGMBLEKit: 69562e7
- G7SensorKit: d024513
- dexcom-share-client-swift: 541de2f
- NightscoutRemoteCGM: b1ea9ee
- LibreTransmitter: c99daf1

Tier 3 - Pump drivers
- RileyLinkKit: 19f5ae8
- OmniKit: b3b6080 (preserves reentrant lock fix; adopts mutateState)
- OmniBLE: 645e0fc (preserves reentrant lock fix and Pod Keep Alive suspend
  special case; adopts mutateState)
- MinimedKit: f994d6e (preserves CAGE/IAGE tracking)

Tier 3 - Services
- TidepoolService: 5f6a064 (incl. DoseEntry dedupe follow-up)
- NightscoutService: 1b5cded (preserves APNS response feature)
- AmplitudeService: 77dae3e
- LogglyService: 8e18081
- MixpanelService: unchanged (already up to date with tidepool)

Tier 3 - Support/Onboarding
- LoopSupport: a312dfb
- LoopOnboarding: fd7e410

Package.resolved
- LoopAlgorithm: tidepool-org/LoopAlgorithm bd1a879 (4 test-only commits)
docs/tidepool-sync-2026-05-11.md describes the merge, conflicts, and
divergences. SYNC_PROGRESS.md updated to reflect the new branch and the
divergences carried forward.
Pulls in 3 small origin/dev updates that landed after this sync started:
- Loop: PR #2410 Live activity plot fixes (manual merge to preserve our
  post-Tidepool-sync API: kept async/await sample fetch + LoopUnit
  signature, adopted upstream's presetStart<=presetEnd guard and the
  adjustedChartStart/End helpers)
- CGMBLEKit: PR #211 handle inactive CGM sensor sessions (clean merge)
- OmniBLE: Lokalise translation update (clean merge)
… charts

Picks up loopkitdev/Loop@4eea0b24 — widens the carbStatus.dynamicGlucoseEffects
sampling window in fetchCarbAbsorptionReview and getHistoricalChartsData from
`from: end` to `from: start` so the model-predicted line spans the full chart
again (was only generating samples in now+1h … now+7h, outside the visible
window). UI-only; no dosing-path impact.
ps2 added 28 commits May 24, 2026 15:42
Add LoopAlgorithm as a git submodule (tracking LoopKit/LoopAlgorithm) and
reference it as a local Swift package, removing the remote package pin from
the workspace. LoopAlgorithm can now be edited in place like the other
workspace components.

Bump LoopKit pin for the local package reference.
Add LoopAlgorithm to the workspace so the LoopWorkspace owns and versions it
(via the submodule gitlink); projects consume the product. Bump LoopKit pin.
The 'one-way / forward-only' claim was wrong. Core Data lightweight migration
downgrades the v6 store to dev's Modelv4 in place (verified by round-trip
test). It only fails once a v6 row has a null deliveredUnits (dev's 'value' is
mandatory -> NSCocoaError 134110), which is why an immediately-reverted tester
saw it work but a long-running sync store would not.
Includes tidepool-org/TidepoolKit#79 so sessions persisted before
userRoles was added decode cleanly on upgrade -- preserves the
TidepoolService configuration across the dev->sync upgrade instead
of forcing the user to re-authenticate.
…sync

Brings the workspace's LoopAlgorithm pin onto tidepool-sync/2026-05-11
with both upstreams folded in. Includes:
- the IOB partition-additivity test
- LoopKit/main commits: filterDateRange sorted-assert hardening,
  StandardRetrospectiveCorrection unit tests, decayEffect made a
  continuous function of sample timestamp
- Tidepool/main commits: PrecomputedInsulinInput for multi-step
  prediction sweeps + parallel glucose-effects, faster filterDateRange
  via binary search

LoopKit/main already merges Tidepool/main, so merging origin/main alone
covers both upstreams.
@marionbarker
Copy link
Copy Markdown
Contributor

marionbarker commented Jun 4, 2026

Test

Built this version over an app that was running the old tidepool-sync/2026-05-11 branch from #450.
✅ the app looks nominal - I did not do thorough testing.

Issue with new build

As before - it took a couple of tries for the build with Xcode 26.5 to succeed. I just hit build again and it eventually found all the items it needed to finish the build.

I will test a browser build to make sure that succeeds.

@marionbarker
Copy link
Copy Markdown
Contributor

Browser Build Test

✅ successful build
✅ successful install from TestFlight

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.

3 participants