Skip to content

Device: Clearer warning when a profile has no paired device#540

Merged
d4rken merged 1 commit into
mainfrom
fix/overview-missing-paired-banner
Apr 23, 2026
Merged

Device: Clearer warning when a profile has no paired device#540
d4rken merged 1 commit into
mainfrom
fix/overview-missing-paired-banner

Conversation

@d4rken

@d4rken d4rken commented Apr 23, 2026

Copy link
Copy Markdown
Member

What changed

The overview device card used to show a red warning triangle in the corner when a profile had no paired Bluetooth device selected. The icon didn't explain what was wrong, and tapping it dropped users into the profile edit screen with no context.

It's now replaced with a softer inline banner between the card header and the battery summary that spells out the problem in plain text. Tapping it still opens the profile to select a paired device. The banner only appears when the card is expanded, so collapsed rows stay compact.

Also fixes a case where the warning would never show at all: after unpairing a device from its profile, a lingering cached address used to hide the old triangle. The new banner is gated on profile data only, so it shows up whenever the profile really has no paired device.

Technical Context

  • New PodDevice.hasSelectedPairedDevice reads only ble.meta.profile.address / profileAddress — never the cache fallback that PodDevice.address uses. That closes the post-unpair hole where the cached address kept the triangle hidden.
  • MissingPairedDeviceBanner is its own composable rather than reusing SettingsInfoBox because the shared component has hardcoded outer padding that fights the card's column padding and no whole-surface onClick.
  • The existing SinglePodsCardMissingAddressPreview / DualPodsCardMissingAddressPreview were never actually rendering the warning branch — the mocks carried hardcoded addresses. Added singlePodMissingPairedDevice() / dualPodMissingPairedDevice() fixtures so the previews now exercise the real path.
  • Translation for the old overview_card_missing_paired_device_cd key was deleted from all 76 locale files to avoid ExtraTranslation lint warnings on beta/release builds. The new key will land in non-English locales on the next Crowdin sync.

@d4rken d4rken added bug Something isn't working enhancement Add a new feature of improve an existing feature labels Apr 23, 2026
@d4rken d4rken merged commit 016914e into main Apr 23, 2026
10 checks passed
@d4rken d4rken deleted the fix/overview-missing-paired-banner branch April 23, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement Add a new feature of improve an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant