diff --git a/.vscode/settings.json b/.vscode/settings.json index 66dbbcc..577c9f5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,7 +3,6 @@ "files.exclude": { "**/.vite": true, "**/node_modules": true, - "**/pnpm-lock.yaml": true, "**/tsconfig.json": false }, "editor.detectIndentation": false, diff --git a/assets b/assets index 3a0d29a..f60a38e 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit 3a0d29a0e7984e41afca1a0c945ffeac1e6dcd91 +Subproject commit f60a38e13761d08b578ec061d13bb4f7759c3f80 diff --git a/forge.config.ts b/forge.config.ts index 7900b94..95f2f47 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -33,11 +33,16 @@ const config: ForgeConfig = { }, rebuildConfig: {}, makers: [ - new MakerAppX({}), + new MakerAppX({ + packageExecutable: `app\\${STRINGS.execName}.exe`, + publisher: "CN=B040CC7E-0016-4AF5-957F-F8977A6CFA3B", + }), new MakerSquirrel({ name: STRINGS.name, authors: STRINGS.author, - iconUrl: `${ASSET_DIR}/icon.ico`, + // todo: hoist this + iconUrl: `https://stoat.chat/app/assets/icon-DUSNE-Pb.ico`, + setupIcon: `${ASSET_DIR}/icon.ico`, description: STRINGS.description, }), new MakerZIP({}), diff --git a/package.json b/package.json index 76b4622..2b5873d 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "stoat-desktop", "version": "1.1.0", "main": ".vite/build/main.js", - "repo": "stoatchat/desktop", + "repository": "stoatchat/desktop", "scripts": { "start": "electron-forge start", "package": "electron-forge package", @@ -48,9 +48,12 @@ "@electron-forge/maker-appx": "^7.9.0", "@homebridge/dbus-native": "^0.7.2", "auto-launch": "^5.0.6", + "bufferutil": "^4.0.9", "discord-rpc": "^4.0.1", "electron-squirrel-startup": "^1.0.1", "electron-store": "^10.1.0", - "update-electron-app": "^3.1.1" - } + "update-electron-app": "^3.1.1", + "utf-8-validate": "^6.0.5" + }, + "packageManager": "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34" } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eece011..567c666 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,9 +17,12 @@ importers: auto-launch: specifier: ^5.0.6 version: 5.0.6 + bufferutil: + specifier: ^4.0.9 + version: 4.0.9 discord-rpc: specifier: ^4.0.1 - version: 4.0.1(encoding@0.1.13) + version: 4.0.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@6.0.5) electron-squirrel-startup: specifier: ^1.0.1 version: 1.0.1 @@ -29,6 +32,9 @@ importers: update-electron-app: specifier: ^3.1.1 version: 3.1.1 + utf-8-validate: + specifier: ^6.0.5 + version: 6.0.5 devDependencies: '@electron-forge/cli': specifier: ^7.9.0 @@ -1082,6 +1088,10 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + cacache@16.1.3: resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -2282,6 +2292,10 @@ packages: encoding: optional: true + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + nopt@6.0.0: resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -3002,6 +3016,10 @@ packages: resolution: {integrity: sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==} engines: {node: '>=8'} + utf-8-validate@6.0.5: + resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==} + engines: {node: '>=6.14.2'} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4411,6 +4429,10 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + cacache@16.1.3: dependencies: '@npmcli/fs': 2.1.2 @@ -4662,10 +4684,10 @@ snapshots: dependencies: path-type: 4.0.0 - discord-rpc@4.0.1(encoding@0.1.13): + discord-rpc@4.0.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@6.0.5): dependencies: node-fetch: 2.7.0(encoding@0.1.13) - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: register-scheme: https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17 transitivePeerDependencies: @@ -5861,6 +5883,8 @@ snapshots: optionalDependencies: encoding: 0.1.13 + node-gyp-build@4.8.4: {} + nopt@6.0.0: dependencies: abbrev: 1.1.1 @@ -6644,6 +6668,10 @@ snapshots: execa: 1.0.0 mem: 4.3.0 + utf-8-validate@6.0.5: + dependencies: + node-gyp-build: 4.8.4 + util-deprecate@1.0.2: {} validate-npm-package-license@3.0.4: @@ -6746,7 +6774,10 @@ snapshots: wrappy@1.0.2: {} - ws@7.5.10: {} + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@6.0.5): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 6.0.5 xml2js@0.6.2: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 43e0238..9db349e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,7 @@ +nodeLinker: hoisted + onlyBuiltDependencies: - electron - electron-winstaller - esbuild + - register-scheme diff --git a/src/main.ts b/src/main.ts index 2f7fa6e..5256d5f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -26,7 +26,7 @@ const acquiredLock = app.requestSingleInstanceLock(); if (acquiredLock) { // start auto update logic - // todo: updateElectronApp(); + updateElectronApp(); // create and configure the app when electron is ready app.on("ready", () => { diff --git a/src/native/window.ts b/src/native/window.ts index 1b55b13..905b88d 100644 --- a/src/native/window.ts +++ b/src/native/window.ts @@ -20,7 +20,7 @@ export let mainWindow: BrowserWindow; export const BUILD_URL = new URL( app.commandLine.hasSwitch("force-server") ? app.commandLine.getSwitchValue("force-server") - : (MAIN_WINDOW_VITE_DEV_SERVER_URL ?? "https://beta.revolt.chat"), + : /*MAIN_WINDOW_VITE_DEV_SERVER_URL ??*/ "https://beta.revolt.chat", ); // internal window state