From 6136900c4a09e2e00faffbc81a72d64185d3cfe1 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Wed, 17 Sep 2025 09:24:24 -0400 Subject: [PATCH 1/5] Swap DevCompanion Ext --- .vscode/extensions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 9cddd3aa6..bb9e82c58 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,6 +4,6 @@ "EditorConfig.EditorConfig", "GregorBiswanger.json2ts", "stylelint.vscode-stylelint", - "thororen.equicord-companion" + "sadan.vencord-user-companion" ] } \ No newline at end of file From c531700cc81b7ca59f6dd1ad944f7c379342289e Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Wed, 17 Sep 2025 10:37:09 -0400 Subject: [PATCH 2/5] =?UTF-8?q?PNPM=20REPAIR=20=F0=9F=94=A5=20!!!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index cfca43418..3bf1dadba 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "generateTypes": "tspc --emitDeclarationOnly --declaration --outDir packages/vencord-types --allowJs false", "inject": "node scripts/runInstaller.mjs -- --install", "uninject": "node scripts/runInstaller.mjs -- --uninstall", + "repair": "node scripts/runInstaller.mjs -- --repair", "lint": "eslint", "lint-styles": "stylelint \"src/**/*.css\" --ignore-pattern src/userplugins", "lint:fix": "pnpm lint --fix", From a8af0eb6006433e9aab82df20110ad5d1e2bfc8b Mon Sep 17 00:00:00 2001 From: creations Date: Wed, 17 Sep 2025 14:35:39 -0400 Subject: [PATCH 3/5] Add support for showing what plugins come from what sournce (adds a badge on the plugin page), also adds a filter by (#398) --- src/components/settings/AddonCard.tsx | 4 ++- .../settings/tabs/plugins/PluginCard.tsx | 31 +++++++++++++++++++ .../settings/tabs/plugins/index.tsx | 13 ++++++-- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/components/settings/AddonCard.tsx b/src/components/settings/AddonCard.tsx index 6cdbfe8db..42e954c28 100644 --- a/src/components/settings/AddonCard.tsx +++ b/src/components/settings/AddonCard.tsx @@ -35,6 +35,7 @@ interface Props { setEnabled: (enabled: boolean) => void; disabled?: boolean; isNew?: boolean; + sourceBadge?: ReactNode; onMouseEnter?: MouseEventHandler; onMouseLeave?: MouseEventHandler; @@ -43,7 +44,7 @@ interface Props { author?: ReactNode; } -export function AddonCard({ disabled, isNew, name, infoButton, footer, author, enabled, setEnabled, description, onMouseEnter, onMouseLeave }: Props) { +export function AddonCard({ disabled, isNew, sourceBadge, name, infoButton, footer, author, enabled, setEnabled, description, onMouseEnter, onMouseLeave }: Props) { const titleRef = useRef(null); const titleContainerRef = useRef(null); const { truncated, containerRef } = useTruncatedText(description ? description.toString() : ""); @@ -72,6 +73,7 @@ export function AddonCard({ disabled, isNew, name, infoButton, footer, author, e {name} + {sourceBadge} {isNew && } diff --git a/src/components/settings/tabs/plugins/PluginCard.tsx b/src/components/settings/tabs/plugins/PluginCard.tsx index 05567ceab..2aa270fb8 100644 --- a/src/components/settings/tabs/plugins/PluginCard.tsx +++ b/src/components/settings/tabs/plugins/PluginCard.tsx @@ -16,6 +16,8 @@ import { findByPropsLazy } from "@webpack"; import { React, showToast, Toasts } from "@webpack/common"; import { Settings } from "Vencord"; +import { PluginMeta } from "~plugins"; + import { openPluginModal } from "./PluginModal"; const logger = new Logger("PluginCard"); @@ -35,6 +37,8 @@ interface PluginCardProps extends React.HTMLProps { export function PluginCard({ plugin, disabled, onRestartNeeded, onMouseEnter, onMouseLeave, isNew }: PluginCardProps) { const settings = Settings.plugins[plugin.name]; + const pluginMeta = PluginMeta[plugin.name]; + const isEquicordPlugin = pluginMeta?.folderName?.startsWith("src/equicordplugins/") ?? false; const isEnabled = () => isPluginEnabled(plugin.name); @@ -88,9 +92,36 @@ export function PluginCard({ plugin, disabled, onRestartNeeded, onMouseEnter, on settings.enabled = !wasEnabled; } + const sourceBadge = isEquicordPlugin ? ( + Equicord + ) : ( + Vencord + ); + return ( { const { status } = searchValue; const enabled = Vencord.Plugins.isPluginEnabled(plugin.name); + const pluginMeta = PluginMeta[plugin.name]; + const isEquicordPlugin = pluginMeta?.folderName?.startsWith("src/equicordplugins/") ?? false; + if (enabled && status === SearchStatus.DISABLED) return false; if (!enabled && status === SearchStatus.ENABLED) return false; if (status === SearchStatus.NEW && !newPlugins?.includes(plugin.name)) return false; + if (status === SearchStatus.EQUICORD && !isEquicordPlugin) return false; + if (status === SearchStatus.VENCORD && isEquicordPlugin) return false; if (!search.length) return true; return ( @@ -362,7 +369,9 @@ export default function PluginSettings() { { label: "Show All", value: SearchStatus.ALL, default: true }, { label: "Show Enabled", value: SearchStatus.ENABLED }, { label: "Show Disabled", value: SearchStatus.DISABLED }, - { label: "Show New", value: SearchStatus.NEW } + { label: "Show New", value: SearchStatus.NEW }, + { label: "Show Equicord", value: SearchStatus.EQUICORD }, + { label: "Show Vencord", value: SearchStatus.VENCORD } ]} serialize={String} select={onStatusChange} From e2f49274422ac87e572353b14902d9b25ef4ba81 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:16:26 -0400 Subject: [PATCH 4/5] StatusPresets: Canary Fixes --- .../statusPresets/fixActionBar.css | 3 ++ src/equicordplugins/statusPresets/index.tsx | 30 +++++++++---------- 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 src/equicordplugins/statusPresets/fixActionBar.css diff --git a/src/equicordplugins/statusPresets/fixActionBar.css b/src/equicordplugins/statusPresets/fixActionBar.css new file mode 100644 index 000000000..75aa0360a --- /dev/null +++ b/src/equicordplugins/statusPresets/fixActionBar.css @@ -0,0 +1,3 @@ +[class*="outerContainer_"] [class*="container_"] [class*="actionBar_"] { + gap: 0; +} \ No newline at end of file diff --git a/src/equicordplugins/statusPresets/index.tsx b/src/equicordplugins/statusPresets/index.tsx index 26529976b..b10790794 100644 --- a/src/equicordplugins/statusPresets/index.tsx +++ b/src/equicordplugins/statusPresets/index.tsx @@ -28,8 +28,9 @@ import { openModalLazy } from "@utils/modal"; import { useForceUpdater } from "@utils/react"; import definePlugin, { OptionType, StartAt } from "@utils/types"; import { extractAndLoadChunksLazy, findByPropsLazy, findComponentByCodeLazy, findModuleId, wreq } from "@webpack"; -import { Button, Clickable, Menu, Toasts, UserStore, useState } from "@webpack/common"; +import { Clickable, Menu, Toasts, UserStore, useState } from "@webpack/common"; +import managedStyle from "./fixActionBar.css?managed"; const settings = definePluginSettings({ StatusPresets: { @@ -62,7 +63,7 @@ const EmojiComponent = findComponentByCodeLazy(/\.translateSurrogatesToInlineEmo const CustomStatusSettings = getUserSettingLazy("status", "customStatus")!; const StatusModule = proxyLazy(() => { - const id = findModuleId("this.renderCustomStatusInput()"); + const id = findModuleId(".customStatusInputTitle,"); return wreq(Number(id)); }); @@ -150,12 +151,13 @@ export default definePlugin({ authors: [EquicordDevs.iamme], settings: settings, dependencies: ["UserSettingsAPI"], + managedStyle, patches: [ { - find: "#{intl::CUSTOM_STATUS_SET_CUSTOM_STATUS}", + find: '"CustomStatusModalWithPreview"', replacement: { - match: /cancelButton,(children|text):\i\.\i\.string\(\i\.\i#{intl::CANCEL}\)\}\)/, - replace: "$&,$self.renderRememberButton(this.state)" + match: /(?<=(\i)\.state\).*?)\{text:\i\.\i\.\i\(\i\.\i\.R3BPHx\)/, + replace: "$self.renderRememberButton($1),$&" } }, { @@ -205,21 +207,19 @@ export default definePlugin({ ); }, - renderRememberButton(statue: DiscordStatus) { - return ; + } + }; }, startAt: StartAt.WebpackReady }); From 3371d78e5ab66c3542c5e0faee331945151ff1bf Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:43:11 -0400 Subject: [PATCH 5/5] EquicordHelper: Remove Migration --- src/equicordplugins/equicordHelper/index.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/equicordplugins/equicordHelper/index.tsx b/src/equicordplugins/equicordHelper/index.tsx index 6edc80c39..0d068f6b3 100644 --- a/src/equicordplugins/equicordHelper/index.tsx +++ b/src/equicordplugins/equicordHelper/index.tsx @@ -6,7 +6,7 @@ import "@equicordplugins/_misc/styles.css"; -import { definePluginSettings, Settings } from "@api/Settings"; +import { definePluginSettings } from "@api/Settings"; import { Devs, EquicordDevs } from "@utils/constants"; import { Logger } from "@utils/Logger"; import { isEquicordGuild, isEquicordSupport } from "@utils/misc"; @@ -69,11 +69,6 @@ export default definePlugin({ predicate: () => settings.store.disableDMContextMenu }, ], - start() { - if (Settings.plugins?.PinDMs?.disableCreateDMButton) { - settings.store.disableCreateDMButton = true; - } - }, renderMessageAccessory(props) { return pluginToggleButtons(props); }