From 5befd967ba48f967a967691eba107370c16f6ba9 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Sat, 24 Jan 2026 02:25:37 +0100 Subject: [PATCH] fix window controls --- package.json | 2 +- pnpm-lock.yaml | 52 +++++++++++++------ src/renderer/arrpc.ts | 5 +- src/renderer/common.ts | 9 ---- src/renderer/components/ScreenSharePicker.tsx | 3 +- src/renderer/patches/fixStreamConstraints.ts | 2 +- src/renderer/patches/spellCheck.tsx | 5 +- src/renderer/patches/streamerMode.ts | 6 +-- src/renderer/patches/windowsTitleBar.tsx | 4 +- 9 files changed, 48 insertions(+), 40 deletions(-) delete mode 100644 src/renderer/common.ts diff --git a/package.json b/package.json index 6c5906a..52b04f8 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@stylistic/eslint-plugin": "^5.6.1", "@types/node": "^25.0.3", "@types/react": "19.2.1", - "@vencord/types": "^1.13.7", + "@vencord/types": "^1.14.1", "dotenv": "^17.2.3", "electron": "^39.2.7", "electron-builder": "^26.0.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 153642e..e16715b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: specifier: 19.2.1 version: 19.2.1 '@vencord/types': - specifier: ^1.13.7 - version: 1.13.7(@types/react-dom@18.3.1)(@types/react@19.2.1) + specifier: ^1.14.1 + version: 1.14.1(@types/react-dom@18.3.1)(@types/react@19.2.1) dotenv: specifier: ^17.2.3 version: 17.2.3 @@ -461,6 +461,9 @@ packages: '@types/node@22.19.3': resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==} + '@types/node@22.19.7': + resolution: {integrity: sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==} + '@types/node@25.0.3': resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} @@ -550,8 +553,8 @@ packages: peerDependencies: '@types/react': ^19.0.10 - '@vencord/types@1.13.7': - resolution: {integrity: sha512-MThrBwMEJ0CvKMrVgJC4cvJuDwwFXEhgSOJnmDZxmJeKOByVWLo7xxjn1suHkE1/euw9J5lGTfz1QTiYVXbLqA==} + '@vencord/types@1.14.1': + resolution: {integrity: sha512-P4eYl3IJKXLjAWH2Ejs2/z8eOS0LsuTNFqL9OHXQRXtOWoAEYNG6z9MXH25Thr/dIUH839IZCW872XjOSVIauQ==} peerDependencies: '@types/react': 18.3.1 '@types/react-dom': 18.3.1 @@ -2157,8 +2160,8 @@ packages: resolution: {integrity: sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==} engines: {node: '>=10'} - node-abi@3.85.0: - resolution: {integrity: sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==} + node-abi@3.87.0: + resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==} engines: {node: '>=10'} node-addon-api@1.7.2: @@ -2512,8 +2515,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - sax@1.4.3: - resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} + sax@1.4.4: + resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} + engines: {node: '>=11.0.0'} semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} @@ -2911,6 +2915,10 @@ packages: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -3066,7 +3074,7 @@ snapshots: detect-libc: 2.1.2 fs-extra: 10.1.0 got: 11.8.6 - node-abi: 3.85.0 + node-abi: 3.87.0 node-api-version: 0.2.1 node-gyp: 9.4.1 ora: 5.4.1 @@ -3347,6 +3355,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@22.19.7': + dependencies: + undici-types: 6.21.0 + '@types/node@25.0.3': dependencies: undici-types: 7.16.0 @@ -3476,10 +3488,10 @@ snapshots: moment: 2.30.1 type-fest: 4.41.0 - '@vencord/types@1.13.7(@types/react-dom@18.3.1)(@types/react@19.2.1)': + '@vencord/types@1.14.1(@types/react-dom@18.3.1)(@types/react@19.2.1)': dependencies: '@types/lodash': 4.17.15 - '@types/node': 22.19.3 + '@types/node': 22.19.7 '@types/react': 19.2.1 '@types/react-dom': 18.3.1 '@vencord/discord-types': 1.0.0(@types/react@19.2.1) @@ -3838,7 +3850,7 @@ snapshots: builder-util-runtime@9.2.10: dependencies: debug: 4.4.3 - sax: 1.4.3 + sax: 1.4.4 transitivePeerDependencies: - supports-color @@ -4432,7 +4444,7 @@ snapshots: typed-array-byte-offset: 1.0.4 typed-array-length: 1.0.7 unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 es-define-property@1.0.1: {} @@ -5575,7 +5587,7 @@ snapshots: dependencies: semver: 7.7.2 - node-abi@3.85.0: + node-abi@3.87.0: dependencies: semver: 7.7.3 @@ -5966,7 +5978,7 @@ snapshots: sax@1.4.1: {} - sax@1.4.3: {} + sax@1.4.4: {} semver-compare@1.0.0: optional: true @@ -6468,6 +6480,16 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 + which-typed-array@1.1.20: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/src/renderer/arrpc.ts b/src/renderer/arrpc.ts index 9e5f7ac..36277e6 100644 --- a/src/renderer/arrpc.ts +++ b/src/renderer/arrpc.ts @@ -6,15 +6,14 @@ import type arRpcPlugin from "@vencord/types/plugins/arRPC.web"; import { Logger } from "@vencord/types/utils"; -import { findLazy, findStoreLazy, onceReady } from "@vencord/types/webpack"; -import { FluxDispatcher, InviteActions } from "@vencord/types/webpack/common"; +import { findLazy, onceReady } from "@vencord/types/webpack"; +import { FluxDispatcher, InviteActions, StreamerModeStore } from "@vencord/types/webpack/common"; import { IpcCommands } from "shared/IpcEvents"; import { onIpcCommand } from "./ipcCommands"; import { Settings } from "./settings"; const logger = new Logger("VesktopRPC", "#5865f2"); -const StreamerModeStore = findStoreLazy("StreamerModeStore"); const arRPC = Vencord.Plugins.plugins["WebRichPresence (arRPC)"] as typeof arRpcPlugin; diff --git a/src/renderer/common.ts b/src/renderer/common.ts deleted file mode 100644 index bd61bde..0000000 --- a/src/renderer/common.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Vesktop, a desktop app aiming to give you a snappier Discord Experience - * Copyright (c) 2025 Vendicated and Vesktop contributors - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import { findStoreLazy } from "@vencord/types/webpack"; - -export const MediaEngineStore = findStoreLazy("MediaEngineStore"); diff --git a/src/renderer/components/ScreenSharePicker.tsx b/src/renderer/components/ScreenSharePicker.tsx index fe6b326..d8d8db5 100644 --- a/src/renderer/components/ScreenSharePicker.tsx +++ b/src/renderer/components/ScreenSharePicker.tsx @@ -31,10 +31,9 @@ import { useForceUpdater } from "@vencord/types/utils"; import { onceReady } from "@vencord/types/webpack"; -import { FluxDispatcher, Select, UserStore, useState } from "@vencord/types/webpack/common"; +import { FluxDispatcher, MediaEngineStore, Select, UserStore, useState } from "@vencord/types/webpack/common"; import { Node } from "@vencord/venmic"; import type { Dispatch, SetStateAction } from "react"; -import { MediaEngineStore } from "renderer/common"; import { addPatch } from "renderer/patches/shared"; import { State, useSettings, useVesktopState } from "renderer/settings"; import { isLinux, isWindows } from "renderer/utils"; diff --git a/src/renderer/patches/fixStreamConstraints.ts b/src/renderer/patches/fixStreamConstraints.ts index 3f03246..04820a4 100644 --- a/src/renderer/patches/fixStreamConstraints.ts +++ b/src/renderer/patches/fixStreamConstraints.ts @@ -5,7 +5,7 @@ */ import { Logger } from "@vencord/types/utils"; -import { MediaEngineStore } from "renderer/common"; +import { MediaEngineStore } from "@vencord/types/webpack/common"; const logger = new Logger("VesktopStreamFixes"); diff --git a/src/renderer/patches/spellCheck.tsx b/src/renderer/patches/spellCheck.tsx index 4473d88..0601953 100644 --- a/src/renderer/patches/spellCheck.tsx +++ b/src/renderer/patches/spellCheck.tsx @@ -5,8 +5,7 @@ */ import { addContextMenuPatch } from "@vencord/types/api/ContextMenu"; -import { findStoreLazy } from "@vencord/types/webpack"; -import { FluxDispatcher, Menu, useMemo, useStateFromStores } from "@vencord/types/webpack/common"; +import { FluxDispatcher, Menu, SpellCheckStore, useMemo, useStateFromStores } from "@vencord/types/webpack/common"; import { useSettings } from "renderer/settings"; import { addPatch } from "./shared"; @@ -14,8 +13,6 @@ import { addPatch } from "./shared"; let word: string; let corrections: string[]; -const SpellCheckStore = findStoreLazy("SpellcheckStore"); - // Make spellcheck suggestions work addPatch({ patches: [ diff --git a/src/renderer/patches/streamerMode.ts b/src/renderer/patches/streamerMode.ts index f130502..8ae3dc2 100644 --- a/src/renderer/patches/streamerMode.ts +++ b/src/renderer/patches/streamerMode.ts @@ -9,11 +9,11 @@ import { addPatch } from "./shared"; addPatch({ patches: [ { - find: ".STREAMER_MODE_ENABLE,", + find: ".STREAMING_AUTO_STREAMER_MODE,", replacement: { // remove if (platformEmbedded) check from streamer mode toggle - match: /if\(\i\.\i\)(?=return.{0,200}?"autoToggle")/g, - replace: "" + match: /(?<=usePredicate.{0,20}?return )\i\.\i/g, + replace: "true" } } ] diff --git a/src/renderer/patches/windowsTitleBar.tsx b/src/renderer/patches/windowsTitleBar.tsx index 752486a..9ddba6b 100644 --- a/src/renderer/patches/windowsTitleBar.tsx +++ b/src/renderer/patches/windowsTitleBar.tsx @@ -12,7 +12,7 @@ if (Settings.store.customTitleBar) addPatch({ patches: [ { - find: ".wordmarkWindows", + find: ".USE_OSX_NATIVE_TRAFFIC_LIGHTS", replacement: [ { match: /case \i\.\i\.WINDOWS:/, @@ -22,7 +22,7 @@ if (Settings.store.customTitleBar) }, // Visual Refresh { - find: ".systemBar,", + find: '"refresh-title-bar-small"', replacement: [ { match: /\i===\i\.PlatformTypes\.WINDOWS/g,