Desktop remote thread index can stall when an unrelated remote environment is offline
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
Summary
In the desktop app, an unavailable remote environment can prevent the global thread/history index from loading. Tasks on other, healthy remote environments continue to start and run, but their conversations and progress do not become visible in the desktop UI.
Steps to reproduce
- Configure multiple remote environments in the desktop app.
- Leave one remote environment unavailable.
- Start a project task on a different, reachable remote environment.
- Open the all-host thread/history view or wait for the task to report progress.
Actual behavior
- The global thread/history request does not complete.
- The app records an offline remote-connection failure.
- The renderer subsequently receives turn events for conversations it has not registered.
- The task runs on the reachable environment, but its thread and progress are not visible or monitorable in the desktop UI.
Expected behavior
An unavailable remote environment should be isolated from unrelated remote environments. The desktop app should still list, open, and monitor tasks running on reachable environments, and should retain task events until the corresponding conversation is registered.
Additional context
This appears related to #35666, but is distinct: the task is not merely losing a progress bar; the cross-environment thread registry appears blocked by one offline connection. The interactive CLI and the app-server worker can also report different bundled runtime versions, which may be relevant to diagnosis.
No host names, account details, task contents, conversation identifiers, or logs are included in this report.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the desktop app's global thread/history loading, remote-connection failure handling, and conversation event registration. Reproduce the case with one unavailable and one reachable remote environment, then verify that reachable tasks remain visible and their events are retained until the conversation is registered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100