Is your feature request related to a problem? Please describe.
Settings search navigates to the correct screen but doesn't always scroll to or highlight the target setting. Testing 149 searchable items revealed failures in several categories: label mismatches between the search index and UI, settings hidden behind disabled toggles, navigation stopping short of nested sub-screens, and missing scroll target annotations on custom UI sections.
Describe the solution you'd like
Complete scroll-to-highlight coverage for all searchable settings:
- Add
.settingsHighlightScroll() modifier to all settings sub-screens
- Add
.settingsSearchTarget(label:) annotations to custom UI sections (e.g. picker-style layouts in User Interface settings)
- Fix search index label mismatches where
searchContents entries don't match actual UI labels
- Add
scrollTargetLabels mappings where the search term intentionally differs from the UI label
- Handle conditionally-hidden settings gated behind a toggle that can't be scrolled to when the toggle is off
- Fix nested navigation for screens behind intermediate navigation (Apple Watch, Nightscout Upload/Fetch)
Describe alternatives you've considered
- Ignore scroll-to for hidden settings: Only show them in search results when visible. Reduces scope but changes search behavior.
- Auto-enable parent toggles: Rejected because toggling user settings as a side effect of search is unexpected and potentially unsafe for a medical device app.
Additional context
| Category |
Count |
Example |
| Hidden behind disabled toggle |
~15 |
"Reduced Bolus Percentage" (toggle OFF) |
| Nested navigation stops short |
~8 |
Apple Watch, Nightscout Upload/Fetch |
| Label mismatch |
~4 |
"Glucose Units", "Max Carbs", "DIA" |
| Missing scroll target |
~2 |
"Glucose Notifications", "Anonymized Data Sharing" |
Searchable Settings Checklist
Devices
Devices > Continuous Glucose Monitor
Devices > Smart Watch
Therapy Settings
Therapy Settings > Units and Limits
Algorithm
Algorithm > Autosens
Algorithm > Super Micro Bolus (SMB)
Algorithm > Dynamic Sensitivity
Algorithm > Target Behavior
Algorithm > Additionals
Features
Features > Bolus Calculator
Features > Meal Settings
Features > Shortcuts
Features > Remote Control
Features > User Interface
Features > App Icons
Features > App Diagnostics
Manage iOS Preferences
Notifications
Notifications > Trio Notifications
Notifications > Live Activity
Notifications > Calendar Events
Services
Services > Nightscout
Services > Nightscout > Upload
Services > Nightscout > Fetch and Remote Control
Technical Details
.settingsHighlightScroll() reads from SettingsSearchHighlight (an @Observable environment object) to drive ScrollViewReader scrolling and row highlight animation
.settingsSearchTarget(label:) is for sections that don't use SettingInputSection (which has built-in support)
scrollTargetLabels in SettingItems.swift maps search terms to their actual UI label when they differ
- Nested navigation (Apple Watch, Nightscout sub-screens) requires changes to
NavigationPath-based routing in SettingsRootView
- Hidden-setting handling may require the search result UI to indicate when a setting exists but isn't currently visible
User Impact
Settings search is a core discoverability feature. Currently ~30 of 149 items don't fully work. Completing this ensures search reliably takes users to the exact setting they're looking for.
Is your feature request related to a problem? Please describe.
Settings search navigates to the correct screen but doesn't always scroll to or highlight the target setting. Testing 149 searchable items revealed failures in several categories: label mismatches between the search index and UI, settings hidden behind disabled toggles, navigation stopping short of nested sub-screens, and missing scroll target annotations on custom UI sections.
Describe the solution you'd like
Complete scroll-to-highlight coverage for all searchable settings:
.settingsHighlightScroll()modifier to all settings sub-screens.settingsSearchTarget(label:)annotations to custom UI sections (e.g. picker-style layouts in User Interface settings)searchContentsentries don't match actual UI labelsscrollTargetLabelsmappings where the search term intentionally differs from the UI labelDescribe alternatives you've considered
Additional context
Searchable Settings Checklist
Devices
Devices > Continuous Glucose Monitor
Devices > Smart Watch
Therapy Settings
Therapy Settings > Units and Limits
Algorithm
Algorithm > Autosens
Algorithm > Super Micro Bolus (SMB)
Algorithm > Dynamic Sensitivity
Algorithm > Target Behavior
Algorithm > Additionals
Features
Features > Bolus Calculator
Features > Meal Settings
Features > Shortcuts
Features > Remote Control
Features > User Interface
Features > App Icons
Features > App Diagnostics
Manage iOS Preferences
Notifications
Notifications > Trio Notifications
Notifications > Live Activity
Notifications > Calendar Events
Services
Services > Nightscout
Services > Nightscout > Upload
Services > Nightscout > Fetch and Remote Control
Technical Details
.settingsHighlightScroll()reads fromSettingsSearchHighlight(an@Observableenvironment object) to driveScrollViewReaderscrolling and row highlight animation.settingsSearchTarget(label:)is for sections that don't useSettingInputSection(which has built-in support)scrollTargetLabelsinSettingItems.swiftmaps search terms to their actual UI label when they differNavigationPath-based routing inSettingsRootViewUser Impact
Settings search is a core discoverability feature. Currently ~30 of 149 items don't fully work. Completing this ensures search reliably takes users to the exact setting they're looking for.