From 35846f060817e747bee70d23536c74b0f973d5bb Mon Sep 17 00:00:00 2001 From: Anil Matcha Date: Wed, 18 Mar 2026 12:17:10 +0530 Subject: [PATCH 1/3] Disable gatekeeperAssess for unsigned macOS builds --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 791432f..2ae1386 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "mac": { "category": "public.app-category.graphics-design", "icon": "public/banner.png", + "gatekeeperAssess": false, "target": [ { "target": "dmg", From 71a53c9451684316e4d3d412ec72344171747eea Mon Sep 17 00:00:00 2001 From: Anil Matcha Date: Wed, 18 Mar 2026 12:20:56 +0530 Subject: [PATCH 2/3] Add macOS and Windows installation troubleshooting to README --- README.md | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f885eaa..7f98b06 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,37 @@ One-click installers — no Node.js or terminal required. | macOS Intel (x64) | [Open Higgsfield AI-1.0.0.dmg](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases/download/v1.0.0/Open.Higgsfield.AI-1.0.0.dmg) | | Windows (x64 + ARM64) | [Open Higgsfield AI Setup 1.0.0.exe](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases/download/v1.0.0/Open.Higgsfield.AI.Setup.1.0.0.exe) | -> **macOS:** If you see an "unidentified developer" warning, right-click the app → **Open**. -> **Windows:** If SmartScreen warns, click **More info → Run anyway**. - All releases: [github.com/Anil-matcha/Open-Higgsfield-AI/releases](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases) +### macOS Installation — "damaged and can't be opened" fix + +Because the app is not code-signed, macOS Gatekeeper will block it with a **"damaged and can't be opened"** message. This is expected — the file is fine. Fix it with one Terminal command: + +**Step 1** — Open the DMG (it will mount even if the warning appears) + +**Step 2** — Open Terminal and run: +```bash +xattr -cr "/Volumes/Open Higgsfield AI/Open Higgsfield AI.app" +``` + +**Step 3** — Drag the app to `/Applications`, then open it normally. + +If you already copied it to Applications before running the command: +```bash +xattr -cr "/Applications/Open Higgsfield AI.app" +``` + +> Alternatively: after attempting to open, go to **System Settings → Privacy & Security** → scroll down → click **"Open Anyway"**. + +### Windows Installation — SmartScreen warning fix + +Windows SmartScreen may show a warning because the installer is not code-signed: + +1. Click **More info** on the SmartScreen dialog +2. Click **Run anyway** + +The app will install silently to `%LocalAppData%` with a Start Menu shortcut. + --- Open Higgsfield AI is an open-source AI image, video, cinema, and lip sync studio that brings Higgsfield-style creative workflows to everyone. Powered by [Muapi.ai](https://muapi.ai), it supports text-to-image, image-to-image, text-to-video, image-to-video, and audio-driven lip sync generation across models like Flux, Nano Banana, Midjourney, Kling, Sora, Veo, Seedream, Infinite Talk, LTX Lipsync, Wan 2.2, and more — all from a sleek, modern interface you can self-host and customize. From 541246fca981df8252de89bfeda0addd1477ac3f Mon Sep 17 00:00:00 2001 From: Anil Matcha Date: Wed, 18 Mar 2026 12:30:06 +0530 Subject: [PATCH 3/3] Add afterPack hook for ad-hoc code signing on macOS --- afterPack.js | 11 +++++++++++ package.json | 1 + 2 files changed, 12 insertions(+) create mode 100644 afterPack.js diff --git a/afterPack.js b/afterPack.js new file mode 100644 index 0000000..869b8ce --- /dev/null +++ b/afterPack.js @@ -0,0 +1,11 @@ +import { execSync } from 'child_process'; +import path from 'path'; + +export default async function afterPack({ appOutDir, packager }) { + if (packager.platform.name !== 'mac') return; + + const appPath = path.join(appOutDir, `${packager.appInfo.productName}.app`); + console.log(` • ad-hoc signing path=${appPath}`); + execSync(`codesign --deep --force --sign - "${appPath}"`, { stdio: 'inherit' }); + console.log(` • ad-hoc signing complete`); +} diff --git a/package.json b/package.json index 2ae1386..e99c710 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "directories": { "output": "release" }, + "afterPack": "./afterPack.js", "files": [ "dist/**/*", "electron/**/*"