Skip to content

Electron App Builders#19

Merged
lmangani merged 15 commits intomainfrom
copilot/add-electron-desktop-shell
Mar 15, 2026
Merged

Electron App Builders#19
lmangani merged 15 commits intomainfrom
copilot/add-electron-desktop-shell

Conversation

Copy link
Contributor

Copilot AI commented Mar 15, 2026

Switches Linux packaging from .deb to .snap, eliminates the matrix-with-conditionals CI pattern by giving each platform its own job, and adds proper macOS ad-hoc code signing so downloaded DMGs don't trigger Gatekeeper's "app is damaged" warning.

package.json

  • Linux target: ["AppImage", "deb"]["AppImage", "snap"]
  • Added snap section: confinement: classic (required — app spawns external binaries from extraResources), grade: stable

CI workflow — split jobs

Replaced single build job (2-runner matrix + per-step if: guards) with three self-contained jobs, zero conditionals, zero matrix:

Job Runner Output
build-mac macos-14 signed .dmg
build-linux ubuntu-22.04 .AppImage + .snap
publish ubuntu-latest GitHub Release

build-linux installs snapcraft --classic before invoking electron-builder.

macOS code signing — new files

build/macos/codesign.sh — bottom-up signing (dylibs → Electron helpers → frameworks → executables → top-level .app):

  • Defaults to ad-hoc (MACOS_SIGNING_IDENTITY="-") — eliminates Gatekeeper quarantine without a paid certificate
  • Adds --timestamp automatically when a real Developer ID is provided via the MACOS_SIGNING_IDENTITY secret

build/macos/entitlements.plist — Electron-appropriate entitlements:

  • app-sandbox: false — spawns external binaries (ace-qwen3, dit-vae, neural-codec)
  • cs.disable-library-validation + cs.allow-unsigned-executable-memory — bundled unsigned libggml* dylibs + GGML inference
  • cs.allow-jit — Metal/GGML JIT kernel compilation

build-mac signing flow (replaces the single electron:build:mac step):

electron-builder --mac --dir   →  release/mac-arm64/<Name>.app  (unsigned)
build/macos/codesign.sh        →  signs .app in-place
hdiutil create                 →  release/<Name>-<version>-arm64.dmg  (signed, with /Applications symlink)

Release notes updated with per-platform install instructions and the xattr -cr fallback for macOS.


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

Copilot AI and others added 2 commits March 15, 2026 12:03
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
…rst-run model download

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title [WIP] Add Electron desktop shell for acestep-cpp-ui feat: Electron desktop shell with embedded server, binary loading, and first-run model download Mar 15, 2026
Copilot AI requested a review from lmangani March 15, 2026 12:14
…verification

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title feat: Electron desktop shell with embedded server, binary loading, and first-run model download feat: Electron desktop app shell with embedded server, binary loading, and first-run model download Mar 15, 2026
… builds

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title feat: Electron desktop app shell with embedded server, binary loading, and first-run model download fix: macOS dylib loading + pre-merge local test guide for Electron build Mar 15, 2026
…v var

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title fix: macOS dylib loading + pre-merge local test guide for Electron build feat: first-run models path selection — browse dialog + MODELS_DIR env var + pre-merge test guide Mar 15, 2026
…n server port

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title feat: first-run models path selection — browse dialog + MODELS_DIR env var + pre-merge test guide fix: Electron production mode CORS rejection + first-run models path selection Mar 15, 2026
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title fix: Electron production mode CORS rejection + first-run models path selection fix: Electron app — CORS rejection in production and window close doesn't quit Mar 15, 2026
Copilot AI and others added 2 commits March 15, 2026 17:32
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
…js icon wiring

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title fix: Electron app — CORS rejection in production and window close doesn't quit feat: app icon, window-close quit, and release workflow hardening Mar 15, 2026
@lmangani lmangani changed the title feat: app icon, window-close quit, and release workflow hardening feat: Electron Builders Mar 15, 2026
Copilot AI and others added 2 commits March 15, 2026 17:54
…der)

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
…se notes

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title feat: Electron Builders feat: ACP logo icons, snap packaging, split CI jobs per platform Mar 15, 2026
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title feat: ACP logo icons, snap packaging, split CI jobs per platform Linux snap packaging, split CI jobs per platform, macOS ad-hoc code signing Mar 15, 2026
@lmangani lmangani changed the title Linux snap packaging, split CI jobs per platform, macOS ad-hoc code signing Electron App Builders Mar 15, 2026
@lmangani lmangani marked this pull request as ready for review March 15, 2026 19:14
@lmangani lmangani merged commit 34aa4dc into main Mar 15, 2026
4 checks passed
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.

2 participants