Repository navigation
Sync upstream Trio dev (23bb3be36, 1.0.2.59) into Tai dev - #42
Merged
Merged
Conversation
Replace screen-based widths with container-relative sizing in basal profile, carb ratio, ISF, and target editors. Extend save bar backgrounds across horizontal safe areas.
Pin the List's top content margin to 35 pt in the Treatments sheet and the add and edit override and temp target forms. The iPhone Duo's closed display defaults it to 0, which put the first row under the sheet's bar.
Keep only vertical padding on the NavigationStack in SettingInputHintView and the override, temp target, and contact image help views. Pad the List and Got it! button horizontally instead, so the sheet's horizontal safe-area inset applies once.
Replace screen-based widths with container-relative sizing in the Add Contact, Edit Contact, CGM options, Adjustments stop and History meal editor bars. Extend the bar backgrounds across horizontal safe areas.
Replace screen-based widths with container-relative sizing for the load-error Retry button, the migration-error Proceed button and the Live Activity widget configuration preview.
Removes unused AddCarbs, Autotune, and Libre configuration screens, unused helper extensions (Array, ConcurrentMap, MD5), progress views, and their Xcode project references. No behavior change.
…th one upload mapping for both paths
…tch session has ended The reservoir file kept the previous pump's or patch's value, so Home and the Nightscout device status showed it until the new pump reported its own. A missing reservoir is now uploaded as no value rather than 0.
Store the pump status in Core Data
[Duo 1/5] Therapy editors: size the save bar to its container, not the screen
[Duo 2/5] Treatments and adjustment forms: pin the list's top content margin
[Duo 3/5] Help sheets: pad inside the NavigationStack, not around it
[Duo 4/5] Sticky action bars: size them to their container, not the screen
Remove unused and dead code
Fix glucose delta rounding in mmol/L and unify delta formatting
…atters Remove unused formatters
[Duo 5/5] Error screens and Live Activity preview: size to the container, not the screen
…rmatting Fix glucose decimals and unify glucose formatting
A temp basal dated across a clock change is stored with its end before its start, so the upload built an HKQuantitySample whose endDate precedes its startDate. HealthKit validates the sample when saving it and raises _HKObjectValidationFailureException, an Objective-C exception that the upload's do/catch cannot handle, so the app terminated on every attempt to upload insulin until that row left the 24 hour query. Both places that derive a sample's end from a pump event now skip the sample and log it instead of building one whose end precedes its start. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
…ple-dates Skip Apple Health insulin samples that end before they start
Move to LoopKit next-dev
Read the reservoir from the pump manager instead of storing it
Fix Critical Alarms Cut Off and AlarmKit Permission Issues
Remove LoopAlgorithm submodule
Adopt async device deletion and track next-dev
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sync upstream Trio dev (23bb3be, 1.0.2.59) into Tai dev
Brings Tai
devup to upstreamnightscout/Triodevat23bb3be36— 88 upstream commits since the last sync base26e457d96(1.0.2.42), reported upstream as 165 files, +1190 / −2240.What this sync brings
next-devports adopted.LoopQuantity/LoopUnitat the LoopKit boundary, LoopKit-owned value types, the async pump/alert delegate APIs, async device deletion, and the async device-log fetch (upstream #1718, #1738, plus the per-kit commits they depend on).LoopAlgorithmsubmodule removed (upstream #1726). The package reference, product dependency,.gitmodulesentry and gitlink are gone; the algorithm code Tai uses lives inAlgorithmPackageandTrio/Sources/APS/OpenAPSSwift.monitor/reservoir.jsonandmonitor/status.jsonare no longer loaded byOpenAPS, and the stored pump status is persisted through the new Core Data model (PumpStatusStored) instead.Decimal.formatted(for:),.formatted(withUnits:),.formattedDelta(for:),.formattedISF(for:).Formatter.glucoseFormatter(for:),NumberFormatter.glucoseFormatterand theformattedAsMmolLextensions are gone.ProgressBar,ConcurrentMap,MD5,Array+Extension,Color+Extensions,SettingsRowView,BolusProgressViewStyle, theAddCarbsmodule, theAutotuneConfigmodule,LibreConfigRootView,SettingsRootViewModel,ComputedBGTargets+Getter.Conflict resolution
The merge had 18 conflicted paths / 23 content hunks, plus 3 modify/delete paths and the MedtrumKit gitlink. Resolutions worth naming:
Trio/Sources/APS/OpenAPS/OpenAPS.swiftandTrio/Sources/APS/OpenAPSSwift/DetermineBasal/DetermineBasalGenerator.swift(Tai's+544autoISF body,units:andpumpHistory:plumbing,autoISFStatus), while adopting upstream's reservoir removal in both files. Upstream's removal of theDecimal(string: rawReservoir) ?? 100masking default is taken as-is — the reservoir is no longer synthesised when the pump does not report one.AutotuneConfigmodule accepted as deleted. Upstream removed the whole module; Tai has noScreencase or router registration for it either, so the modify/delete onAutotuneConfigStateModel.swiftresolves to deletion and the remaining three module files go with it.HistoryRootView+Adjustments.swift/+Glucose.swift; Tai's singleHistoryRootView.swift(1118 lines) is kept and upstream's formatter migration is ported into it, so the two Tai-deleted extension files stay absent.AlgorithmSettingHintsstayed the single source of hint text inAlgorithmAdvancedSettingsRootView,SMBSettingsRootView,TargetBehavoirRootViewandUnitsLimitsSettingsRootView, instead of upstream's inline strings.MainChartHelperID reconciliation inproject.pbxproj: Tai's49B21BBC/49B21BBDkept, the duplicate582DF978/582DF979set dropped, all other hunks unioned (Tai-only files kept, upstream'sPumpStatus*files and two new test files added,LoopAlgorithmpackage refs removed).AutosensSettingsRootViewadopts upstream's.formattedISF(for:)but keeps Tai'sstate.scope.preferences(notsettingsManager.preferences).6998a6cfb(#1711) deleted the per-viewnumberFormatterproperty fromISFEditorRootViewandTargetsEditorRootViewafter removing its last use; Tai still labels both chart Y-axes through it, so the merge keeps the Tai call sites and restores the deleted property block in both editors — see Testing.Submodules
15 pins updated,
LoopAlgorithmremoved,RoundWhiteDiscKitunchanged (stillmain). All 16 gitlink entries in the merged tree are byte-identical to upstream23bb3be36:AccuChekKit3a784a8e2,CGMBLEKit5bde830de,DanaKit787a63924,EversenseKitef496f168,G7SensorKit08d488633,LibreLoop0c90cd9a0,LibreTransmitterfb8e4ad28,LoopKitbabddf045,MedtrumKit1e761ef6a,MinimedKit008aab09c,OmnipodKit6fdf0e0e3,RileyLinkKit52a652c93,SyaiKitd46674c54,TidepoolService9cee9e138,dexcom-share-client-swifte7eda4029..gitmodulesnow trackstrio-next-devfor the loopandlearn kits,next-devforOmnipodKitanddexcom-share-client-swift,mainforRoundWhiteDiscKit, andnightscout/SyaiKitontrio-next-dev.scripts/define_common_trio.shwas updated to match.MedtrumKit takes upstream's
1e761ef6arather than Tai'sc33699595: the upstream pin is publicly reachable onloopandlearn/MedtrumKittrio-next-devand Tai's commit is its ancestor, so no fork work is lost.Tai surface preserved
AutoISF*,AimiB30,Determination+AutoISF) and the autoISF settings/history modules, includingOpenAPS's autoISF columns.AlgorithmSettingHints, the Tai Home dashboard panels (basalString/leftHeaderPanel), the Tai bolus/insulin formatters, and Tai'sscope.preferencesaccess path.trio-oref, the Tai bundle identifier and logging conventions.Trio/Sources/Views/AlgorithmSettingHints.swiftandTrio/Sources/Modules/Home/View/Chart/ChartElements/PeakLabelsOverlay.swift— and both were touched only by the mechanical formatter migration.Localizable.xcstringsauto-merged; the net diff contains no localization changes.Version
Config.xcconfig:APP_DEV_VERSION1.0.2.42 → 1.0.2.59 (Tai'sBUNDLE_IDENTIFIERunchanged).Not included
monitor/reservoir.json; anything that relied on that file sees the pump manager's value now.Testing
No local build or unit-test run was performed for this merge — verification was diff-based (merge provenance, submodule reachability, project-file object graph, formatter-reference sweep,
git diff --check). CI on the exact head is the gate, and it caught two separate merge artifacts. Each was fixed in its own follow-up commit, and the final exact-head run is green.Run
42073200286on5c077e40e:Algorithm Package (swift test)pass,Run Unit Testsfail at Build for testing — three compile errors inTrio/Sources/Modules/PumpConfig/PumpConfigProvider.swift(44:35,45:31,59:60). Upstream deletedsavePreferences/save(settings:)from that provider; Tai's versions survived the merge without theLoopQuantity/LoopUnitport that every otherDeliveryLimitscall site in the tree received.Fix
15c45e8c2("fix(sync): port PumpConfig delivery limits to LoopQuantity", 1 file, +3 / −3) portsPumpConfigProvider.save(settings:)toLoopQuantity(unit: .internationalUnitsPerHour, …)/LoopQuantity(unit: .internationalUnit, …)and the relatedLoopUnitread-back. Those three errors are gone from the next run.Run
42078108303on15c45e8c2:Algorithm Package (swift test)pass (1m10s),Run Unit Testsfail (13m31s) at Build for testing, one error:Cause: upstream
6998a6cfb("Remove unused formatters", #1711) deleted theprivate var numberFormatter: NumberFormatterproperty from both fork editors because upstream had also removed its last use; the merge keeps Tai's chart Y-axis label, which still calls it.Trio/Sources/Modules/TargetsEditor/View/TargetsEditorRootView.swift:175carries the same dangling reference and fails as soon as ISFEditor compiles.Fix
b0458cc1f("fix(sync): restore numberFormatter for the autoISF chart axis labels", 2 files, +14 / −0) restores the deleted computed property inISFEditorRootViewandTargetsEditorRootView, identical to the intact block inTrio/Sources/Modules/CSFEditor/View/CSFEditorRootView.swift:numberStyle = .decimalandmaximumFractionDigits = state.units == .mmolL ? 1 : 0. Both call sites are untouched, and no other file, submodule gitlink, project-file entry or localization string changes.Run
42082082361onb0458cc1f(final head):Algorithm Package (swift test)pass (1m18s),Run Unit Testspass (16m59s) — conclusionsuccess.Both merge defects are therefore fixed on the branch and CI is green on the head this PR is opened from.
Screenshots
Not applicable — no user-facing UI change is introduced by this sync.