Skip to content

[Bug]: iOS does not show Monitoring status displayed on desktop and web #10372

Description

@etcircle

Problem and reproduction

When the same thread shows Monitoring on desktop and web, the iOS app does not show a corresponding monitoring indicator. This makes it unclear whether the agent is still watching/waiting or has finished.

  1. Use a thread that desktop/web currently labels Monitoring.
  2. Open the same environment and thread in the iOS app.
  3. Compare the thread status: desktop/web communicates monitoring, while iOS provides no equivalent indication.

Expected: iOS should visibly distinguish Monitoring from active Working and completed/idle states, consistent with desktop/web. Check both the thread list and open-thread presentation, and clear the indicator when monitoring ends.

Environment and source evidence

Observed with a Mac-hosted T3 Code environment; desktop version 0.0.38. The iOS app was recently installed/updated; its exact version/JS update is unconfirmed.

Upstream source inspected at 223ff4490f764a74ff911589e97b9bbcd595fee8:

These are source observations, not confirmation of the exact code installed on the phone.

Related issues checked

Activity

  1. juliusmarminge commented on Sep 6, 2026

    @juliusmarminge
    Member

    Triage

    Confirmed presentation bug on current main (223ff4490). Desktop/web already distinguish Monitoring from Working; mobile never does.

    backgroundLiveness is already on OrchestrationThreadShell (packages/contracts) and on the mobile thread shell. Web uses it in Sidebar.logic.ts / Sidebar.tsx (list label) and ChatView.tsx (open-thread “Monitoring” banner + Stop). Under apps/mobile there are zero references to backgroundLiveness or monitoring.

    Status falls through to idle/ready:

    • apps/mobile/src/features/threads/threadListV2.ts (resolveThreadListV2Status) — approvals, input, parent session.status, then ready
    • apps/mobile/src/features/threads/threadPresentation.ts (resolveThreadStatus) — same; no Monitoring branch
    • Open thread (use-thread-composer-state.ts, ThreadDetailScreen.tsx, floating-working-control.tsx) — parent session / latest turn only

    This is shared mobile code (iOS and Android), not an iOS-only renderer bug.

    Not a wash duplicate

    Suggested fix

    Consume thread.backgroundLiveness in both list resolvers and the open-thread indicator, matching web:

    No contract or server change required. Pin with tests: settled parent + "monitoring" vs "working" vs idle.

    Labels: bug, accepted, via-triage (remove needs-triage)

  2. added
    via-triageFiled through npx t3 triage
    bugSomething is broken or behaving incorrectly.
    acceptedfeature request accepted
    on Sep 6, 2026
  3. TerraSYNCBIIZ commented on Sep 9, 2026

    @TerraSYNCBIIZ

    Also reproducing this on Android, so this is not iOS-specific.

    • Desktop: T3 Code 0.0.40 on Windows 11 — thread shows Monitoring as expected.
    • Mobile: Android app on a Pixel 9 (app version unconfirmed) — same thread shows no monitoring indicator and reads as finished.

    The triage note above explains why: since apps/mobile has zero references to backgroundLiveness/monitoring, and resolveThreadListV2Status / resolveThreadStatus are shared React Native code, Android falls through to ready on exactly the same path iOS does. Nothing platform-specific is involved.

    Practical impact from the phone: a monitoring thread is indistinguishable from a completed one, so the last assistant message reads as the end of the turn. You put the phone down thinking the work is done while the agent is still waiting on a background run, and only find out later when it posts again. On desktop the Monitoring label makes this obvious at a glance.

    Suggest widening the title/scope from iOS to apps/mobile so the fix covers both platforms.

  4. coreldh commented on Sep 12, 2026

    @coreldh

    Confirming on Android with a pinned app version, since the earlier Android report had its app version unconfirmed.

    • Host/desktop: macOS 26.6.1, T3 Code desktop 0.0.40. Sidebar labels the thread Monitoring as expected.
    • Mobile: Android app 1.1.0 on a Samsung Galaxy S25 Ultra. The same thread shows no monitoring indicator in the thread list.

    That is a second Android device on a confirmed build, which lines up with the triage note that this is shared apps/mobile code rather than an iOS renderer issue — so the title's iOS scope undersells it.

    Worth flagging the user-facing cost from the operator side: with the label missing, the phone gives no way to tell a watching thread from a finished one, so you either walk away from live background work or go back to a laptop just to confirm the state the desktop sidebar already knows.

    #10436 appears to implement exactly the fix suggested above (both list resolvers plus the open-thread indicator, with tests), and has been open since 2026-09-07 without a review decision.

  5. juliusmarminge commented on Oct 2, 2026

    @juliusmarminge
    Member

    Thanks for taking the time to report this and provide the details. We revisited it during the orchestrator V2 cleanup.

    The V1 backgroundLiveness Monitoring state has been replaced by a shared runtime model. Both current mobile and web list resolvers map idle-with-background-work to Waiting rather than Ready, addressing the reported phone-versus-desktop completion ambiguity.

    I’m closing this report because the implementation it targets has been replaced. That does not mean every similar symptom is fixed.

    Source reviewed.

    Does not claim every background-task status is correct; fresh V2 disagreement or open-thread presentation regression should be reproduced.

    If you still hit this on a current build, please reply with the app/server versions and the steps that reproduce it. We can reopen this if the original problem is still there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions