diff --git a/src/plugins/experiments/hideBugReport.css b/src/plugins/experiments/hideBugReport.css deleted file mode 100644 index ff78555d7..000000000 --- a/src/plugins/experiments/hideBugReport.css +++ /dev/null @@ -1,3 +0,0 @@ -#staff-help-popout-staff-help-bug-reporter { - display: none; -} diff --git a/src/plugins/experiments/index.tsx b/src/plugins/experiments/index.tsx index 835056d3d..760ad2160 100644 --- a/src/plugins/experiments/index.tsx +++ b/src/plugins/experiments/index.tsx @@ -16,33 +16,22 @@ * along with this program. If not, see . */ -import { definePluginSettings } from "@api/Settings"; -import { disableStyle, enableStyle } from "@api/Styles"; +import { BaseText } from "@components/BaseText"; import ErrorBoundary from "@components/ErrorBoundary"; import { ErrorCard } from "@components/ErrorCard"; +import { Flex } from "@components/Flex"; import { Paragraph } from "@components/Paragraph"; import { Devs, IS_MAC } from "@utils/constants"; import { Margins } from "@utils/margins"; -import definePlugin, { OptionType } from "@utils/types"; +import definePlugin from "@utils/types"; import { findByPropsLazy } from "@webpack"; -import { ExperimentStore, Forms, React } from "@webpack/common"; +import { React } from "@webpack/common"; -import hideBugReport from "./hideBugReport.css?managed"; const KbdStyles = findByPropsLazy("key", "combo"); - const modKey = IS_MAC ? "cmd" : "ctrl"; const altKey = IS_MAC ? "opt" : "alt"; -const settings = definePluginSettings({ - toolbarDevMenu: { - type: OptionType.BOOLEAN, - description: "Change the Help (?) toolbar button (top right in chat) to Discord's developer menu", - default: false, - restartNeeded: true - } -}); - export default definePlugin({ name: "Experiments", description: "Enable Access to Experiments & other dev-only features in Discord!", @@ -55,8 +44,6 @@ export default definePlugin({ Devs.Nuckyz, ], - settings, - patches: [ { find: "Object.defineProperties(this,{isDeveloper", @@ -87,23 +74,6 @@ export default definePlugin({ } ] }, - // Change top right toolbar button from the help one to the dev one - { - find: '?"BACK_FORWARD_NAVIGATION":', - replacement: { - match: /hasBugReporterAccess:(\i)/, - replace: "_hasBugReporterAccess:$1=true" - }, - predicate: () => settings.store.toolbarDevMenu - }, - // Disable opening the bug report menu when clicking the top right toolbar dev button - { - find: 'navId:"staff-help-popout"', - replacement: { - match: /(isShown.+?)onClick:\i/, - replace: (_, rest) => `${rest}onClick:()=>{}` - } - }, // Enable experiment embed on sent experiment links { find: "Clear Treatment ", @@ -127,45 +97,59 @@ export default definePlugin({ replace: "$&if($1==null)return;" } }, - + // Enable playground embed on sent playground links + // dev://playground/mana, dev://playground/payments, dev://playground/virtual-currency, + // dev://playground/nitro, dev://playground/mfa, dev://playground/cms, dev://playground/void + { + find: '"Open Playground', + replacement: { + match: "isStaff()||", + replace: "$& true||" + } + }, + { + // Expands the experiment uri regex to allow negative numbers, e.g. dev://experiment/2026-02-mana-playground-access/-1 + // -1 is "Not Eligible" + find: '"^dev://experiment/', + replacement: { + match: /(?<=dev:\/\/experiment.{0,20}?)\[0-9\]\+/, + replace: "[0-9-]+" + } + } ], - start: () => ExperimentStore.getUserExperimentBucket("2026-01-bug-reporter") > 0 && enableStyle(hideBugReport), - stop: () => disableStyle(hideBugReport), - settingsAboutComponent: () => { return ( - - More Information - - You can open Discord's DevTools via {" "} -
- {modKey}{" "} - {altKey}{" "} - O{" "} -
-
-
+ + Tip: You can open Discord's DevTools via {" "} +
+ {modKey}{" "} + {altKey}{" "} + O{" "} +
+
); }, WarningCard: ErrorBoundary.wrap(() => ( - Hold on!! + + Hold on!! - - Experiments are unreleased Discord features. They might not work, or even break your client or get your account disabled. - + + Experiments are unreleased Discord features. They might not work, or even break your client or get your account disabled. + - - Only use experiments if you know what you're doing. Vencord is not responsible for any damage caused by enabling experiments. + + Only use experiments if you know what you're doing. Vencord is not responsible for any damage caused by enabling experiments. - If you don't know what an experiment does, ignore it. Do not ask us what experiments do either, we probably don't know. - + If you don't know what an experiment does, ignore it. Do not ask us what experiments do either, we probably don't know. + - - No, you cannot use server-side features like checking the "Send to Client" box. - + + You cannot use server-side features like checking the "Send to Client" box. + + ), { noop: true }) });