From aba46958d25f99accf5866e3fab4ce1d53403890 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:31:45 -0400 Subject: [PATCH 1/3] Questify: Try Fixing Slow Patch --- src/equicordplugins/questify/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index ae0fe1cbf..8f34b856e 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -1198,8 +1198,8 @@ export default definePlugin({ // The "Quest Accepted" text is changed to "Resume" if the Quest is in progress but not active. // When the Quest Accepted button which has been enabled again by the above patch is clicked, // resume the automatic completion of the Quest and disable the button again. - match: /(\i.intl.string\(\i.\i#{intl::QUEST_ACCEPTED}\))/, - replace: "$self.getQuestAcceptedButtonText(arguments[0].quest)??$1,onClick:()=>{$self.processQuestForAutoComplete(arguments[0].quest)}" + match: /(\.CLOUD_GAMING_ACTIVITY.{0,500})(\i.\i.\i\(\i.\i#{intl::QUEST_ACCEPTED}\))/, + replace: "$1$self.getQuestAcceptedButtonText(arguments[0].quest)??$2,onClick:()=>{$self.processQuestForAutoComplete(arguments[0].quest)}" } ] }, From 81d8cf6608c02a1662216e5be86ada2ea7f6abf2 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:39:58 -0400 Subject: [PATCH 2/3] BypassPinPrompt: Optimize Patches --- src/equicordplugins/bypassPinPrompt/index.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/equicordplugins/bypassPinPrompt/index.ts b/src/equicordplugins/bypassPinPrompt/index.ts index 952feb032..6966c8fad 100644 --- a/src/equicordplugins/bypassPinPrompt/index.ts +++ b/src/equicordplugins/bypassPinPrompt/index.ts @@ -15,20 +15,20 @@ export default definePlugin({ { find: '"Channel Pins"', replacement: { - match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/, - replace: "$1" + match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/, + replace: "$1:$1" } }, { find: 'source:"message-actions"', replacement: [ { - match: /(?<=(\i\.\i\.pinMessage\(\i,\i\.id\)):)\i\.\i\.confirmPin\(\i,\i\)/, - replace: "$1" + match: /(\i\.\i\.pinMessage\(\i,\i\.id\)):\i\.\i\.confirmPin\(\i,\i\)/, + replace: "$1:$1" }, { - match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/, - replace: "$1" + match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/, + replace: "$1:$1" } ] }, @@ -36,12 +36,12 @@ export default definePlugin({ find: 'id:"pin"', replacement: [ { - match: /(?<=(\i\.\i\.pinMessage\(\i,\i\.id\)):)\i\.\i\.confirmPin\(\i,\i\)/, - replace: "$1" + match: /(\i\.\i\.pinMessage\(\i,\i\.id\)):\i\.\i\.confirmPin\(\i,\i\)/, + replace: "$1:$1" }, { - match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/, - replace: "$1" + match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/, + replace: "$1:$1" } ] }, From ba53c08349c0df24621fa19cb6aa4eecc857ff46 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:34:22 -0400 Subject: [PATCH 3/3] Questify: Fix Slow Patch --- src/equicordplugins/questify/index.tsx | 17 +++++++++++------ src/plugins/arRPC.web/index.tsx | 3 ++- src/plugins/plainFolderIcon/index.ts | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index 8f34b856e..5daf09391 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -828,6 +828,14 @@ function setLastFilterChoices(filters: { group: string; filter: string; }[]): vo settings.store.lastQuestPageFilters = JSON.parse(JSON.stringify(filters)).reduce((acc, item) => ({ ...acc, [item.filter]: item }), {}); } +function getQuestAcceptedButtonProps(quest: Quest, text: string) { + return { + disabled: shouldDisableQuestAcceptedButton(quest) ?? true, + text: getQuestAcceptedButtonText(quest) ?? text, + onClick: () => { processQuestForAutoComplete(quest); } + }; +} + export default definePlugin({ name: "Questify", description: "Enhance your Quest experience with a suite of features, or disable them entirely if they're not your thing.", @@ -851,6 +859,7 @@ export default definePlugin({ shouldDisableQuestAcceptedButton, processQuestForAutoComplete, getQuestAcceptedButtonText, + getQuestAcceptedButtonProps, getQuestPanelOverride, setLastFilterChoices, getLastFilterChoices, @@ -1191,15 +1200,11 @@ export default definePlugin({ { // The Quest Accepted button is disabled by default. If the user reloads the client, they need a way // to resume the automatic completion, so patch in optionally enabling it if the feature is enabled. - match: /(fullWidth:!0}\)}\):.{0,150}?disabled:)(!0.{0,150}?"horizontal")/, - replace: "$1$self.shouldDisableQuestAcceptedButton(arguments[0].quest)??$2" - }, - { // The "Quest Accepted" text is changed to "Resume" if the Quest is in progress but not active. // When the Quest Accepted button which has been enabled again by the above patch is clicked, // resume the automatic completion of the Quest and disable the button again. - match: /(\.CLOUD_GAMING_ACTIVITY.{0,500})(\i.\i.\i\(\i.\i#{intl::QUEST_ACCEPTED}\))/, - replace: "$1$self.getQuestAcceptedButtonText(arguments[0].quest)??$2,onClick:()=>{$self.processQuestForAutoComplete(arguments[0].quest)}" + match: /(?<=fullWidth:!0}\)}\):.{0,150}?secondary",)disabled:!0,text:(.{0,30}?\["9KoPyM"\]\)),/, + replace: "...$self.getQuestAcceptedButtonProps(arguments[0].quest,$1)," } ] }, diff --git a/src/plugins/arRPC.web/index.tsx b/src/plugins/arRPC.web/index.tsx index 12f66d0c2..2ca78e968 100644 --- a/src/plugins/arRPC.web/index.tsx +++ b/src/plugins/arRPC.web/index.tsx @@ -42,7 +42,8 @@ let ws: WebSocket; if (IS_VESKTOP || IS_EQUIBOP || "legcord" in window) { hideSetting = true; - Settings.plugins.WebRichPresence.enabled = false; + const { WebRichPresence } = Settings.plugins; + if (WebRichPresence) WebRichPresence.enabled = false; } else if ("goofcord" in window) { hideSetting = false; } diff --git a/src/plugins/plainFolderIcon/index.ts b/src/plugins/plainFolderIcon/index.ts index 8eb878962..6b3bc11ed 100644 --- a/src/plugins/plainFolderIcon/index.ts +++ b/src/plugins/plainFolderIcon/index.ts @@ -33,7 +33,7 @@ export default definePlugin({ { // Discord always renders both plain and guild icons folders and uses a css transtion to switch between them match: /(?<=.folderButtonContent]:(!\i))/, - replace: (_, hasFolderButtonContentClass) => `,"vc-plainFolderIcon-plain":${hasFolderButtonContentClass}` + replace: ',"vc-plainFolderIcon-plain":$1' } ]