Repository navigation
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
Not sure (iOS app + relay delivery)
Steps to reproduce
- On iPhone, sign in to T3 Connect with agent activity publishing enabled on the environment.
- In Settings > Notifications, turn on Device Notifications and Live Activity Updates. iOS notification permission is granted.
- Start a short agent turn, then lock the phone.
- Wait for the turn to finish.
- Turn Live Activity Updates off, leave Device Notifications on, and repeat steps 3–4.
Expected behavior
With Live Activity Updates on, a completion arrives as an alerting Live Activity update. The relay attaches an alert to that update:
t3code/infra/relay/src/agentActivity/ApnsDeliveries.ts
Lines 280 to 290 in e3b35d1
: (alertForAttentionTransition({ previousAggregate, nextAggregate, preferences, }) ?? alertForNewlyTerminal({ previousAggregate, nextAggregate, preferences, nowMs: input.nowMs, includeUnobserved: true, t3code/infra/relay/src/agentActivity/ApnsClient.ts
Lines 106 to 116 in e3b35d1
// An alert dict on an update/end makes it an "alerting" update: iOS wakes the // screen and plays the haptic (the Apple Sports score-change behavior) instead // of silently redrawing the activity. function liveActivityAlertPayload(alert: ApnsLiveActivityAlert) { return { alert: { title: alert.title, body: alert.body, sound: "default", }, };
Per Apple (WWDC24 session 10068), an alerting update expands the Dynamic Island on iPhone, and on Apple Watch it launches the Smart Stack and shows the alert. The widget opts in to the Watch through bannerSmall / supplementalActivityFamilies([.small, .medium]).
Actual behavior
Live Activity Updates on:
- The Live Activity content updates normally to "Done" on the Lock Screen, in the Dynamic Island, and in the Apple Watch Smart Stack.
- No alert presentation: the screen doesn't wake, the Dynamic Island doesn't expand, and there's no Apple Watch alert.
- No ordinary banner either, which is expected because the Live Activity takes precedence.
Live Activity Updates off (same device, same session):
- The ordinary "Done" notification arrives on both iPhone and Apple Watch.
So notification permission, the device push token, the relay's notificationsEnabled for this device, and the ordinary APNs path all work. Live Activity content delivery also works. The failure is specific to the alert on Live Activity updates. It happens either because the alert isn't attached (for example, alertForNewlyTerminal / alertForAttentionTransition returning null at enqueue or at the delivery-time recheck in sendLiveActivity), or because iOS isn't presenting it.
Turning Device Notifications off and back on didn't change anything.
Other reports (#11938, #20087) describe phones and Watches receiving "Done" alerts, so this may depend on device state or timing.
Could a maintainer check the relay's delivery attempts for this device and confirm whether completion live_activity_update jobs were sent with an alert and priority 10?
Possibly related: the card doesn't end when Live Activity Updates is turned off
After step 5, the existing card stayed on the Lock Screen frozen at its last content, well past the 15-second dismissal window. Turning the setting off doesn't end the local card on the phone (handleLiveActivitiesChange calls setLiveActivityUpdatesEnabled but not endLocalLiveActivities), so removal depends on the relay's live_activity_end, which carries a 15-second dismissal-date (ApnsClient.ts L119-L136). That end never took effect.
Pattern on this device: content-only updates (priority 5, no alert) are applied, while both alerting updates and the end event (priority 10) never take effect. I haven't verified that this is the cause; I'm including it in case it helps narrow things down. It's different from #16241, which covers cards iOS has already ended.
Impact
Major degradation or frequent failure. Completion and input alerts are the main way to know an agent needs you. The only workaround gives up the Live Activity.
Version or commit
Desktop/server: 0.1.1-nightly.20261016.3190
iPhone app: 2.0.0 (App Store)
Environment
Windows desktop host. iPhone with Dynamic Island on iOS 26.6.1. Apple Watch on watchOS 26.5 (23T570). Silent mode on; no Focus mode active during testing.
Logs or stack traces
The host's server traces show AgentAwarenessRelay.publishThread succeeding (~1,000 spans, no failures), but they don't include the relay's per-device delivery results. I don't have access to relay-side logs.
Workaround
Turn Live Activity Updates off. Ordinary notifications then arrive on iPhone and Apple Watch, but you lose the ongoing progress display.
Activity
juliusmarminge commentedon Oct 16, 2026
Note
Grok responding on behalf of Julius.
Thanks for the careful comparison. The relay does attach an alert to the completion Live Activity update, so this needs more data before we can tell whether it's on our side or an iOS presentation rule. Could you share:
Note that iOS limits how often alerting Live Activity updates actually present, so we'll need those details to rule that out.
rescuedfamily commentedon Oct 16, 2026
Thanks! A few of these are in the original report; repeating them here with the rest:
Live Activity age: your theory looks right for short turns. With Live Activity Updates on and the phone locked:
So alerts seem to be missing on short turns, and present but very easy to miss on longer ones. Two follow-up questions:
newlyTerminalRowsreturns nothing whenpreviousAggregateis null, if I'm reading it right.)Other observations from these tests:
On Apple Watch, the tap arrives, but the finished task never shows up. The small (
bannerSmall) layout renders onlyrow0, and running rows sort before completed ones, so while another thread is running, the Watch card keeps showing the running thread and "1 active." The tap gives no sign of which task finished.t3code/apps/mobile/src/widgets/AgentActivity.tsx
Lines 284 to 316 in e3b35d1
When I turned Live Activity Updates off, the card stayed frozen instead of being dismissed. After I turned the setting back on, the phone reused that card instead of arming a new one (
armAgentAwarenessLiveActivityForLocalWorkNowreturns early when an activity exists). It never updated again and showed "Agent status out of date" while work was still running. Clearing it by hand fixed that.Even when the alert fires, completion is hard to notice when other work is running. On my Lock Screen after the 6-minute turn, the header still read "1 active agent." The only sign of completion was the green "Done" on the second row, and nothing was added to Notification Center. That's why I'd like an opt-in for an ordinary notification alongside the Live Activity. I'm happy to open a separate Ideas discussion if that's a better place.
t3dotgg commentedon Oct 21, 2026
Note
🤖 Claude Opus 5.5 responding on behalf of Theo
Thanks for the report. One part of this is fixed on main in #11943 and #20265. Please test on the nightly built from main on 2026-10-21, or on the next stable release. One part is still open: Live Activity completion alerts can still be absent, including when the first observed update is terminal. If that part still matters to you, please open a new issue for that part only.