[UPDATE PRIMITIVE] Cross-platform support for Windows compatibility#20
Closed
[UPDATE PRIMITIVE] Cross-platform support for Windows compatibility#20
Conversation
- Use pathToFileURL() instead of file:// string concatenation in:
- server/src/ql-mcp-server.ts (entrypoint check)
- server/src/tools/codeql/language-server-eval.ts (workspace URI)
- client/src/ql-mcp-client.js (entrypoint check)
- Fix path.includes() to normalize separators in cli-tool-registry.ts
- Replace .split('/').pop() with path.basename() for cross-platform path handling
- Update client-integration-tests.yml to run on matrix of ubuntu-latest and windows-latest
- Add platform-specific CI steps for process cleanup and OS dependencies
- Update setup-codeql-environment action with Windows cache paths
Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com>
…ead of split/join Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Verify cross-platform support for Windows and macOS/Linux
[UPDATE PRIMITIVE] Cross-platform support for Windows compatibility
Feb 6, 2026
Collaborator
|
Superseded by #22 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Update Information
Primitive Details
✅ ALLOWED FILES:
server/src/**/*.ts)server/src/lib/*.ts)client/src/**/*.js).github/workflows/*.yml,.github/actions/**)server/dist/**)🚫 FORBIDDEN FILES:
🛑 MANDATORY PR VALIDATION CHECKLIST
Update Metadata
replace()vssplit/join)🎯 Changes Description
Current Behavior
Three categories of cross-platform bugs:
file://URIs constructed via string concatenation fail on Windows (backslashes, spaces)__dirname.includes('src/lib')fails on Windows (src\lib).split('/').pop()fails on Windows pathsUpdated Behavior
pathToFileURL()handles URI encoding correctly on all platformspath.basename()handles both separator typesMotivation
PR #18 revealed these patterns; this systematically audits and fixes them across the codebase.
🔄 Before vs. After Comparison
Functionality Changes
CI Workflow Changes
🧪 Testing & Validation
Test Results
📋 Implementation Details
Files Modified
server/src/ql-mcp-server.ts- entrypoint detectionserver/src/tools/codeql/language-server-eval.ts- workspace URIserver/src/lib/cli-tool-registry.ts- path normalization,basename()usageserver/src/prompts/workflow-prompts.ts- workshop name derivationclient/src/ql-mcp-client.js- entrypoint detection.github/workflows/client-integration-tests.yml- OS matrix, platform-specific cleanup.github/actions/setup-codeql-environment/action.yml- Windows cache pathsCode Changes Summary
urlandpathAPIs correctlyDependencies
node:urlandnode:path🔗 References
Related Issues/PRs
🚀 Compatibility & Migration
Backward Compatibility
API Evolution
👥 Review Guidelines
For Reviewers
Testing Instructions
npm ci --workspaces npm run build --workspace=server npm test --workspace=server npm run lint📊 Impact Assessment
Server Impact
🔄 Deployment Strategy
Rollout Considerations
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.