diff --git a/.github/workflows/winget-submission.yml b/.github/workflows/winget-submission.yml index 160635f..211a91f 100644 --- a/.github/workflows/winget-submission.yml +++ b/.github/workflows/winget-submission.yml @@ -1,33 +1,17 @@ -# Based on Microsoft/DevHome Winget CI, modified for use in Vencord/Vesktop. -# -# Copyright (c) Microsoft Corporation and Contributors -# Licensed under the MIT license. - name: Submit to Winget Community Repo on: - workflow_dispatch: release: types: [published] jobs: winget: name: Publish winget package - runs-on: windows-latest - env: - WINGET_PAT: ${{ secrets.WINGET_PAT }} + runs-on: ubuntu-latest steps: - name: Submit package to Winget Community Repo - run: | - - $packageId = "Vencord.Vesktop" - - # Fetching latest release from GitHub - $github = Invoke-RestMethod -uri "https://api.github.com/repos/vencord/vesktop/releases" - $targetRelease = $github | Select-Object -First 1 - $installerUrl = $targetRelease | Select-Object -ExpandProperty assets -First 1 | Where-Object -Property name -match 'Vesktop-Setup.*?exe' | Select-Object -ExpandProperty browser_download_url - $packageVersion = $targetRelease.tag_name.Trim("v") - - # Update package using wingetcreate - Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe - .\wingetcreate.exe update $packageId --version $packageVersion --urls "$installerUrl" --submit --token $env:WINGET_PAT + uses: vedantmgoyal2009/winget-releaser@52ef3f3028ed79a9606d7678d0a88d295bc0c690 # v2 + with: + identifier: Vencord.Vesktop + token: ${{ secrets.WINGET_PAT }} + installers-regex: '\.exe$' diff --git a/package.json b/package.json index d2598d7..ef2e1ef 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/parser": "^6.2.1", "@vencord/types": "^0.1.2", "dotenv": "^16.3.1", - "electron": "^25.8.2", + "electron": "^25.8.4", "electron-builder": "^24.6.3", "esbuild": "^0.18.17", "eslint": "^8.46.0", @@ -66,6 +66,7 @@ "LICENSE" ], "linux": { + "icon": "build/icon.icns", "category": "Network", "maintainer": "vendicated+vesktop@riseup.net", "target": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4437c6f..37b92d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,8 +32,8 @@ devDependencies: specifier: ^16.3.1 version: 16.3.1 electron: - specifier: ^25.8.2 - version: 25.8.2 + specifier: ^25.8.4 + version: 25.8.4 electron-builder: specifier: ^24.6.3 version: 24.6.3 @@ -1766,8 +1766,8 @@ packages: - supports-color dev: true - /electron@25.8.2: - resolution: {integrity: sha512-AM1ra6b16EQuO1bJtiA8ZiWqqFLLgVfxD56ykiy+EA5C63Hkx8OmIbe+5JAsLiTwRVvBZ4oCAj6wa2qT+iq8ww==} + /electron@25.8.4: + resolution: {integrity: sha512-hUYS3RGdaa6E1UWnzeGnsdsBYOggwMMg4WGxNGvAoWtmRrr6J1BsjFW/yRq4WsJHJce2HdzQXtz4OGXV6yUCLg==} engines: {node: '>= 12.20.55'} hasBin: true requiresBuild: true diff --git a/src/main/ipc.ts b/src/main/ipc.ts index d1ab771..6a489fc 100644 --- a/src/main/ipc.ts +++ b/src/main/ipc.ts @@ -4,7 +4,8 @@ * Copyright (c) 2023 Vendicated and Vencord contributors */ -import { app, dialog, session, shell } from "electron"; +import { execFile } from "child_process"; +import { app, dialog, RelaunchOptions, session, shell } from "electron"; import { mkdirSync, readFileSync, watch } from "fs"; import { open, readFile } from "fs/promises"; import { release } from "os"; @@ -45,7 +46,14 @@ handle(IpcEvents.SET_SETTINGS, (_, settings: typeof Settings.store, path?: strin }); handle(IpcEvents.RELAUNCH, () => { - app.relaunch(); + const options: RelaunchOptions = { + args: process.argv.slice(1).concat(["--relaunch"]) + }; + if (app.isPackaged && process.env.APPIMAGE) { + execFile(process.env.APPIMAGE, options.args); + } else { + app.relaunch(options); + } app.exit(); });