Repository navigation
Plugin picker sheet with manufacturer groups and subtitles - #2572
Merged
Merged
Conversation
PluginManager reads com.loopkit.Loop.PluginSubtitle into the pump, CGM and service descriptors, and the simulators get subtitles of their own. Picker rows put the subtitle in secondary text under a headline title, combine each row for VoiceOver, and tint template icons with the accent color.
This was referenced Oct 13, 2026
Merged
Closed
marionbarker
pushed a commit
to loopandlearn/customization
that referenced
this pull request
Oct 14, 2026
Loop next-dev PR LoopKit/Loop#2572 (plugin picker sheet with manufacturer groups and subtitles) reworked SettingsView, so nextdev_basal_lock.patch stopped applying. Rebase the SettingsView hunks onto the plugin picker and move the old patch to basal_lock/archive/nextdev_basal_lock_20d597f.patch, named for the last Loop commit it applied to. The rebased patch applies on top of nextdev_profiles.patch and vice versa, so no next-dev combination patches are needed.
marionbarker
pushed a commit
to loopandlearn/customization
that referenced
this pull request
Oct 14, 2026
* basal_lock: update nextdev patch for Loop plugin picker Loop next-dev PR LoopKit/Loop#2572 (plugin picker sheet with manufacturer groups and subtitles) reworked SettingsView, so nextdev_basal_lock.patch stopped applying. Rebase the SettingsView hunks onto the plugin picker and move the old patch to basal_lock/archive/nextdev_basal_lock_20d597f.patch, named for the last Loop commit it applied to. The rebased patch applies on top of nextdev_profiles.patch and vice versa, so no next-dev combination patches are needed. * xdrip_cgm: update nextdev patch for current next-dev Next-dev replaced the LibreCRKit submodule with RoundWhiteDiscKit, so the nextdev patch no longer applied and the main/dev patch was used instead, which fails to build on next-dev. The patch makes the same change with updated context. The old patch is moved to the archive, named for the last LoopWorkspace commit it applied to.
marionbarker
pushed a commit
to loopandlearn/customization
that referenced
this pull request
Oct 14, 2026
* basal_lock: update nextdev patch for Loop plugin picker Loop next-dev PR LoopKit/Loop#2572 (plugin picker sheet with manufacturer groups and subtitles) reworked SettingsView, so nextdev_basal_lock.patch stopped applying. Rebase the SettingsView hunks onto the plugin picker and move the old patch to basal_lock/archive/nextdev_basal_lock_20d597f.patch, named for the last Loop commit it applied to. The rebased patch applies on top of nextdev_profiles.patch and vice versa, so no next-dev combination patches are needed. * Add .loopcustomization marker to every active patch LoopKit/Loop#2577 records each <identifier>.loopcustomization file found at the workspace root or a submodule root in BuildDetails.plist, the diagnostic report and the analytics instantiation event. Every active patch now creates an empty <folder>.loopcustomization at the LoopWorkspace root, named after its customization folder. Combination patches carry only the marker of their own folder. Each patch is applied and reverted as a unit, so the marker follows the customization, and the distinct file names keep patches from conflicting with each other. The unmarked versions are kept as archive/<name>_nomarker.patch so that workspaces with an unmarked patch applied show "Update available". * xdrip_cgm: update nextdev patch for current next-dev Next-dev replaced the LibreCRKit submodule with RoundWhiteDiscKit, so the nextdev patch no longer applied and the main/dev patch was used instead, which fails to build on next-dev. The patch makes the same change with updated context. The old patch is moved to the archive, named for the last LoopWorkspace commit it applied to.
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.
Builds on #2490 by @Camji55 and includes its commit, merged onto the current next-dev. It replaces that PR. It depends on LoopKit/LoopKit#644.
Changes
PluginPickerView. It shows an icon for each plugin, groups devices by manufacturer and services by category, and lists Remote and Simulator groups after the hardware.PluginManagerreadscom.loopkit.Loop.PluginSubtitleinto the descriptors. The pump, CGM and service simulators get their own subtitles.The pump-as-CGM entry (a MiniMed with an integrated CGM) has no subtitle, because the pump's model list would be wrong there.
Plugin subtitles
Dexcom G5/G6/G7 and Eversense have no subtitle, because their titles already name the models. The FreeStyle Libre Demo moves from Abbott to the Simulator group.
Testing
The full
LoopWorkspacescheme builds for the Simulator. I reviewed the pump, CGM and service pickers on an iPhone 12 mini Simulator (iOS 26.5) in light and dark mode. I haven't run the unit tests locally; the LoopWorkspace PR's CI runs them.