Nova.fs.reveal(path) hangs Finder

Big Sur 11.6.7
Nova 9.3

nova.fs.reveal(path) hangs Finder when invoked. Finder needs to be relaunched. This is happening in my own extension when developing, as well as the Explorer sidebar extension which invokes the same function.

I’m afraid we don’t do anything particularly “weird” with Finder integration. We just request that it reveals the file path. If Finder is hanging, it’s possible either that there’s something up with your Mac (try a restart?) or that something like a network mounted share might be waiting to resolve?

Ok if I wait long enough eventually Finder responds and reveals the file. I timed it and it was exactly 1 minute. During that time the dock icon menu says “Application not responding.”

Searching through macOS console messages for Finder, I see one that is an error that says “Failed to get a sandbox extension”, exactly 1 minute after invoking the command, right when Finder finally pops up.

Restart doesn’t fix it. No network mounted shares.

I thought maybe because I was trying to show files inside a .novaextension package, but still happens with other files. Checked that I have the "filesystem": "readonly" entitlement.

Here’s my command code:

nova.commands.register("myExtensionName.showInFinder", () => {
    let selection = treeView.selection;

    console.log("Selected path", selection[0].path);

    nova.fs.reveal(selection[0].path);
});

Tried with both uri and path properties. I can see correct paths being logged in the console.

I’m guessing something to do with sandboxing.

Unfortunately, there is likely not much we’ll be able to do to help with this. If Finder is the one hanging, it sounds like this is an issue with macOS.

Ok, it works on my other Mac with Mojave and Nova 7.5, so maybe something weird with this machine.

Interesting that the Show In Finder from the built-in Files tab, or tab context menu, works, but when invoked from an extension it hangs.

I can trust that if I use fs.reveal(path) in my extension that it will work for others.

Thanks!

I use it on my extension and works fine.