merge origin/master -> feature/wsl-for-apps#13945
Merged
benhillis merged 15 commits intofeature/wsl-for-appsfrom Dec 20, 2025
Merged
merge origin/master -> feature/wsl-for-apps#13945benhillis merged 15 commits intofeature/wsl-for-appsfrom
benhillis merged 15 commits intofeature/wsl-for-appsfrom
Conversation
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Localization change from build: 135812430 * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove unused string --------- Co-authored-by: WSL localization <noreply@microsoft.com> Co-authored-by: Ben Hillis <benhillis@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
…cted header. (#13898) * Resolve issue with config file writing sections outside of their expected header. * add more writewslconfig variations * formatting --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
…3921) * Resolve issue with buttons on notifications not working correctly * pr feedback --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* test: extend coverage of virtioproxy networking mode * test: add dns test variations to all networking classes * remove bridged dns variations * pr feedback --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
…13928) Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* [GH 13837] Remove trailing slash from $XDG_RUNTIME_DIR * pr feedback --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* test: add more path translation variations * Update test/windows/SimpleTests.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* cleanup: add scsi disks during VM creation * pr feedback --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* cleanup: switch drvfs.cpp to use common MountUtil helper * adjust mount.drvfs error logging * adjust mount.drvfs error logging --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR merges the latest changes from origin/master into the feature/wsl-for-apps branch to prevent future merge conflicts. The merge brings in multiple improvements including bug fixes for WSL configuration file handling, SCSI device attachment refactoring, enhanced test coverage, and various code quality improvements.
Key changes include:
- Fixed a critical bug (GitHub #12671) where WSL Settings GUI wrote configuration keys before section headers, causing "Unknown key" errors
- Refactored SCSI disk attachment to occur during VM creation rather than post-initialization for better efficiency
- Improved error handling and logging throughout the codebase, particularly for HCS operations and path translation
Reviewed changes
Copilot reviewed 50 out of 50 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/windows/UnitTests.cpp | Added comprehensive regression tests for config file section header ordering bug fix; updated user session tests for XDG_RUNTIME_DIR fix; updated registry AppID GUID |
| test/windows/SimpleTests.cpp | Added test for Windows path translation with spaces |
| test/windows/NetworkTests.cpp | Added DNS resolution tests for NAT, Mirrored, and VirtioProxy networking modes; added VirtioProxy loopback and UDP/TCP binding tests; added BridgedTests as friend class |
| test/windows/DrvFsTests.cpp | Removed VirtioFs-specific test workarounds now that symlink functionality is fixed; updated comments to reference both Plan9 and VirtioFs |
| test/linux/unit_tests/wslpath.c | Added path translation tests for Windows paths containing spaces |
| test/linux/unit_tests/drvfs.c | Added skip logic for VirtioFs-specific test that needs debugging |
| src/windows/wslinstall/DllMain.cpp | Updated COM AppID GUID to match new DeviceHost registration |
| src/windows/wslhost/main.cpp | Fixed notification activation argument parsing by removing redundant executable name prepending |
| src/windows/service/exe/WslCoreVm.h | Added default parameter to ReserveLun and m_kernelModulesDeviceId member variable |
| src/windows/service/exe/WslCoreVm.cpp | Refactored SCSI disk attachment to occur during VM JSON configuration generation; moved system distro and kernel modules mounting to GenerateConfigJson |
| src/windows/service/exe/LxssUserSession.h | Removed drvFsNotifications parameter from TelemetryWorker signature |
| src/windows/service/exe/LxssUserSession.cpp | Moved drvFsNotifications check inside TelemetryWorker for better encapsulation |
| src/windows/inc/wslhost.h | Changed embedding_option from "--Embedding" to "-Embedding" to match COM standards |
| src/windows/common/notifications.cpp | Removed "--" prefix from notification action arguments since arguments are now parsed directly |
| src/windows/common/interop.cpp | Removed SetDesktop call since desktop policy is handled via SetDesktopAppPolicy |
| src/windows/common/hcs_schema.h | Fixed Scsi::Attachments type from EmptyObject to Attachment to properly serialize disk attachments |
| src/windows/common/hcs.cpp | Split HCS error logging into separate calls to prevent truncation of long configuration strings |
| src/windows/common/SubProcess.h | Removed unused SetDesktop method declaration |
| src/windows/common/SubProcess.cpp | Removed SetDesktop implementation (member variable remains with nullptr default) |
| src/shared/configfile/configfile.cpp | Fixed critical bug where keys could be written before section headers; improved logic to write pending keys when encountering new sections |
| src/linux/init/wslinfo.cpp | Updated to use MessageFailedToTranslate with path parameter instead of parameterless MessageFailedToTranslatePath |
| src/linux/init/util.cpp | Centralized mount retry logic with filesystem-specific error handling; improved comments explaining retry conditions |
| src/linux/init/init.cpp | Removed trailing slash from XDG_RUNTIME_DIR value |
| src/linux/init/drvfs.cpp | Simplified MountWithRetry by delegating retry logic to UtilMount |
| packages.config | Updated Microsoft.WSL.DeviceHost package from 1.1.6-0 to 1.1.8-0 |
| msipackage/package.wix.in | Updated COM AppID GUID and removed redundant AppID registry configuration |
| localization/strings/*/Resources.resw | Removed MessageFailedToTranslatePath entries (replaced by MessageFailedToTranslate with parameter); added Polish and Czech translations for MessagePassVhdFlag |
| UserConfig.cmake.sample | Fixed typo in comment: wsldevicehost.exe → wsldevicehost.dll |
| .github/copilot-instructions.md | Added critical documentation about always building the entire project before running tests |
OneBlue
approved these changes
Dec 19, 2025
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.
This change gets the WSLA feature branch up-to-date with master to avoid complicated merge conflicts in the future.