Fix macos builds

This commit is contained in:
Nayam Amarshe
2023-11-10 17:11:35 +05:30
parent 076a7191d4
commit e610e7b8a9
13 changed files with 288 additions and 205 deletions

View File

@@ -8,7 +8,7 @@ import slash from "../utils/slash";
import COMMAND from "../constants/commands";
import getModels from "../utils/get-models";
import { getMainWindow } from "../main-window";
import { settings } from "../utils/settings";
import settings from "electron-settings";
const customModelsSelect = async (event, message) => {
const mainWindow = getMainWindow();
@@ -23,11 +23,12 @@ const customModelsSelect = async (event, message) => {
title: "Select Custom Models Folder",
defaultPath: customModelsFolderPath,
securityScopedBookmarks: true,
message: "Select Custom Models Folder that is named 'models'",
});
if (bookmarks && bookmarks.length > 0) {
logit("📁 Bookmarks: ", bookmarks);
settings.set("custom-models-bookmarks", bookmarks[0]);
console.log("🚨 Setting Bookmark: ", bookmarks);
await settings.set("custom-models-bookmarks", bookmarks[0]);
}
if (canceled) {
@@ -52,10 +53,8 @@ const customModelsSelect = async (event, message) => {
return null;
}
mainWindow.webContents.send(
COMMAND.CUSTOM_MODEL_FILES_LIST,
getModels(customModelsFolderPath)
);
const models = await getModels(customModelsFolderPath);
mainWindow.webContents.send(COMMAND.CUSTOM_MODEL_FILES_LIST, models);
logit("📁 Custom Folder Path: ", customModelsFolderPath);
return customModelsFolderPath;

View File

@@ -15,11 +15,9 @@ const getModelsList = async (event, payload) => {
setCustomModelsFolderPath(payload);
logit("📁 Custom Models Folder Path: ", customModelsFolderPath);
const models = await getModels(payload);
mainWindow.webContents.send(
COMMAND.CUSTOM_MODEL_FILES_LIST,
getModels(payload)
);
mainWindow.webContents.send(COMMAND.CUSTOM_MODEL_FILES_LIST, models);
}
};

View File

@@ -1,21 +1,37 @@
import { MessageBoxOptions, dialog } from "electron";
import { MessageBoxOptions, app, dialog } from "electron";
import { getMainWindow } from "../main-window";
import { imagePath, setImagePath } from "../utils/config-variables";
import logit from "../utils/logit";
import { settings } from "../utils/settings";
import settings from "electron-settings";
const selectFile = async () => {
const mainWindow = getMainWindow();
const { canceled, filePaths, bookmarks } = await dialog.showOpenDialog({
properties: ["openFile", "multiSelections"],
properties: ["openFile"],
title: "Select Image",
defaultPath: imagePath,
securityScopedBookmarks: true,
message: "Select Image to Upscale",
filters: [
{
name: "Images",
extensions: [
"png",
"jpg",
"jpeg",
"webp",
"PNG",
"JPG",
"JPEG",
"WEBP",
],
},
],
});
if (bookmarks && bookmarks.length > 0) {
logit("📁 Bookmarks: ", bookmarks);
console.log("🚨 Setting Bookmark: ", bookmarks);
settings.set("file-bookmarks", bookmarks[0]);
}

View File

@@ -1,9 +1,22 @@
import { dialog } from "electron";
import { app, dialog } from "electron";
import { folderPath, setFolderPath } from "../utils/config-variables";
import logit from "../utils/logit";
import { settings } from "../utils/settings";
import settings from "electron-settings";
const selectFolder = async (event, message) => {
let closeAccess;
const folderBookmarks = await settings.get("folder-bookmarks");
if (folderBookmarks) {
logit("🚨 Folder Bookmarks: ", folderBookmarks);
try {
closeAccess = app.startAccessingSecurityScopedResource(
folderBookmarks as string
);
} catch (error) {
logit("📁 Folder Bookmarks Error: ", error);
}
}
const {
canceled,
filePaths: folderPaths,
@@ -15,8 +28,8 @@ const selectFolder = async (event, message) => {
});
if (bookmarks && bookmarks.length > 0) {
logit("📁 Bookmarks: ", bookmarks);
settings.set("folder-bookmarks", bookmarks[0]);
console.log("🚨 Setting folder Bookmark: ", bookmarks);
await settings.set("folder-bookmarks", bookmarks[0]);
}
if (canceled) {

View File

@@ -19,7 +19,7 @@ import doubleUpscayl from "./commands/double-upscayl";
import autoUpdate from "./commands/auto-update";
import sharp from "sharp";
import { featureFlags } from "../common/feature-flags";
import { settings } from "./utils/settings";
import settings from "electron-settings";
// INITIALIZATION
log.initialize({ preload: true });
@@ -45,21 +45,17 @@ app.on("ready", async () => {
log.info("🚀 UPSCAYL EXEC PATH: ", execPath("bin"));
log.info("🚀 MODELS PATH: ", modelsPath);
// SECURITY SCOPED BOOKMARKS
const fileBookmarks = settings.get("file-bookmarks", true);
const folderBookmarks = settings.get("folder-bookmarks", true);
const customModelsBookmarks = settings.get("custom-models-bookmarks", true);
if (fileBookmarks) {
log.info("📁 File Bookmarks: ", fileBookmarks);
app.startAccessingSecurityScopedResource(fileBookmarks);
}
let closeAccess;
const folderBookmarks = await settings.get("folder-bookmarks");
if (folderBookmarks) {
log.info("📁 Folder Bookmarks: ", folderBookmarks);
app.startAccessingSecurityScopedResource(folderBookmarks);
}
if (customModelsBookmarks) {
log.info("📁 Custom Models Bookmarks: ", customModelsBookmarks);
app.startAccessingSecurityScopedResource(customModelsBookmarks);
logit("🚨 Folder Bookmarks: ", folderBookmarks);
try {
closeAccess = app.startAccessingSecurityScopedResource(
folderBookmarks as string
);
} catch (error) {
logit("📁 Folder Bookmarks Error: ", error);
}
}
});

View File

@@ -1,11 +1,29 @@
import fs from "fs";
import logit from "./logit";
import { MessageBoxOptions, dialog } from "electron";
import { MessageBoxOptions, app, dialog } from "electron";
import settings from "electron-settings";
const getModels = (folderPath: string | undefined) => {
const getModels = async (folderPath: string | undefined) => {
let models: string[] = [];
let isValid = false;
// SECURITY SCOPED BOOKMARKS
let closeAccess;
const customModelsBookmarks = await settings.get("custom-models-bookmarks");
if (customModelsBookmarks) {
console.log(
"🚀 => file: get-models.ts:18 => customModelsBookmarks:",
customModelsBookmarks
);
try {
closeAccess = app.startAccessingSecurityScopedResource(
customModelsBookmarks as string
);
} catch (error) {
logit("📁 Custom Models Bookmarks Error: ", error);
}
}
if (!folderPath) {
logit("❌ Invalid Custom Model Folder Detected");
const options: MessageBoxOptions = {

View File

@@ -11,8 +11,8 @@ import { getMainWindow } from "../main-window";
* // Set a value
* settings.set("key", value);
*/
export const settings = {
get: (key: string, parse: boolean = false): any => {
export const localStorage = {
get: <T>(key: string, parse: boolean = false): T | null => {
const mainWindow = getMainWindow();
if (!mainWindow) return null;
let result = null;