saber

saber synced commits to fix/tidepool-auth-state at saber/Trio from mirror

  • 64c9598728 Refactor TidepoolHealth handling from publisher to observer

1 день назад

saber synced commits to feat/dev-oref-swift at saber/Trio from mirror

1 день назад

saber synced commits to feat/dev-eversense at saber/Trio from mirror

1 день назад

saber synced commits to dev at saber/Trio from mirror

1 день назад

saber synced new reference fix/watch-state-sync to saber/Trio from mirror

3 дней назад

saber synced new reference fix/stats-meals-current-day-zero to saber/Trio from mirror

4 дней назад

saber synced new reference fix/oref-swift-dynisf-condition to saber/Trio from mirror

4 дней назад

saber synced commits to feat/dev-oref-swift at saber/Trio from mirror

4 дней назад

saber synced commits to core-data-fixes at saber/Trio from mirror

5 дней назад

saber synced commits to aps-manager-thread-safety-fixes at saber/Trio from mirror

  • 0bd9d090e4 Merge branch 'dev' of github.com:nightscout/Trio into aps-manager-thread-safety-fixes
  • 591b3ef295 Update remaining BolusProgressState.clear call sites Two callers outside the bolusTrigger sink still used the old clear() signature: cancelBolus (direct actor call) and doseProgressReporter- DidUpdate (calls clearBolusReporter on bolus completion). Update them to pass observer: self, and wrap the latter in a Task since the DoseProgressObserver protocol method is sync and clearBolusReporter is now async.
  • 123e552814 Drop weak observer cache in BolusProgressState setReporter took the observer as a parameter but clear() reached for a weak cached copy. If BaseAPSManager were torn down between the two calls, the weak ref would be nil and removeObserver would be skipped — leaving the observer in whatever internal list DoseProgressReporter keeps and leaking it through that ref. Holding it strong inside the actor isn't an option either: that forms a retain cycle (BaseAPSManager → state → observer = BaseAPSManager). Fix: drop the cache entirely. Both setReporter and clear now take observer as a parameter — the caller (BaseAPSManager) always has a stable self to pass, and Swift retains it across the await for the duration of the actor call without forming a long-lived cycle.
  • 77f10c1df0 Release loop actor before publishing isLooping(false) In finalizeLoop, the actor was freed after isLooping.send(false). That opened a window where subscribers (Home UI, deviceDataManager. loopInProgress) saw the loop as finished while the actor was still held. A heartbeat arriving in that window would call loop(), which would then await tryStart, get false back, and log "Loop skipped (already running or too soon)" at the tail of every successful loop. Swap the order: free the actor first, then publish state.
  • 3e0dc662d0 End background task on the async path, not from a defer-Task A defer block cannot await, so the previous code wrapped endBackgroundTask in a follow-up unstructured Task. UIApplication's contract is that endBackgroundTask must land before the app is suspended; an unstructured Task spawned at the tail of the loop has no such guarantee — iOS may suspend before it runs, which trips the background-task watchdog. The enclosing scope is already async, so just await the call directly at the end of the do/catch, on both success and error paths. The expirationHandler from the pre-PR code is intentionally not restored. The old handler also ended the task from a Task and was buggy; reintroducing it correctly is out of scope for this PR and belongs in the PR description as a deliberate behavior change.
  • Просмотр сравнение для этих 91 коммитов »

5 дней назад

saber synced new reference fix/tidepool-auth-state to saber/Trio from mirror

5 дней назад

saber synced commits to feat/dev-oref-swift at saber/Trio from mirror

5 дней назад

saber synced commits to feat/dev-eversense at saber/Trio from mirror

5 дней назад

saber synced commits to dev at saber/Trio from mirror

5 дней назад

saber synced commits to fix/oref-meal-glucoseFetchLimit at saber/Trio from mirror

  • 25710e16db Fix fetchHours calculation, remove factor

6 дней назад

saber synced new reference fix/nightscout-mmol-import to saber/Trio from mirror

6 дней назад

saber synced new reference fix/live-activity-widget-strings to saber/Trio from mirror

6 дней назад

saber synced new reference v0.8.1 to saber/Trio from mirror

6 дней назад

saber synced commits to main at saber/Trio from mirror

6 дней назад

saber synced commits to fix/oref-meal-glucoseFetchLimit at saber/Trio from mirror

  • 9101aeb610 Remove fetchLimit, introduce fetchHours based on MMAT + 0.5 hr for oref/meal

6 дней назад