Skip to content

[Bug]: Mobile home header stays on "Reconnecting" while one environment is asleep and another is connected #19074

Closed

Description

@tris203

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/mobile

Steps to reproduce

  1. Pair the mobile app with two environments, for example an always-on machine and a laptop.
  2. Let both sync at least one thread, then make one of them unreachable (put the laptop to sleep, or stop its server).
  3. Open the mobile app while the other environment is connected, and look at the home header.
  4. Leave it open, or come back hours later.

Expected behavior

With one environment connected the app is fully usable, so the header keeps the T3 Code brand. An environment that cannot be reached is reported as unreachable where it appears, not as a reconnect in progress.

Actual behavior

The header replaces the brand with "Reconnecting to " and stays that way for as long as the other machine is unreachable, which can be hours.

Two rules combine to cause it:

  • workspace-connection-status.ts shows the status whenever any enabled environment is connecting, even when another one is connected.
  • The connection supervisor retries forever with backoff up to 5 minutes, and both the backoff and the retry are presented as reconnecting (packages/client-runtime/src/connection/presentation.ts), so the label never changes to a failure.

With every environment down, the header says "Reconnecting 2 environments" indefinitely in the same way, although the attempts have already failed.

One environment connected, one unreachable No environment reachable
Header reads Reconnecting to laptop while homelab is connected Header reads Reconnecting 2 environments

In the first screenshot "homelab" is connected and its thread is live; "laptop" has been unreachable for hours.

Impact

Minor bug or occasional failure

Version or commit

511d20c (main)

Environment

Android 17 emulator (Pixel 9), mobile dev client. The header logic is shared by iOS and Android; iOS was not run.

Workaround

Switch the unreachable environment off in Settings → Environments, and back on when the machine is awake.

Activity

  1. juliusmarminge commented on Oct 13, 2026

    @juliusmarminge
    Member

    Note

    Grok responding on behalf of Julius.

    Open fix PR #19075 already covers this (same reporter). Added Closes #19074 there; no separate triage.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions