Merge branch 'main' into tray-icon

This commit is contained in:
Oleh Polisan 2024-12-25 13:37:47 +02:00 committed by GitHub
commit 10c3f112a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 968 additions and 592 deletions

View file

@ -33,6 +33,6 @@ jobs:
git add meta/dev.vencord.Vesktop.metainfo.xml
git commit -m "Insert release changes for ${{ github.event.release.tag_name }}"
git push origin ci/meta-update
gh pr create -B main -H ci/meta-update -t "Metainfo for ${{ github.event.release.tag_name }}" -b "This PR updates the metainfo for release ${{ github.event.release.tag_name }}. @lewisakura @Vendicated"
gh pr create -B main -H ci/meta-update -t "Metainfo for ${{ github.event.release.tag_name }}" -b "This PR updates the metainfo for release ${{ github.event.release.tag_name }}."
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -28,6 +28,19 @@
</screenshot>
</screenshots>
<releases>
<release version="1.5.4" date="2024-12-05" type="stable">
<url>https://github.com/Vencord/Vesktop/releases/tag/v1.5.4</url>
<description>
<p>What's Changed</p>
<ul>
<li>Upgraded electron to version 33 which brings many improvements and bug fixes</li>
<li>AudioShare: add even more granular selection, Allow device sharing by @Curve</li>
<li>Enable speech-dispatcher support for TTS on linux by @adryd325</li>
<li>fixed screenshare picker window subtitle alignment by @ryawaa</li>
<li>fixed splash corners by @Covkie</li>
</ul>
</description>
</release>
<release version="1.5.3" date="2024-07-04" type="stable">
<url>https://github.com/Vencord/Vesktop/releases/tag/v1.5.3</url>
<description>

View file

@ -1,6 +1,6 @@
{
"name": "vesktop",
"version": "1.5.3",
"version": "1.5.4",
"private": true,
"description": "Vesktop is a custom Discord desktop app",
"keywords": [],
@ -25,7 +25,7 @@
},
"dependencies": {
"arrpc": "github:OpenAsar/arrpc#5aadc307cb9bf4479f0a12364a253b07a77ace22",
"electron-updater": "^6.3.4"
"electron-updater": "^6.3.9"
},
"optionalDependencies": {
"@vencord/venmic": "^6.1.0",
@ -33,27 +33,27 @@
},
"devDependencies": {
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
"@stylistic/eslint-plugin": "^2.8.0",
"@types/node": "^22.5.5",
"@types/react": "^18.3.8",
"@stylistic/eslint-plugin": "^2.11.0",
"@types/node": "^22.10.1",
"@types/react": "^18.3.12",
"@vencord/types": "^1.8.4",
"dotenv": "^16.4.5",
"electron": "^32.1.2",
"electron-builder": "^25.0.5",
"esbuild": "^0.23.1",
"eslint": "^9.11.0",
"dotenv": "^16.4.6",
"electron": "^33.2.1",
"electron-builder": "^25.1.8",
"esbuild": "^0.24.0",
"eslint": "^9.16.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-path-alias": "^2.1.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-header": "^1.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-unused-imports": "^4.1.4",
"prettier": "^3.3.3",
"prettier": "^3.4.1",
"source-map-support": "^0.5.21",
"tsx": "^4.19.1",
"type-fest": "^4.26.1",
"typescript": "^5.6.2",
"typescript-eslint": "^8.6.0",
"tsx": "^4.19.2",
"type-fest": "^4.30.0",
"typescript": "^5.7.2",
"typescript-eslint": "^8.17.0",
"xml-formatter": "^3.6.3"
},
"packageManager": "pnpm@9.1.0",

1483
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -506,18 +506,6 @@ export async function createWindows() {
});
});
// evil hack to fix electron 32 regression that makes devtools always light theme
// https://github.com/electron/electron/issues/43367
// TODO: remove once fixed
mainWin.webContents.on("devtools-opened", () => {
if (!nativeTheme.shouldUseDarkColors) return;
nativeTheme.themeSource = "light";
setTimeout(() => {
nativeTheme.themeSource = "dark";
}, 100);
});
initArRPC();
}

View file

@ -49,8 +49,8 @@ export function registerScreenShareHandler() {
if (isWayland) {
const video = data[0];
if (video) {
const stream = await request.frame
.executeJavaScript(
const stream = await request
.frame!.executeJavaScript(
`Vesktop.Components.ScreenShare.openScreenSharePicker(${JSON.stringify([video])},true)`
)
.catch(() => null);
@ -61,8 +61,8 @@ export function registerScreenShareHandler() {
return;
}
const choice = await request.frame
.executeJavaScript(`Vesktop.Components.ScreenShare.openScreenSharePicker(${JSON.stringify(data)})`)
const choice = await request
.frame!.executeJavaScript(`Vesktop.Components.ScreenShare.openScreenSharePicker(${JSON.stringify(data)})`)
.then(e => e as StreamPick)
.catch(e => {
console.error("Error during screenshare picker", e);

View file

@ -8,7 +8,9 @@ import { ipcMain, IpcMainEvent, IpcMainInvokeEvent, WebFrameMain } from "electro
import { DISCORD_HOSTNAMES } from "main/constants";
import { IpcEvents } from "shared/IpcEvents";
export function validateSender(frame: WebFrameMain) {
export function validateSender(frame: WebFrameMain | null) {
if (!frame) throw new Error("ipc: No sender frame");
const { hostname, protocol } = new URL(frame.url);
if (protocol === "file:") return;

View file

@ -110,7 +110,7 @@ const SettingsOptions: Record<string, Array<BooleanSetting | SettingsComponent>>
}
],
Notifications: [NotificationBadgeToggle],
Miscelleanous: [
Miscellaneous: [
{
key: "arRPC",
title: "Rich Presence",

View file

@ -26,11 +26,11 @@ export class SettingsStore<T extends object> {
/**
* The store object. Making changes to this object will trigger the applicable change listeners
*/
public declare store: T;
declare public store: T;
/**
* The plain data. Changes to this object will not trigger any change listeners
*/
public declare plain: T;
declare public plain: T;
public constructor(plain: T) {
this.plain = plain;

View file

@ -3,6 +3,7 @@
<style>
body {
background: none;
user-select: none;
-webkit-app-region: drag;
}
@ -16,6 +17,7 @@
align-items: center;
border-radius: 8px;
border: 1px solid var(--fg-semi-trans);
background: var(--bg);
}
p {