Skip to content

Tidepool sync 2026-05-11#169

Open
loopkitdev wants to merge 50 commits into
LoopKit:devfrom
loopkitdev:tidepool-sync/2026-05-11
Open

Tidepool sync 2026-05-11#169
loopkitdev wants to merge 50 commits into
LoopKit:devfrom
loopkitdev:tidepool-sync/2026-05-11

Conversation

@loopkitdev
Copy link
Copy Markdown

Refreshed Tidepool → DIY sync from the tidepool-sync/2026-05-11 branch.

This supersedes and replaces the previous Tidepool Merge PR (#133), which is being closed in favor of this one.

nhamming and others added 30 commits September 25, 2023 15:53
* adding pump inoperable

* fault returns pumpInoperable
* adding pump inoperable

* fault returns pumpInoperable
ps2 and others added 19 commits July 29, 2025 09:14
…scheduled-presets

LOOP-5235 Enable scheduled presets
…scheduled-presets

LOOP-5235 Enable scheduled presets
Pass lastPumpDataReportDate as a parameter instead of accessing
state inside isSignalLost(), which caused recursive lock acquisition
and an EXC_BREAKPOINT crash when called from within a lockedState.mutate
closure.

Ports the same fix applied to OmniKit in 924f10d.
Resolved source + pbxproj conflicts. Source resolutions:
- OmniBLEPumpManager.swift: kept DIY for 3 regions (reentrant lock fix
  from commit e9425ad); region at line 2221 kept DIY (setTempBasal
  switch with completion(.communication(error)) errors — Tidepool's
  do/catch refactor cannot be cleanly applied without replacing the
  whole function, decisionId tracking already present); region at line
  2722 manual merge (preserved DIY suspend-time-expired alert special
  case from Pod Keep Alive LoopKit#165 and adopted Tidepool's properly-indented
  try await withCheckedThrowingContinuation); 3 regions took Tidepool
  (mutateState Swift 6 API migration).

pbxproj: only conflicts were preserving LOCALIZATION_PREFERS_STRING_CATALOGS
in Debug/Release configs (rule 5). No source-file refs in conflict.
Same regression as OmniKit. OmniBLEPumpManager defines only setState
(line 176); 3 mutateState calls from the sync conflict resolution
failed to compile. Reverted to setState; matches the 48 other call sites.
Emit a NewPumpEvent (.alarm) when a pod fault is first detected so the
fault is persisted to the pump event store and uploaded to remote
services (e.g. Nightscout), mirroring the existing Pod Change event.
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.

4 participants