diff --git a/.gitignore b/.gitignore index a6b3ed3..6b34263 100644 --- a/.gitignore +++ b/.gitignore @@ -48,4 +48,5 @@ build-dir/ main/*.js main/utils/*.js -.env \ No newline at end of file +.env +*.provisionprofile \ No newline at end of file diff --git a/electron/index.ts b/electron/index.ts index bd8a0d2..032ad2b 100644 --- a/electron/index.ts +++ b/electron/index.ts @@ -40,7 +40,7 @@ app.on("ready", async () => { autoUpdater.checkForUpdates(); } - log.info("🚀 UPSCAYL EXEC PATH: ", execPath("realesrgan")); + log.info("🚀 UPSCAYL EXEC PATH: ", execPath("bin")); log.info("🚀 MODELS PATH: ", modelsPath); }); diff --git a/electron/utils/get-resource-paths.ts b/electron/utils/get-resource-paths.ts index dbb6331..65aa82d 100644 --- a/electron/utils/get-resource-paths.ts +++ b/electron/utils/get-resource-paths.ts @@ -15,8 +15,7 @@ const binariesPath = isDev ? join(appRootDir, "resources", getPlatform()!, "bin") : join(dirname(appRootDir), "bin"); -const execPath = (execName) => - resolve(join(binariesPath, `./upscayl-${execName}`)); +const execPath = (execName) => resolve(join(binariesPath, `./upscayl-bin`)); const modelsPath = isDev ? resolve(join(appRootDir, "resources", "models")) diff --git a/electron/utils/spawn-upscayl.ts b/electron/utils/spawn-upscayl.ts index b5001c5..11caae2 100644 --- a/electron/utils/spawn-upscayl.ts +++ b/electron/utils/spawn-upscayl.ts @@ -8,7 +8,7 @@ export const spawnUpscayl = ( ) => { logit("📢 Upscayl Command: ", command); - const spawnedProcess = spawn(execPath(binaryName), command, { + const spawnedProcess = spawn(execPath("bin"), command, { cwd: undefined, detached: false, }); diff --git a/package.json b/package.json index 064a4b3..73e8551 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "dist:pkg": "tsc && npm run build && cross-env DEBUG=* electron-builder build -m pkg", "dist:mac": "tsc && npm run build && electron-builder --mac --universal", "dist:mac-arm64": "tsc && npm run build && electron-builder --mac --arm64", + "dist:mac-mas": "tsc && npm run build && electron-builder --mac mas --universal", "dist:win": "tsc && npm run build && electron-builder --win", "dist:linux": "tsc && npm run build && electron-builder --linux", "publish-app": "tsc && npm run build && electron-builder -wlm --publish always", @@ -95,6 +96,7 @@ } ], "mac": { + "type": "distribution", "category": "public.app-category.photography", "hardenedRuntime": true, "gatekeeperAssess": false, @@ -113,9 +115,34 @@ "arch": [ "universal" ] + }, + { + "target": "mas", + "arch": [ + "universal" + ] } ], - "x64ArchFiles": "*" + "x64ArchFiles": "*", + "provisioningProfile": "embedded.provisionprofile" + }, + "mas": { + "hardenedRuntime": false, + "type": "distribution", + "category": "public.app-category.photography", + "entitlements": "resources/entitlements.mac.plist", + "entitlementsInherit": "resources/entitlements.mac.plist", + "provisioningProfile": "embedded.provisionprofile", + "mergeASARs": false, + "x64ArchFiles": "*", + "target": [ + { + "target": "pkg", + "arch": [ + "universal" + ] + } + ] }, "dmg": { "sign": "false", diff --git a/renderer/components/Footer.tsx b/renderer/components/Footer.tsx index 8d892db..0d3330c 100644 --- a/renderer/components/Footer.tsx +++ b/renderer/components/Footer.tsx @@ -18,7 +18,7 @@ function Footer() { href="https://github.com/upscayl" className="font-bold" target="_blank"> - TGS963 and Nayam Amarshe + The Upscayl Team

diff --git a/renderer/components/settings-tab/index.tsx b/renderer/components/settings-tab/index.tsx index 72594c3..4892e4d 100644 --- a/renderer/components/settings-tab/index.tsx +++ b/renderer/components/settings-tab/index.tsx @@ -21,6 +21,7 @@ import OverwriteToggle from "./OverwriteToggle"; import { UpscaylCloudModal } from "../UpscaylCloudModal"; import { ResetSettings } from "./ResetSettings"; import ProcessImageToggle from "./ProcessImageToggle"; +import { flag } from "@/utils/flags"; interface IProps { batchMode: boolean; @@ -189,7 +190,7 @@ function SettingsTab({ target="_blank"> Read Wiki Guide - + {flag("IS_APPLE_STORE_BUILD") && } { }} draggable="false" alt="" - className="h-full w-full bg-[#1d1c23] object-contain" + className="h-full w-full bg-gradient-to-br from-base-300 to-base-100 object-contain" /> )} @@ -659,7 +659,7 @@ const Home = () => { backgroundPosition: "0% 0%", transformOrigin: backgroundPosition, }} - className={`h-full w-full bg-[#1d1c23] transition-transform group-hover:scale-[${zoomAmount}]`} + className={`h-full w-full bg-gradient-to-br from-base-300 to-base-100 transition-transform group-hover:scale-[${zoomAmount}]`} /> } @@ -678,7 +678,7 @@ const Home = () => { transformOrigin: backgroundPosition, }} onMouseMove={handleMouseMove} - className={`h-full w-full bg-[#1d1c23] transition-transform group-hover:scale-[${zoomAmount}]`} + className={`h-full w-full bg-gradient-to-br from-base-300 to-base-100 transition-transform group-hover:scale-[${zoomAmount}]`} /> } diff --git a/renderer/styles/globals.css b/renderer/styles/globals.css index 50f6e63..e0da164 100644 --- a/renderer/styles/globals.css +++ b/renderer/styles/globals.css @@ -180,6 +180,28 @@ -webkit-app-region: drag; } +.checkerboard { + background-color: rgba(255, 255, 255); + background-image: linear-gradient( + 45deg, + #000 25%, + transparent 25%, + transparent 75%, + #000 75%, + #000 + ), + linear-gradient( + -45deg, + #000 25%, + transparent 25%, + transparent 75%, + #000 75%, + #000 + ); + background-size: 40px 40px; + background-repeat: repeat; +} + @keyframes animate-step-in { 0% { opacity: 0; diff --git a/renderer/tsconfig.json b/renderer/tsconfig.json index 3585d51..2edf7be 100644 --- a/renderer/tsconfig.json +++ b/renderer/tsconfig.json @@ -15,7 +15,7 @@ "isolatedModules": true, "jsx": "preserve", "paths": { - "@/*": ["./src/*"], + "@/*": ["./*"], "@common/*": ["../common/*"] } }, diff --git a/renderer/utils/flags.ts b/renderer/utils/flags.ts new file mode 100644 index 0000000..941d7ad --- /dev/null +++ b/renderer/utils/flags.ts @@ -0,0 +1,8 @@ +export const FLAGS = { + IS_APPLE_STORE_BUILD: "IS_APPLE_STORE_BUILD", +}; + +// Get flag from process.env +export const flag = (flag: keyof typeof FLAGS) => { + return process.env[flag]; +}; diff --git a/resources/entitlements.mac.plist b/resources/entitlements.mac.plist index d16499e..1e4911b 100644 --- a/resources/entitlements.mac.plist +++ b/resources/entitlements.mac.plist @@ -2,6 +2,12 @@ + com.apple.security.app-sandbox + + com.apple.security.application-groups + + W2T4W74X87.org.upscayl.Upscayl + com.apple.security.automation.apple-events com.apple.security.cs.allow-dyld-environment-variables diff --git a/resources/entitlements.mas.inherit.plist b/resources/entitlements.mas.inherit.plist new file mode 100644 index 0000000..4759d0a --- /dev/null +++ b/resources/entitlements.mas.inherit.plist @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.inherit + + + diff --git a/resources/entitlements.mas.loginhelper.plist b/resources/entitlements.mas.loginhelper.plist new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/resources/entitlements.mas.loginhelper.plist @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/resources/linux/bin/upscayl-realesrgan b/resources/linux/bin/upcayl-bin similarity index 70% rename from resources/linux/bin/upscayl-realesrgan rename to resources/linux/bin/upcayl-bin index d071820..6b10886 100755 Binary files a/resources/linux/bin/upscayl-realesrgan and b/resources/linux/bin/upcayl-bin differ diff --git a/resources/mac/bin/upscayl-realesrgan b/resources/mac/bin/upscayl-bin similarity index 67% rename from resources/mac/bin/upscayl-realesrgan rename to resources/mac/bin/upscayl-bin index 069f46b..d54e620 100755 Binary files a/resources/mac/bin/upscayl-realesrgan and b/resources/mac/bin/upscayl-bin differ diff --git a/resources/win/bin/upscayl-realesrgan.exe b/resources/win/bin/upscayl-bin.exe similarity index 56% rename from resources/win/bin/upscayl-realesrgan.exe rename to resources/win/bin/upscayl-bin.exe index e8d351c..f6b9916 100644 Binary files a/resources/win/bin/upscayl-realesrgan.exe and b/resources/win/bin/upscayl-bin.exe differ