[Bug] WSL remote connect fails behind corporate proxy: remote-assets component download ignores httpProxy setting
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- ZCode Desktop 3.10.2 (Windows 10 22H2 x64), Electron 41.0.3 / Node v24.14.0
- Corporate network: outbound Internet is only reachable via an HTTP proxy; direct egress is blocked by the firewall
- In-app proxy is configured (
httpProxyin settings; e.g.http://<corporate-proxy>:8090). Model/API traffic works correctly through it.
What happened
Connecting to a WSL Ubuntu remote fails during component download:
component manifest request failed: Error: [remote-assets] failed to fetch manifest-linux-x64.json: https://cdn-zcode.z.ai/zcode/electron/releases/3.10.2/manifest-linux-x64.json -> TimeoutError: The operation was aborted due to timeout
The same happens for every request the remote-assets downloader makes — the connection attempt goes direct and the corporate firewall drops it.
Root cause (verified in app.asar of 3.10.2)
The remote-assets component downloader resolves the manifest and downloads components via the bare global fetch(url, { signal }) without any proxy dispatcher. As a result:
- the in-app
httpProxy/httpProxyNoProxy/httpProxyCaCertPathsettings are not applied to component downloads (unlike the model API client, which does honor them — that's why chat/API works but WSL connect doesn't); - the request goes direct → timeout in any proxy-only network.
Workaround
Launch ZCode.exe with proxy environment variables (works because Node 24's global fetch honors them):
HTTP_PROXY=http://<corporate-proxy>:8090
HTTPS_PROXY=http://<corporate-proxy>:8090
NO_PROXY=localhost,127.0.0.1
NODE_USE_ENV_PROXY=1
With these env vars the WSL connect flow downloads everything and works.
Request
Please make the remote-assets / remote-connect component downloader honor the in-app httpProxy setting (same as the API client), so connecting to WSL/Docker remotes works out of the box behind corporate proxies.
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
Locate the remote-assets or remote-connect component downloader entry point and its manifest fetch, then compare its proxy handling with the model API client. Verify the httpProxy, httpProxyNoProxy, and httpProxyCaCertPath settings are applied to downloads, and test the WSL connection through a proxy-only network.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, node.js
- Domain
- desktop, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100