project_panel: Fix Reveal in File Manager for WSL projects#50610
project_panel: Fix Reveal in File Manager for WSL projects#50610Veykril merged 2 commits intozed-industries:mainfrom
Conversation
The context menu already included WSL projects in the `is_local` check for showing the "Reveal in File Manager" action, but the corresponding action handler in `Render` was only registered when `project.is_local()` was true. Since WSL projects are technically remote, the handler was never registered, causing a crash when the action was dispatched. Add `project.is_via_wsl_with_host_interop(cx)` to the handler registration guard so it matches the context menu condition. Release Notes: - Fixed a crash when using "Reveal in File Manager" on files in WSL projects.
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Sarthak.
|
|
@cla-bot check |
|
We require contributors to sign our Contributor License Agreement, and we don't have @SarthakMishra on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
The cla-bot has been summoned, and re-checked this pull request! |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
Head branch was pushed to by a user without write access
|
@Veykril Pushed a formatting fix — should be good now. Thanks for the review! |
…tries#50610) Closes zed-industries#46767 ## Summary The "Reveal in File Manager" action was shown in the context menu for WSL projects (guarded by `is_via_wsl_with_host_interop`), but the action handler in `Render` was only registered when `project.is_local()` — which returns `false` for WSL. Dispatching the action without a handler caused a crash. Adds the same `is_via_wsl_with_host_interop(cx)` check to the handler registration. ## Testing - Ran `cargo test -p project_panel` — 78 passed, 0 failed - Manual testing: connected to WSL Ubuntu, right-clicked a file in the project panel, used "Reveal in File Manager" — Windows Explorer opened correctly without crashing Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed a crash when using "Reveal in File Manager" on files in WSL projects (zed-industries#46767).
…tries#50610) Closes zed-industries#46767 ## Summary The "Reveal in File Manager" action was shown in the context menu for WSL projects (guarded by `is_via_wsl_with_host_interop`), but the action handler in `Render` was only registered when `project.is_local()` — which returns `false` for WSL. Dispatching the action without a handler caused a crash. Adds the same `is_via_wsl_with_host_interop(cx)` check to the handler registration. ## Testing - Ran `cargo test -p project_panel` — 78 passed, 0 failed - Manual testing: connected to WSL Ubuntu, right-clicked a file in the project panel, used "Reveal in File Manager" — Windows Explorer opened correctly without crashing Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed a crash when using "Reveal in File Manager" on files in WSL projects (zed-industries#46767).
Closes #46767
Summary
The "Reveal in File Manager" action was shown in the context menu for WSL projects (guarded by
is_via_wsl_with_host_interop), but the action handler inRenderwas only registered whenproject.is_local()— which returnsfalsefor WSL. Dispatching the action without a handler caused a crash.Adds the same
is_via_wsl_with_host_interop(cx)check to the handler registration.Testing
cargo test -p project_panel— 78 passed, 0 failedBefore you mark this PR as ready for review, make sure that you have:
Release Notes: