Skip to content

CarPlay reliability#319

Merged
teancom merged 1 commit intodevfrom
feat/carplay-drive-quality
May 2, 2026
Merged

CarPlay reliability#319
teancom merged 1 commit intodevfrom
feat/carplay-drive-quality

Conversation

@teancom
Copy link
Copy Markdown
Contributor

@teancom teancom commented May 2, 2026

This is the PR with the actual CarPlay reliability fixes that I've been working on. Specifically, we had some forever-hangs that now get timeouts, we add a 'Disconnected' row to the UI if we do get timeouts, and we can now drill down into the actual albums of an artist, etc.

  • KmpHelper: nullable-on-timeout fetcher contract (5s withTimeoutOrNull), Cancellable + observeReadiness/observeLocalPlayerPresence subscriptions, drilldown fetchers (artist→albums, album→tracks, playlist→tracks).
  • CarPlay scene: readiness-gated taps with idempotent offline alert, generation counter on the recommendations fetch, type-aware drilldown dispatch, popToRoot before pushing Now Playing to dodge the depth-5 hierarchy crash, one-shot initial Now Playing push on local-player presence.
  • CarPlayContentManager: drilldown wrappers + mapItems threading.
  • SiriIntentHandler: nil → empty coalesce on the four search call sites.
  • Lifecycle markers via OSLog at .default for post-drive sysdiagnose.

…afety

- KmpHelper: nullable-on-timeout fetcher contract (5s withTimeoutOrNull),
  Cancellable + observeReadiness/observeLocalPlayerPresence subscriptions,
  drilldown fetchers (artist→albums, album→tracks, playlist→tracks).
- CarPlay scene: readiness-gated taps with idempotent offline alert,
  generation counter on the recommendations fetch, type-aware drilldown
  dispatch, popToRoot before pushing Now Playing to dodge the depth-5
  hierarchy crash, one-shot initial Now Playing push on local-player
  presence.
- CarPlayContentManager: drilldown wrappers + mapItems threading.
- SiriIntentHandler: nil → empty coalesce on the four search call sites.
- Lifecycle markers via OSLog at .default for post-drive sysdiagnose.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@teancom teancom self-assigned this May 2, 2026
@teancom teancom added bug Something isn't working ios iOS platform ui Issue with interface or UX auto Android Auto and iOS CarPlay labels May 2, 2026
@teancom
Copy link
Copy Markdown
Contributor Author

teancom commented May 2, 2026

I've re-run the Android tests a couple of times. I think (since I didn't touch any Android code) that it's probably not something I did? But if I'm wrong, I'm happy to fix it.

@teancom
Copy link
Copy Markdown
Contributor Author

teancom commented May 2, 2026

I think I found the cause of the android test failures: #321

@teancom teancom merged commit 2cdb42e into dev May 2, 2026
2 of 4 checks passed
@teancom teancom deleted the feat/carplay-drive-quality branch May 2, 2026 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto Android Auto and iOS CarPlay bug Something isn't working ios iOS platform ui Issue with interface or UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants