Skip to content

Improve ​Car​Play ​Assist feedback and playback troubleshooting#4613

Merged
bgoncal merged 23 commits intomainfrom
carplay-assist-improvements
May 6, 2026
Merged

Improve ​Car​Play ​Assist feedback and playback troubleshooting#4613
bgoncal merged 23 commits intomainfrom
carplay-assist-improvements

Conversation

@bgoncal
Copy link
Copy Markdown
Member

@bgoncal bgoncal commented May 6, 2026

Summary

• improve CarPlay Assist voice control flow by keeping the template available after playback
• add idle and error states with retry support
• add extra audio cues for processing and error transitions
• add playback troubleshooting help from the CarPlay Assist UI
• expose TTS playback strategy in CarPlay settings and debug settings

Screenshots

Link to pull request in Documentation repository

Documentation: home-assistant/companion.home-assistant#

Any other notes

@bgoncal bgoncal self-assigned this May 6, 2026
Copilot AI review requested due to automatic review settings May 6, 2026 13:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the CarPlay Assist experience by improving voice-control session feedback, adding playback troubleshooting guidance, and exposing new playback/audio-session tuning options via both user-facing CarPlay settings and debug settings.

Changes:

  • Added new CarPlay Assist debug/settings model persisted in SettingsStore, plus UI surfaces in Debug and CarPlay settings.
  • Updated CarPlay Assist session flow with additional states (idle/error), retry/help actions, audio cues, and alternative TTS playback strategies for troubleshooting.
  • Updated project/CI configuration to build/test against newer Xcode/iOS versions and adjusted SwiftLint exclusions.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
Sources/Shared/Settings/SettingsStore.swift Persists and resets the new CarPlay Assist debug/settings bundle via UserDefaults.
Sources/Shared/Settings/CarPlayAssistDebugSettings.swift Defines configurable CarPlay Assist audio/TTS settings (categories, modes, strategies, delays).
Sources/Shared/Resources/Swiftgen/Strings.swift Adds new localized string accessors for playback help and debug/settings UI.
Sources/Shared/MaterialDesignIcons+CarPlay.swift Extends CarPlay icon rendering to support a larger “assist state indicator” icon context.
Sources/CarPlay/Templates/QuickAccess/CarPlayQuickAccessTemplate.swift Hooks Assist pipeline taps to start/stop an Assist session (with new availability guard).
Sources/CarPlay/Templates/QuickAccess/CarPlayAssistSession.swift Implements new Assist session state machine, audio session controls, TTS playback strategies, and help UI.
Sources/App/Settings/DebugView.swift Adds navigation into CarPlay debug settings and updates async sleep usage.
Sources/App/Settings/CarPlay/CarPlayConfigurationView.swift Adds an Advanced settings entry and updates review prompt API usage.
Sources/App/Settings/CarPlay/CarPlayAssistSettingsView.swift Adds a user-facing CarPlay “Advanced > Assist” view for selecting TTS playback strategy.
Sources/App/Resources/en.lproj/Localizable.strings Adds English strings for playback help + debug/settings labels/footers.
Sources/App/Assist/Audio/AudioRecorder.swift Adds a switch to let callers opt out of AudioRecorder managing the audio session.
HomeAssistant.xcodeproj/project.pbxproj Wires new Swift files and audio resource into build phases/groups.
fastlane/lanes/testing.rb Updates simulator destination OS for unit tests.
.swiftlint.yml Excludes build/ from SwiftLint scanning.
.github/workflows/distribute.yml Moves CI to newer Xcode/macOS runner and ensures Ruby is set up consistently.
.github/workflows/ci.yml Moves CI to newer Xcode/macOS runner and updates Ruby setup + cache key inputs.

Comment thread Sources/CarPlay/Templates/QuickAccess/CarPlayAssistSession.swift Outdated
Comment thread Sources/CarPlay/Templates/QuickAccess/CarPlayAssistSession.swift
Comment thread Sources/CarPlay/Templates/QuickAccess/CarPlayAssistSession.swift Outdated
Comment thread Sources/App/Resources/en.lproj/Localizable.strings Outdated
Comment thread Sources/App/Settings/CarPlay/CarPlayAssistSettingsView.swift
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 93.46734% with 13 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@bbdcd09). Learn more about missing BASE report.

Files with missing lines Patch % Lines
Sources/Shared/MaterialDesignIcons+CarPlay.swift 0.00% 13 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4613   +/-   ##
=======================================
  Coverage        ?   43.80%           
=======================================
  Files           ?      278           
  Lines           ?    16943           
  Branches        ?        0           
=======================================
  Hits            ?     7422           
  Misses          ?     9521           
  Partials        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bgoncal bgoncal merged commit b821f58 into main May 6, 2026
17 checks passed
@bgoncal bgoncal deleted the carplay-assist-improvements branch May 6, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants