From f9c404c229af828b362086ae954252647c80b208 Mon Sep 17 00:00:00 2001 From: thororen <78185467+thororen1234@users.noreply.github.com> Date: Mon, 9 Feb 2026 19:19:17 -0500 Subject: [PATCH] fix StartupTimings & Decor (#3963) --- src/components/Icons.tsx | 16 ++++++++++++++ src/plugins/_core/settings.tsx | 21 ++++++++++-------- src/plugins/decor/index.tsx | 2 +- src/plugins/startupTimings/index.tsx | 33 ++++++++++++++++------------ 4 files changed, 48 insertions(+), 24 deletions(-) diff --git a/src/components/Icons.tsx b/src/components/Icons.tsx index 877eb89d..6e39f3f4 100644 --- a/src/components/Icons.tsx +++ b/src/components/Icons.tsx @@ -570,3 +570,19 @@ export function CloudUploadIcon(props: IconProps) { ); } + +export const ClockIcon = (props?: any) => { + return ( + + + + ); +}; diff --git a/src/plugins/_core/settings.tsx b/src/plugins/_core/settings.tsx index d9bcf95f..0c61e54c 100644 --- a/src/plugins/_core/settings.tsx +++ b/src/plugins/_core/settings.tsx @@ -92,6 +92,16 @@ const settings = definePluginSettings({ } }); +const settingsSectionMap: [string, string][] = [ + ["VencordSettings", "vencord_main_panel"], + ["VencordPlugins", "vencord_plugins_panel"], + ["VencordThemes", "vencord_themes_panel"], + ["VencordUpdater", "vencord_updater_panel"], + ["VencordCloud", "vencord_cloud_panel"], + ["VencordBackupAndRestore", "vencord_backup_restore_panel"], + ["VencordPatchHelper", "vencord_patch_helper_panel"] +]; + export default definePlugin({ name: "Settings", description: "Adds Settings UI and debug info", @@ -99,6 +109,7 @@ export default definePlugin({ required: true, settings, + settingsSectionMap, patches: [ { @@ -205,15 +216,7 @@ export default definePlugin({ }, getSettingsSectionMappings() { - return [ - ["VencordSettings", "vencord_main_panel"], - ["VencordPlugins", "vencord_plugins_panel"], - ["VencordThemes", "vencord_themes_panel"], - ["VencordUpdater", "vencord_updater_panel"], - ["VencordCloud", "vencord_cloud_panel"], - ["VencordBackupAndRestore", "vencord_backup_restore_panel"], - ["VencordPatchHelper", "vencord_patch_helper_panel"] - ]; + return settingsSectionMap; }, buildLayout(originalLayoutBuilder: SettingsLayoutBuilder) { diff --git a/src/plugins/decor/index.tsx b/src/plugins/decor/index.tsx index c4888b94..854f9062 100644 --- a/src/plugins/decor/index.tsx +++ b/src/plugins/decor/index.tsx @@ -108,7 +108,7 @@ export default definePlugin({ replace: "$self.useUserDecorAvatarDecoration($2)??$1" }, { - match: /(?<=userValue:)((\i)(?:.{0,10})?\.avatarDecoration)/, + match: /(?<=userValue:)((\i(?:\.author)?)\?\.avatarDecoration)/, replace: "$self.useUserDecorAvatarDecoration($2)??$1" } ] diff --git a/src/plugins/startupTimings/index.tsx b/src/plugins/startupTimings/index.tsx index ede9dcd6..2a8eac3c 100644 --- a/src/plugins/startupTimings/index.tsx +++ b/src/plugins/startupTimings/index.tsx @@ -16,6 +16,8 @@ * along with this program. If not, see . */ +import { ClockIcon } from "@components/Icons"; +import SettingsPlugin from "@plugins/_core/settings"; import { Devs } from "@utils/constants"; import definePlugin from "@utils/types"; @@ -25,18 +27,21 @@ export default definePlugin({ name: "StartupTimings", description: "Adds Startup Timings to the Settings menu", authors: [Devs.Megu], - - patches: [{ - find: ".SEARCH_NO_RESULTS&&0===", - replacement: [ - { - match: /(?<=}\)([,;])(\i\.settings)\.forEach.+?(\i)\.push.+\)\)\}\))(?=\)\})/, - replace: (_, commaOrSemi, settings, elements) => "" + - `${commaOrSemi}${settings}?.[0]==="EXPERIMENTS"` + - `&&${elements}.push({section:"StartupTimings",label:"Startup Timings",element:$self.StartupTimingPage})`, - }, - ] - }], - - StartupTimingPage + start() { + SettingsPlugin.customEntries.push({ + key: "vencord_startup_timings", + title: "Startup Timings", + Component: StartupTimingPage, + Icon: ClockIcon + }); + SettingsPlugin.settingsSectionMap.push(["VencordStartupTimings", "vencord_startup_timings"]); + }, + stop() { + function removeFromArray(arr: T[], predicate: (e: T) => boolean) { + const idx = arr.findIndex(predicate); + if (idx !== -1) arr.splice(idx, 1); + } + removeFromArray(SettingsPlugin.customEntries, e => e.key === "vencord_startup_timings"); + removeFromArray(SettingsPlugin.settingsSectionMap, entry => entry[1] === "vencord_startup_timings"); + }, });