-
Notifications
You must be signed in to change notification settings - Fork 17k
Labels
35-x-y36-x-y37-x-ybug 🪲component/shellplatform/linuxstatus/confirmedA maintainer reproduced the bug or agreed with the featureA maintainer reproduced the bug or agreed with the feature
Description
Preflight Checklist
- I have read the Contributing Guidelines for this project.
- I agree to follow the Code of Conduct that this project adheres to.
- I have searched the issue tracker for a bug report that matches the one I want to file, without success.
Electron Version
37.2.0
What operating system(s) are you using?
Ubuntu, Other Linux
Operating System Version
Pop!_OS 22.04 LTS
What arch are you using?
x64
Last Known Working Electron version
No response
Expected Behavior
shell.openPath should not be a blocking call.
Actual Behavior
On Linux shell.openPath is a blocking call.
Testcase Gist URL
No response
Additional Information
Here is the linux implementation of shell.openPath (shell/common/platform_util_linux.cc:349)
void OpenPath(const base::FilePath& full_path, OpenCallback callback) {
// This is async, so we don't care about the return value.
XDGOpen(full_path.DirName(), full_path.value(), true, std::move(callback));
}
The third argument to XDGOpen is true. That argument is named wait_for_exit and causes the call to XDGOpen to be synchronous when true. (XDGOpen is defined on line 276 of the same file.)
That true should be false.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
35-x-y36-x-y37-x-ybug 🪲component/shellplatform/linuxstatus/confirmedA maintainer reproduced the bug or agreed with the featureA maintainer reproduced the bug or agreed with the feature