pulsar icon indicating copy to clipboard operation
pulsar copied to clipboard

[pulsar-next] “Reveal in Finder” in tree view seems to hang Finder on macOS

Open savetheclocktower opened this issue 1 year ago • 1 comments

Thanks in advance for your bug report!

  • [X] Have you reproduced issue in safe mode?
  • [X] Have you used the debugging guide to try to resolve the issue?
  • [X] Have you checked our FAQs to make sure your question isn't answered there?
  • [X] Have you checked to make sure your issue does not already exist?
  • [X] Have you checked you are on the latest release of Pulsar?

What happened?

Can't remember if this has happened before, but I can reliably get my Finder instance on macOS to hang (and require a force-quit/relaunch) simply by selecting “Reveal in Finder” in the tree-view file listing. The specific file does not matter.

The same act on stable Pulsar works fine.

Haven't yet investigated.

Pulsar version

PulsarNext (Electron 30.0.9)

Which OS does this happen on?

🍎 macOS

OS details

Sonoma 14.7

Which CPU architecture are you running this on?

Apple M-series

What steps are needed to reproduce this?

  • Open a project.
  • Right-click on any path in the tree view.
  • Select “Reveal in Finder.”
  • Wait.
  • Finder won't ever show it, and when you click on it in the dock, nothing happens.
  • Only a relaunch via Cmd+Opt+Esc will allow it to recover, and even then your path hasn't been opened.

Additional Information:

This is likely to be an Electron bug. The shell module in Electron is unusual in the sense that it can run from either the main process or the renderer process; it's decently likely that calling this from the main process would work just fine. If so, that'd give us a passable workaround.

It's also possible that this is just passing strangeness in macOS, but I view that as unlikely since I can reveal paths in the finder just fine on stable Pulsar.

savetheclocktower avatar Oct 30 '24 21:10 savetheclocktower

I've fixed this in PulsarNext by delegating to the main process through a new one-off function that hangs off the atom global, but it doesn't exactly feel elegant. I'm keeping this open because it could probably just use shell from @electron/remote instead of electron. Leaving this note here so I remember to try that.

savetheclocktower avatar Apr 22 '25 23:04 savetheclocktower