Skip to content

Comments

Add Electron App for Mac build#444

Open
leszko wants to merge 1 commit intomainfrom
rafal/electron-macos
Open

Add Electron App for Mac build#444
leszko wants to merge 1 commit intomainfrom
rafal/electron-macos

Conversation

@leszko
Copy link
Collaborator

@leszko leszko commented Feb 11, 2026

Summary

  • Add macOS build job to the Electron app CI workflow, producing signed and notarized artifacts for every release
  • Include Apple notarization via a new afterSign hook so the app passes Gatekeeper on user machines
  • Extend update-latest-yml.js to generate latest-mac.yml for the macOS auto-updater
  • Improve auto-updater error handling with user-facing dialogs on download failure and update errors

Release artifacts

Each release will now include 2 additional macOS files:

Artifact Purpose
DaydreamScope-arm64.dmg Installer for Apple Silicon Macs
DaydreamScope-*-arm64.zip Update payload for Apple Silicon (required by electron-updater)

The ZIP files are required because electron-updater on macOS downloads ZIP archives (not DMGs) when performing in-app auto-updates.

All files are signed with Apple Developer ID credentials and notarized, so users will not see Gatekeeper warnings.

Testing

Tested all features on macOS including pipelines, WebRTC streaming, settings, plugins, and the auto-updater — everything works correctly.

@leszko leszko requested a review from yondonfu February 11, 2026 16:19
Copy link
Contributor

@yondonfu yondonfu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were a few updates to the Windows desktop app recently:

#435
#448

Can you double check if anything needs to be ported to Mac builds as well before starting to support them?

Also, while I think having a Mac build makes sense...I'm a bit wary of starting to support it without first considering these questions:

  1. What if a plugin includes a pipeline that won't run on Mac? How should that be handled?
  2. What if a plugin includes a pipeline that runs on Mac, but runs poorly? How should that be handled?

Curious if you have thoughts on this.

@leszko
Copy link
Collaborator Author

leszko commented Feb 12, 2026

There were a few updates to the Windows desktop app recently:

#435 #448

Can you double check if anything needs to be ported to Mac builds as well before starting to support them?

Yes, they will work fine:

Also, while I think having a Mac build makes sense...I'm a bit wary of starting to support it without first considering these questions:

  1. What if a plugin includes a pipeline that won't run on Mac? How should that be handled?
  2. What if a plugin includes a pipeline that runs on Mac, but runs poorly? How should that be handled?

Curious if you have thoughts on this.

IMO this is not a blocker for releasing the Electron app on macOS. However, it’s something we should consider more broadly in the context of plugins and environment compatibility.

I see two scenarios:
1. Installation failure
A plugin fails to install due to missing or unsupported dependencies (e.g., not available on macOS).

  • This should already be covered by our current dependency checks.

2. Runtime failure
A plugin installs but fails at runtime (e.g., requires a GPU that isn’t available).

  • If VRAM/GPU requirements are declared → the plugin won’t be shown as compatible.
  • If they’re not declared → it may fail at runtime.

This isn’t macOS-specific. The same can happen on Windows without a GPU or with insufficient hardware. It’s a broader issue around clearly communicating plugin and pipeline requirements.

Also, I expect the macOS Electron app to be used mostly with Cloud for now, since most demanding pipelines require a GPU anyway.
`

@leszko leszko force-pushed the rafal/electron-macos branch from 66915b7 to 39d51e8 Compare February 12, 2026 09:52
@leszko leszko requested a review from yondonfu February 12, 2026 09:52
@mjh1
Copy link
Contributor

mjh1 commented Feb 12, 2026

@leszko small request, should we get an icon with a transparent background? 🙂 I noticed it when I built the app locally.
Screenshot 2026-02-12 at 12 35 17

@leszko
Copy link
Collaborator Author

leszko commented Feb 12, 2026

@leszko small request, should we get an icon with a transparent background? 🙂 I noticed it when I built the app locally. Screenshot 2026-02-12 at 12 35 17

Yeah, @yondonfu wdyt? Asking you, because you created the icon author 🙃

@yondonfu
Copy link
Contributor

wdyt? Asking you, because you created the icon author

Will do tm!

@yondonfu
Copy link
Contributor

@leszko

IMO this is not a blocker for releasing the Electron app on macOS. However, it’s something we should consider more broadly in the context of plugins and environment compatibility.

I think your points make sense. But, I'd like to double check that we've tested the installation and runtime failure scenarios before moving forward with supporting Mac releases. It's ok if certain plugins/pipelines don't work on Mac, but I'd like to verify that in the scenarios that you describe the installation/use of the plugins don't break the app installation for Mac users in a non-recoverable way (eg no way to get back to working install without needing to go into the CLI) as that would then become a pain to deal with support wise.

@leszko leszko force-pushed the rafal/electron-macos branch from 39d51e8 to d10f3a4 Compare February 13, 2026 09:21
@leszko
Copy link
Collaborator Author

leszko commented Feb 13, 2026

I think your points make sense. But, I'd like to double check that we've tested the installation and runtime failure scenarios before moving forward with supporting Mac releases. It's ok if certain plugins/pipelines don't work on Mac, but I'd like to verify that in the scenarios that you describe the installation/use of the plugins don't break the app installation for Mac users in a non-recoverable way (eg no way to get back to working install without needing to go into the CLI) as that would then become a pain to deal with support wise.

Ok, I actually like that you're pushing me to do more tests. I just discovered that the x64 can't work, because the torch wheels are not longer supported for Mac Intel Silicon. Therefore, removed the x64 builds. So, we'll distribute only arm64.

Re: Testing plugins, I've spent some time today testing them. And I think we're good to go. Here's how it works:

  1. Installation
  • I managed to install all plugins (expect of overworld) from https://app.daydream.live/plugins
  • Overworld failed, because of the dependencies conflict (I think it's ok)
  1. Runtime
  • The following pipelines work: cosmic-vfx, color-generator, invert, yolo_mask, vfx-pack, kaleido-scope, matte-refiner
  • The following pipelines fail to start (but I think it's ok): flashvsr, ltx-2, casual-forcing
  • The following pipelines works poorly (but I still think it's ok): realesrgan, matte-refiner

The bottom line, is that installing/uninstalling plugins have not break the environment or anything.

Signed-off-by: Rafał Leszko <rafal@livepeer.org>
@leszko leszko force-pushed the rafal/electron-macos branch from d10f3a4 to be58233 Compare February 13, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants