The C++ API for ExecSync in the hybrid plugin is synchronous. While it works as expected, it also blocks the UXP JS thread even if you use async JS (such as void instead of await). If the C++ process does not terminate (such as opening another app for downstream processing of an image from PS), there is no way to restore control in PS. The user may cancel, but PS will appear to be hung.
It would be safer for Bolt to return a promise.
The C++ API for ExecSync in the hybrid plugin is synchronous. While it works as expected, it also blocks the UXP JS thread even if you use async JS (such as void instead of await). If the C++ process does not terminate (such as opening another app for downstream processing of an image from PS), there is no way to restore control in PS. The user may cancel, but PS will appear to be hung.
It would be safer for Bolt to return a promise.