Repository navigation
[Bug]: CarPlay Dashboard widget content is rendered twice / overlapping #10156
Description
Activity
- addedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.needs-triageIssue needs maintainer review and initial categorization.Issue needs maintainer review and initial categorization.
on Sep 5, 2026 Triage
Confirmed as a real visual bug on the Agent Activity Live Activity’s CarPlay surface. The screenshot matches current
apps/mobilesource; this is not a generic CarPlay chrome problem.What is showing
CarPlay Dashboard in iOS 26 uses the Live Activity small activity family (same size class as the watchOS Smart Stack). expo-widgets maps that to
bannerSmall, and our layout is explicitly documented that way:https://github.com/pingdotgg/t3code/blob/main/apps/mobile/src/widgets/AgentActivity.tsx
The card in the photo is the local-work seed from
armAgentAwarenessLiveActivityForLocalWorkinapps/mobile/src/features/agent-awareness/remoteRegistration.ts:activeCount: 1,status: "Connecting", plus the thread/project title. That is why the tile reads T3 / 1 active / session name / Connecting.bannerSmallitself is a singleVStack(logo + count, then title + status). There is no second copy of those nodes in the layout, and the lock-screenbanneruses different copy (1 active agent, not1 active). So this is not an accidental double-child in our JSX.Likely cause
The ghosted, slightly offset paint of the same strings/icons points at the renderer/compositor, not the layout tree:
- expo-widgets (
~57.0.15inapps/mobile) —LiveActivityBannerpicksbannerSmallwhenactivityFamily == .small, then draws it throughWidgetsDynamicView/UIBaseView. SDK 57 has known double-apply behavior for Text modifiers (expo/expo#49534) and earlier Live Activity re-eval overlays (expo/expo#44543). - iOS 26 CarPlay Live Activities — this surface is new in iOS 26 (WWDC25: small family, or compact leading/trailing if small is missing). A system snapshot/vibrancy pass compositing on top of the live view would look exactly like this. Other Dashboard tiles rendering cleanly fits a Live Activity–only path.
- Less likely: two
AgentActivityinstances.refreshActiveLiveActivityRemoteRegistrationalready ends extras; two cards would more likely appear as two tiles than as one ghosted tile.
createWidgetfor the home-screen Agent Activity widget is not in 1.0.3 (#6464 is still open), so this report is the Live Activity card, not a WidgetKit + Live Activity stack.Related (not duplicates)
- #4978 — Live Activity restyle, including Smart Stack /
bannerSmall. Any of that work should be checked on CarPlay, not only Watch. - #4980 — stale Connecting card. Same seed state, different bug (card never updates/ends).
- #6464 — shipping a real home-screen widget later could add a second CarPlay Dashboard card; it does not explain this 1.0.3 screenshot.
No existing CarPlay issue in the repo.
Severity
Cosmetic, but driver-facing: the tile is hard to read. Accepting as a bug.
Next step
Reproduce on CarPlay Simulator (Xcode Additional Tools) with an armed Agent Activity, then compare watchOS Smart Stack (same
bannerSmall):- Watch clean, CarPlay ghosted → treat as CarPlay / iOS 26 / expo-widgets and try a tighter
bannerSmall(no extra padding, avoid semanticprimary/secondaryif they pick up StandBy vibrancy) or an expo-widgets bump. - Watch also ghosted → look at
WidgetsDynamicViewwrapping and whether compact leading/trailing are being composited withbannerSmall.
Please also note whether the Lock Screen banner on the same phone is clean (it uses a different tree).
- expo-widgets (
- addedvia-triageFiled through npx t3 triageFiled through npx t3 triageacceptedfeature request acceptedfeature request acceptedand removedneeds-triageIssue needs maintainer review and initial categorization.Issue needs maintainer review and initial categorization.
on Sep 5, 2026
Before submitting
Area
apps/mobile
Steps to reproduce
Expected behavior
The t3code CarPlay Dashboard widget should render each UI element exactly once, with correctly aligned and legible text and icons.
Actual behavior
The contents of the t3code Dashboard widget appear to be rendered twice, with the duplicate copy slightly offset from the original.
This causes overlapping/ghosted text and icons throughout the widget, including the T3 logo,
1 active, the session/repository name, and theConnectingstatus.Other CarPlay Dashboard elements appear to render normally, suggesting the issue is specific to the t3code widget.
Impact
Cosmetic issue
Version or commit
1.0.3 from App Store
Environment
iOS 26.6.2 on iPhone 15 Pro Max
Logs or stack traces
Screenshots, recordings, or supporting files
IMG_7757.jpeg
Workaround
No response