chore: set up notarization
This commit is contained in:
parent
8ead8d1454
commit
4b499e656e
4 changed files with 29 additions and 10 deletions
|
|
@ -245,6 +245,7 @@ const config: ForgeConfig = {
|
|||
name: "Amical",
|
||||
executableName: "Amical",
|
||||
icon: "./assets/logo.icns", // Path to your icon file
|
||||
appBundleId: "com.amical.desktop", // Proper bundle ID
|
||||
extraResource: [
|
||||
"../../packages/native-helpers/swift-helper/bin",
|
||||
"./src/db/migrations",
|
||||
|
|
@ -261,13 +262,17 @@ const config: ForgeConfig = {
|
|||
osxSign: {
|
||||
identity: process.env.CODESIGNING_IDENTITY,
|
||||
},
|
||||
// Notarization for macOS
|
||||
...(process.env.SKIP_NOTARIZATION === "true"
|
||||
? {}
|
||||
: {
|
||||
osxNotarize: {
|
||||
appleId: process.env.APPLE_ID!,
|
||||
appleIdPassword: process.env.APPLE_APP_PASSWORD!,
|
||||
teamId: process.env.APPLE_TEAM_ID!,
|
||||
},
|
||||
}),
|
||||
}),
|
||||
// Notarization for macOS (configure when ready for distribution)
|
||||
// osxNotarize: {
|
||||
// appleId: process.env.APPLE_ID,
|
||||
// appleIdPassword: process.env.APPLE_APP_PASSWORD,
|
||||
// teamId: process.env.APPLE_TEAM_ID,
|
||||
// },
|
||||
//! issues with monorepo setup and module resolutions
|
||||
//! when forge walks paths via flora-colossus
|
||||
prune: false,
|
||||
|
|
|
|||
|
|
@ -72,8 +72,11 @@ export class AppManager {
|
|||
this.windowManager.createOrShowMainWindow();
|
||||
// tRPC handler is now set up in WindowManager when windows are created
|
||||
|
||||
if (process.platform === "darwin" && app.dock) {
|
||||
if (app.dock) {
|
||||
app.dock.show();
|
||||
logger.main.info("Explicitly showing app in dock");
|
||||
} else {
|
||||
logger.main.warn("app.dock is not available");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,10 +42,15 @@ export class WindowManager {
|
|||
);
|
||||
}
|
||||
|
||||
this.mainWindow.on("closed", () => {
|
||||
this.mainWindow.on("close", () => {
|
||||
// Detach window before it's destroyed
|
||||
ServiceManager.getInstance()!
|
||||
.getTRPCHandler()!
|
||||
.detachWindow(this.mainWindow!);
|
||||
});
|
||||
|
||||
this.mainWindow.on("closed", () => {
|
||||
// Window is already destroyed, just clean up reference
|
||||
this.mainWindow = null;
|
||||
});
|
||||
|
||||
|
|
@ -92,10 +97,15 @@ export class WindowManager {
|
|||
);
|
||||
}
|
||||
|
||||
this.widgetWindow.on("closed", () => {
|
||||
this.widgetWindow.on("close", () => {
|
||||
// Detach window before it's destroyed
|
||||
ServiceManager.getInstance()!
|
||||
.getTRPCHandler()!
|
||||
.detachWindow(this.widgetWindow!);
|
||||
});
|
||||
|
||||
this.widgetWindow.on("closed", () => {
|
||||
// Window is already destroyed, just clean up reference
|
||||
this.widgetWindow = null;
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ dotenv.config();
|
|||
import { app } from "electron";
|
||||
import started from "electron-squirrel-startup";
|
||||
import { AppManager } from "./core/app-manager";
|
||||
import { updateElectronApp } from "update-electron-app";
|
||||
|
||||
if (started) {
|
||||
app.quit();
|
||||
|
|
@ -11,7 +12,7 @@ if (started) {
|
|||
|
||||
// Set up auto-updater for production builds
|
||||
if (app.isPackaged) {
|
||||
require("update-electron-app")();
|
||||
updateElectronApp();
|
||||
}
|
||||
|
||||
const appManager = new AppManager();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue