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 })
});