From d53083d3cedf00fbcdfe77ab2c99a75a5d3005a7 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Mon, 9 Jun 2025 22:53:46 -0400 Subject: [PATCH 001/845] Make VCSupport Required Unless Dev --- src/equicordplugins/vcSupport/index.ts | 12 +++++++++++- src/plugins/_core/supportHelper.tsx | 13 +++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/equicordplugins/vcSupport/index.ts b/src/equicordplugins/vcSupport/index.ts index cf29afbec..a7c958b05 100644 --- a/src/equicordplugins/vcSupport/index.ts +++ b/src/equicordplugins/vcSupport/index.ts @@ -5,11 +5,21 @@ */ import { EquicordDevs } from "@utils/constants"; +import { isEquicordPluginDev, isPluginDev } from "@utils/misc"; import definePlugin from "@utils/types"; +import { UserStore } from "@webpack/common"; export default definePlugin({ name: "VCSupport", description: "Wumpus Dance + Support Warnings", authors: [EquicordDevs.thororen, EquicordDevs.coolesding], - enabledByDefault: true + required: true, + start() { + const selfId = UserStore.getCurrentUser()?.id; + if (isPluginDev(selfId) || isEquicordPluginDev(selfId)) { + Vencord.Settings.plugins.VCSupport.enabled = false; + } else { + Vencord.Settings.plugins.VCSupport.enabled = true; + } + } }); diff --git a/src/plugins/_core/supportHelper.tsx b/src/plugins/_core/supportHelper.tsx index fa09561b2..c33e0d98b 100644 --- a/src/plugins/_core/supportHelper.tsx +++ b/src/plugins/_core/supportHelper.tsx @@ -22,7 +22,7 @@ import ErrorBoundary from "@components/ErrorBoundary"; import { Flex } from "@components/Flex"; import { Link } from "@components/Link"; import { openUpdaterModal } from "@components/VencordSettings/UpdaterTab"; -import { CONTRIB_ROLE_ID, Devs, DONOR_ROLE_ID, EQUCORD_HELPERS, EQUIBOP_CONTRIB_ROLE_ID, EQUICORD_TEAM, GUILD_ID, SUPPORT_CHANNEL_ID, VC_CONTRIB_ROLE_ID, VC_DONOR_ROLE_ID, VC_GUILD_ID, VC_REGULAR_ROLE_ID, VC_SUPPORT_CHANNEL_ID, VENCORD_CONTRIB_ROLE_ID } from "@utils/constants"; +import { CONTRIB_ROLE_ID, Devs, DONOR_ROLE_ID, EQUCORD_HELPERS, EQUIBOP_CONTRIB_ROLE_ID, EQUICORD_TEAM, GUILD_ID, SUPPORT_CHANNEL_ID, SUPPORT_CHANNEL_IDS, VC_CONTRIB_ROLE_ID, VC_DONOR_ROLE_ID, VC_GUILD_ID, VC_REGULAR_ROLE_ID, VC_SUPPORT_CHANNEL_ID, VENCORD_CONTRIB_ROLE_ID } from "@utils/constants"; import { sendMessage } from "@utils/discord"; import { Logger } from "@utils/Logger"; import { Margins } from "@utils/margins"; @@ -196,13 +196,12 @@ export default definePlugin({ flux: { async CHANNEL_SELECT({ channelId }) { - const isSupportChannel = channelId === SUPPORT_CHANNEL_ID; + const isSupportChannel = SUPPORT_CHANNEL_IDS.includes(channelId); if (!isSupportChannel) return; const selfId = UserStore.getCurrentUser()?.id; if (!selfId || isPluginDev(selfId) || isEquicordPluginDev(selfId)) return; if (channelId === VC_SUPPORT_CHANNEL_ID && Vencord.Plugins.isPluginEnabled("VCSupport") && !clicked) { - clicked = true; return Alerts.show({ title: "You are entering the support channel!", body:
@@ -215,8 +214,14 @@ export default definePlugin({ issue could be caused by Equicord!
, confirmText: "Go to Equicord Support", + onConfirm() { + clicked = true; + VencordNative.native.openExternal("https://discord.gg/5Xh2W87egW"); + }, cancelText: "Okay continue", - onConfirm: () => VencordNative.native.openExternal("https://discord.gg/5Xh2W87egW"), + onCancel() { + clicked = true; + }, }); } From b386e7e7561bad0d2f2c578fed1970ced516474c Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Tue, 10 Jun 2025 14:27:13 -0400 Subject: [PATCH 002/845] Fix BetterBanReasons --- src/equicordplugins/betterBanReasons/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/equicordplugins/betterBanReasons/index.tsx b/src/equicordplugins/betterBanReasons/index.tsx index 3c01939cf..d638c4529 100644 --- a/src/equicordplugins/betterBanReasons/index.tsx +++ b/src/equicordplugins/betterBanReasons/index.tsx @@ -78,11 +78,11 @@ export default definePlugin({ { find: "#{intl::BAN_REASON_OPTION_SPAM_ACCOUNT}", replacement: [{ - match: /\[(\{((name|value):\i\.\i\.string\(\i\.\i\.\i\),?){2}\},?){3}\]/, + match: /\[(\{name:\i\.\i\.\i\(\i\.\i\.\i\),value:(\i\.\i\.\i\(\i\.\i\.\i\)|"other")\},?)+\]/, replace: "$self.getReasons()" }, { - match: /useState\(0\)(?=.{0,100}targetUserId:)/, + match: /useState\(null\)(?=.{0,200}targetUserId:)/, replace: "useState($self.getDefaultState())" }] } From cc548524df55d571e5dd0676e5ac0a364d606fe7 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Tue, 10 Jun 2025 14:31:45 -0400 Subject: [PATCH 003/845] Fix Experiments --- src/plugins/experiments/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/experiments/index.tsx b/src/plugins/experiments/index.tsx index c7acde3c5..be18acfa2 100644 --- a/src/plugins/experiments/index.tsx +++ b/src/plugins/experiments/index.tsx @@ -69,7 +69,7 @@ export default definePlugin({ }, // Change top right chat toolbar button from the help one to the dev one { - find: ".CONTEXTLESS,isActivityPanelMode:", + find: ".GLOBAL_DISCOVERY)?", replacement: { match: /hasBugReporterAccess:(\i)/, replace: "_hasBugReporterAccess:$1=true" From 959622c634efd1c2852a2796cdb6c8aad7ceee27 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:19:41 -0400 Subject: [PATCH 004/845] Add Frame SRC --- src/main/csp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/csp.ts b/src/main/csp.ts index 2faee606e..08a200d6c 100644 --- a/src/main/csp.ts +++ b/src/main/csp.ts @@ -12,7 +12,7 @@ export const ConnectSrc = ["connect-src"]; export const MediaSrc = [...ConnectSrc, "img-src", "media-src"]; export const CssSrc = ["style-src", "font-src"]; export const MediaAndCssSrc = [...MediaSrc, ...CssSrc]; -export const MediaScriptsAndCssSrc = [...MediaAndCssSrc, "script-src", "worker-src"]; +export const MediaScriptsAndCssSrc = [...MediaAndCssSrc, "script-src", "worker-src", "frame-src"]; // Plugins can whitelist their own domains by importing this object in their native.ts // script and just adding to it. But generally, you should just edit this file instead From c540a515f4d8c545b9cb123b14f3fb7244732c0c Mon Sep 17 00:00:00 2001 From: vMohammad <62218284+vMohammad24@users.noreply.github.com> Date: Tue, 10 Jun 2025 23:33:07 +0300 Subject: [PATCH 005/845] tidal embeds plugin (#284) * tidal embeds plugin * Fix Patch * Bleh --------- Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com> --- src/equicordplugins/tidalEmbeds/index.tsx | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/equicordplugins/tidalEmbeds/index.tsx diff --git a/src/equicordplugins/tidalEmbeds/index.tsx b/src/equicordplugins/tidalEmbeds/index.tsx new file mode 100644 index 000000000..9322f74dd --- /dev/null +++ b/src/equicordplugins/tidalEmbeds/index.tsx @@ -0,0 +1,47 @@ +/* + * Vencord, a Discord client mod + * Copyright (c) 2025 Vendicated and contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +import { EquicordDevs } from "@utils/constants"; +import definePlugin from "@utils/types"; + + +export default definePlugin({ + name: "TidalEmbeds", + description: "Embeds TIDAL songs to make them playable in Discord.", + authors: [EquicordDevs.vmohammad], + dependencies: ["MessageUpdaterAPI"], + patches: [ + { + find: "}renderEmbeds(", + replacement: { + match: /(?<=renderEmbeds\(\i\){.+?embeds\.map\(\((\i),\i\)?=>{)/, + replace: '$&if($1?.provider?.name === "TIDAL")return null;' + } + } + ], + + renderMessageAccessory({ message }) { + const tidalEmbed = message.embeds?.find(embed => embed.provider?.name === "TIDAL"); + if (!tidalEmbed) return null; + const songId = tidalEmbed?.url?.split("/").pop().split("?")[0]; + if (!songId) { + console.warn("Tidal embed found without song ID", tidalEmbed); + return null; + } + return ( +
+