Skip to content

feat: native WSL support, PHP executable auto-detector, and full Vitest test suite#233

Draft
ILDaviz wants to merge 11 commits into
mainfrom
feature/wsl-support-php-autodetect-test
Draft

feat: native WSL support, PHP executable auto-detector, and full Vitest test suite#233
ILDaviz wants to merge 11 commits into
mainfrom
feature/wsl-support-php-autodetect-test

Conversation

@ILDaviz

@ILDaviz ILDaviz commented Jul 12, 2026

Copy link
Copy Markdown
Member

No description provided.

@ILDaviz ILDaviz marked this pull request as draft July 12, 2026 17:40
@ILDaviz ILDaviz self-assigned this Jul 12, 2026
@ILDaviz ILDaviz requested a review from Copilot July 12, 2026 17:40
@ILDaviz

ILDaviz commented Jul 12, 2026

Copy link
Copy Markdown
Member Author

Compatibility & Testing Checklist
This tool needs to be tested and verified on:

  • Windows - Laravel Herd
  • Windows - Laragon
  • Windows - WSL (specifically Ubuntu and Debian distributions)
  • Windows - XAMPP / WampServer
  • macOS - Homebrew
  • macOS - Laravel Herd
  • macOS - Laravel Valet
  • macOS / Linux - Mise (or ASDF)
  • Linux (Native) (Ubuntu, Debian, Fedora, etc. via system PATH)

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Windows Subsystem for Linux (WSL) support and improves local PHP tooling ergonomics, while introducing a Vitest-based unit test suite for main-process/client code paths.

Changes:

  • Adds PHP executable auto-detection (including WSL UNC path support) and a renderer UI to trigger detection.
  • Adds WSL-aware local execution path translation and command construction for the Local client.
  • Introduces a Vitest test suite covering settings, IPC routing, and multiple client implementations.

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/renderer/views/settings/GeneralSettings.vue Adds “Detect” UI for PHP path and displays detected paths.
src/renderer/views/NewProjectView.vue Normalizes path basename extraction to handle / and \.
src/renderer/stores/tabs.ts Normalizes tab naming from paths across platforms.
src/renderer/components/Editor.vue Avoids stopping LSP client unless it’s running.
src/main/tools/code-history.ts Minor TypeScript type formatting adjustments.
src/main/tools/code-history.test.ts Adds Vitest coverage for code history IPC handlers.
src/main/tools/ai-completion.test.ts Adds Vitest coverage for AI completion behaviors.
src/main/settings.ts Adds PHP path detection + IPC handler; gates LSP init by platform.
src/main/settings.test.ts Adds Vitest coverage for settings and PHP path detection (incl. WSL).
src/main/client/vapor.test.ts Adds Vitest coverage for Vapor client behaviors.
src/main/client/ssh.test.ts Adds Vitest coverage for SSH client behaviors.
src/main/client/local.ts Adds WSL support for local execution/info/version detection.
src/main/client/local.test.ts Adds Vitest coverage for Local client WSL support.
src/main/client/kubectl.test.ts Adds Vitest coverage for Kubectl client behaviors.
src/main/client/index.test.ts Adds Vitest coverage for IPC router and client factory mappings.
src/main/client/docker.test.ts Adds Vitest coverage for Docker client behaviors.
src/main/client/client.remote.test.ts Adds Vitest coverage for RemoteClient shared logic.
src/main/client/client.base.test.ts Adds Vitest coverage for BaseClient defaults/action dispatch.
package.json Adds test script and Vitest dependency.
mise.toml Pins Node toolchain version for development.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/renderer/views/settings/GeneralSettings.vue Outdated
Comment thread src/main/settings.ts Outdated
Comment thread src/main/client/local.ts Outdated
Comment thread src/main/client/local.ts Outdated
Comment thread src/main/client/local.ts
Comment thread src/main/client/local.ts Outdated
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