Skip to content

fix(windows): improve platform compatibility - #215

Open
AIR-Xie wants to merge 1 commit into
mainfrom
fix/windows-test-suite
Open

AIR-Xie wants to merge 1 commit into
mainfrom
fix/windows-test-suite

Conversation

@AIR-Xie

@AIR-Xie AIR-Xie commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • make Windows source builds use the native Bun target and robust ripgrep extraction
  • keep POSIX path fixtures and project keys correct when tests run on Windows
  • avoid privileged symlink requirements in Electron tests

Tests

  • bun test (1512 passed, 25 skipped)
  • cd desktop && bun run lint
  • cd desktop && bun run test -- --run
  • cd desktop && bun run build:sidecars

Part of #188

@GoDiao

GoDiao commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Thanks for working through the Windows test suite and for trying the v0.8.0-beta.2 installer on a real machine. Most of this is fine; three things before it can merge.

1. Windows Bun target: what failed, and on which machine?

build-sidecars.ts maps Windows x64 to bun-windows-x64-baseline (added in 0ab47a1 for CPUs without newer instruction sets), and release.yml uses the same mapping for the installer. This PR changes it to bun-windows-x64. Since you saw a problem with the beta.2 installer, could you say:

  • what happened (install failure, crash on start, an error message)?
  • your CPU and Windows version, and whether it is x64 or ARM?
  • whether an installer built with this change runs fine on the same machine?

If baseline really fails on real machines we should change it, but the change also swaps the sidecar in the released installer, so it needs a check on an older CPU as well. Until then I would keep it out of this PR, or make it a separate PR with that evidence.

2. Keep the file-symlink cases on macOS and Linux

browser.test.ts, workspace-service.test.ts and the others replace a symlink to a file with a link to a directory on every platform. On macOS and Linux that drops the test for a file symlink that points outside the project, which is a separate way to escape. Please use the directory link only when process.platform === 'win32' and keep the file symlink on the other platforms.

3. CHANGELOG and rebase

  • The entry talks about POSIX fixtures and junctions, which users cannot see. Most of this PR changes tests, so please drop the entry, or describe only what a user would notice (for example, building from source on Windows).
  • The branch now conflicts with main in CHANGELOG.md. Please rebase.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants