WSL remote sessions can time out or show stale Files and Changes state for large repositories
Open
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 157
- PR merge metrics
- No merged PRs in 30d
Description
Description
When a Copilot remote session uses an existing large Git repository inside WSL, repository initialization and UI state can fail or become stale.
Steps to reproduce
- Open a large existing Git repository inside WSL.
- Start a Copilot remote session using that checkout.
- Open the Files or Changes panel.
- Create or modify a file.
Actual behavior
- Session startup may time out during recursive filesystem watching.
- The Files panel may fail to populate.
- Branch information or uncommitted changes may be missing.
- The Changes panel can remain empty after its initial repository scan times out.
- Later filesystem changes may not refresh the displayed state.
Expected behavior
- Remote sessions should work directly with existing WSL checkouts.
- Startup should not require enumerating the entire repository when only configuration files need monitoring.
- Files, branch information, and Git changes should load asynchronously and refresh reliably.
- Slow initial Git operations should not cause an empty state to be cached permanently.
- Users should not need a separate clone or worktree as a workaround.
Suggested improvements
- Limit configuration-file watchers to the relevant directories.
- Avoid synchronous recursive traversal during session startup.
- Make changeset calculation asynchronous and tolerant of slow Git operations.
- Retry or refresh after an initial timeout.
- Surface diagnostics when filesystem watching or Git status exceeds a timeout.
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
No source files or tests are named in the issue. Start by reproducing the timeout with a large Git repository in WSL, then trace remote-session startup, filesystem watching, and Changes initialization; done means Files, branch data, and Git changes load and refresh reliably without requiring a separate clone or worktree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, linux
- Domain
- desktop, devtools, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100