Add Reveal in Explorer option to changed file's context menu - #1677
Conversation
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
Pull request updated:
|
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
In the classic app on Windows we would always open a file with the 'Edit' verb to prevent the user from accidentally executing arbitrary code (like .exe, .js, .com etc). IIRC the default 'Open' action on Windows for .js is the windows script host which will happily run whatever you throw at it. If we couldn't find a registered Edit verb we still wouldn't launch with the 'Open' verb but rather fall back to opening the file in Explorer. I think we need to implement similar safeguards here although I'm not quite sure how to specify a verb in this environment. |
|
@niik Updated text per comment. For opening with a separate verb, I can't find any npm modules that can do this, so we may either need to write a module that wraps ShellExecute, or use node-ffi to wrap the function through ffi. |
Yeah, I think we should land this PR with just the 'Reveal in Finder/Show in Explorer' menu item and push the open option further down the line. It's tricky to get right and on macOS it seems like although there's an equivalent of the edit verb it can't be trusted to not execute code. I think as we start to get into 'Open in Atom/Open in [insert favorite IDE here]' the need for a generic open item will diminish somewhat. |
|
@zhuowei this looks like it's close, however there's a merge conflict that needs to be 🔥'd first. |
|
@shiftkey also #1677 (comment) |
|
@niik 👍 gonna drop myself off this review, but feel free to pull me in if you want an extra set of 👀 |
|
@niik Open button removed; only the Reveal in Finder/Open in Explorer menu item is left. Also, conflict resolved. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
Addressed @niik's comments. |
This fixes parts of issue desktop#1566.
|
Rebased to fix build. |
|
Nicely done @zhuowei, thank you! |

Fixes #1566.
I tested this on Windows 10; I don't have a Mac, but I think this would still work there since it just uses electron's shell api.
Questions: