From 3ca2f8742d329f190163aadbc4cf416ef9cbf294 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Wed, 13 May 2026 01:08:55 +0700 Subject: [PATCH] fix: support Discord's settings refactor I assume this happened on 330201, but I'm unsure. This also drops support for any older versions that may not have this change. --- lib/discord/src/types/index.ts | 2 +- .../start/developer-kit/definitions/AssetBrowserSetting.tsx | 2 +- .../start/developer-kit/definitions/DTAutoConnectSetting.tsx | 2 +- .../start/developer-kit/definitions/DTConnectSetting.tsx | 2 +- .../start/developer-kit/definitions/DTDisconnectSetting.tsx | 2 +- src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx | 2 +- .../start/developer-kit/definitions/RDTAutoConnectSetting.tsx | 2 +- .../start/developer-kit/definitions/RDTConnectSetting.tsx | 2 +- .../start/developer-kit/definitions/RDTDisconnectSetting.tsx | 2 +- .../start/developer-kit/definitions/RevengeDeveloperSetting.tsx | 2 +- .../developer-kit/definitions/TestErrorBoundarySetting.tsx | 2 +- src/plugins/start/settings/definitions/HermesVersionSetting.tsx | 2 +- src/plugins/start/settings/definitions/LoaderVersionSetting.tsx | 2 +- .../start/settings/definitions/ReactNativeVersionSetting.tsx | 2 +- src/plugins/start/settings/definitions/ReactVersionSetting.tsx | 2 +- src/plugins/start/settings/definitions/ReloadSetting.tsx | 2 +- .../start/settings/definitions/RevengeDiscordSetting.tsx | 2 +- .../start/settings/definitions/RevengeLicenseSetting.tsx | 2 +- .../start/settings/definitions/RevengePluginsSetting.tsx | 2 +- src/plugins/start/settings/definitions/RevengeSetting.tsx | 2 +- .../settings/definitions/RevengeSourceRepositorySetting.tsx | 2 +- .../start/settings/definitions/RevengeVersionSetting.tsx | 2 +- src/plugins/start/settings/plugins.tsx | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/discord/src/types/index.ts b/lib/discord/src/types/index.ts index 0eab270..089c566 100644 --- a/lib/discord/src/types/index.ts +++ b/lib/discord/src/types/index.ts @@ -640,7 +640,7 @@ export namespace DiscordModules { } interface BaseSettingsItem { - title: () => string + useTitle: () => string parent: string | null unsearchable?: boolean variant?: Components.TableRowProps['variant'] diff --git a/src/plugins/start/developer-kit/definitions/AssetBrowserSetting.tsx b/src/plugins/start/developer-kit/definitions/AssetBrowserSetting.tsx index c9b9a7b..75d8b73 100644 --- a/src/plugins/start/developer-kit/definitions/AssetBrowserSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/AssetBrowserSetting.tsx @@ -7,7 +7,7 @@ const AssetBrowserSetting: SettingsItem = { parent: Setting.RevengeDeveloper, type: 'route', IconComponent: () => , - title: () => 'Asset Browser', + useTitle: () => 'Asset Browser', screen: { route: RouteNames[Setting.AssetBrowser], getComponent: () => AssetBrowserSettingScreen.default, diff --git a/src/plugins/start/developer-kit/definitions/DTAutoConnectSetting.tsx b/src/plugins/start/developer-kit/definitions/DTAutoConnectSetting.tsx index 61eb66d..b8a0008 100644 --- a/src/plugins/start/developer-kit/definitions/DTAutoConnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/DTAutoConnectSetting.tsx @@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const DTAutoConnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , - title: () => 'Auto-connect to DevTools', + useTitle: () => 'Auto-connect to DevTools', useDescription: () => 'Automatically connect to DevTools during startup.', useValue: () => api.storage.use(s => s.devTools?.autoConnect !== undefined)!.devTools diff --git a/src/plugins/start/developer-kit/definitions/DTConnectSetting.tsx b/src/plugins/start/developer-kit/definitions/DTConnectSetting.tsx index 9f87154..f3b9f38 100644 --- a/src/plugins/start/developer-kit/definitions/DTConnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/DTConnectSetting.tsx @@ -7,7 +7,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const DTConnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , - title: () => 'Connect to DevTools', + useTitle: () => 'Connect to DevTools', useDescription: () => `Version: ${DevToolsClient.version}`, usePredicate: () => !useIsConnected(), onPress: connect, diff --git a/src/plugins/start/developer-kit/definitions/DTDisconnectSetting.tsx b/src/plugins/start/developer-kit/definitions/DTDisconnectSetting.tsx index 7e050b0..278000d 100644 --- a/src/plugins/start/developer-kit/definitions/DTDisconnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/DTDisconnectSetting.tsx @@ -7,7 +7,7 @@ const DTDisconnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , variant: 'danger', - title: () => 'Disconnect from DevTools', + useTitle: () => 'Disconnect from DevTools', usePredicate: useIsConnected, onPress: disconnect, type: 'pressable', diff --git a/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx b/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx index fa46a0f..3a1d030 100644 --- a/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx @@ -7,7 +7,7 @@ const EvalJSSetting: SettingsItem = { parent: Setting.RevengeDeveloper, type: 'route', IconComponent: () => , - title: () => 'Evaluate JavaScript', + useTitle: () => 'Evaluate JavaScript', useDescription: () => 'Runs a JavaScript code snippet.', screen: { route: RouteNames[Setting.EvalJS], diff --git a/src/plugins/start/developer-kit/definitions/RDTAutoConnectSetting.tsx b/src/plugins/start/developer-kit/definitions/RDTAutoConnectSetting.tsx index c089ed8..a785d7b 100644 --- a/src/plugins/start/developer-kit/definitions/RDTAutoConnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/RDTAutoConnectSetting.tsx @@ -7,7 +7,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const RDTAutoConnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , - title: () => 'Auto-connect to React DevTools', + useTitle: () => 'Auto-connect to React DevTools', useDescription: () => 'Automatically connect to React DevTools during startup.', usePredicate: () => RDTContext.active, diff --git a/src/plugins/start/developer-kit/definitions/RDTConnectSetting.tsx b/src/plugins/start/developer-kit/definitions/RDTConnectSetting.tsx index 7c0e832..0054970 100644 --- a/src/plugins/start/developer-kit/definitions/RDTConnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/RDTConnectSetting.tsx @@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const RDTConnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , - title: () => 'Connect to React DevTools', + useTitle: () => 'Connect to React DevTools', useDescription: () => `Version: ${globalThis.__REACT_DEVTOOLS__?.version}`, usePredicate: () => !useIsConnected() && RDTContext.active, onPress: connect, diff --git a/src/plugins/start/developer-kit/definitions/RDTDisconnectSetting.tsx b/src/plugins/start/developer-kit/definitions/RDTDisconnectSetting.tsx index 619bf7f..740cbea 100644 --- a/src/plugins/start/developer-kit/definitions/RDTDisconnectSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/RDTDisconnectSetting.tsx @@ -7,7 +7,7 @@ const RDTDisconnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , variant: 'danger', - title: () => 'Disconnect from React DevTools', + useTitle: () => 'Disconnect from React DevTools', usePredicate: useIsConnected, onPress: disconnect, type: 'pressable', diff --git a/src/plugins/start/developer-kit/definitions/RevengeDeveloperSetting.tsx b/src/plugins/start/developer-kit/definitions/RevengeDeveloperSetting.tsx index a9b3ec6..d89f5cb 100644 --- a/src/plugins/start/developer-kit/definitions/RevengeDeveloperSetting.tsx +++ b/src/plugins/start/developer-kit/definitions/RevengeDeveloperSetting.tsx @@ -7,7 +7,7 @@ const RevengeDeveloperSetting: SettingsItem = { parent: null, type: 'route', IconComponent: () => , - title: () => 'Developer', + useTitle: () => 'Developer', screen: { route: RouteNames[Setting.RevengeDeveloper], getComponent: () => RevengeDeveloperSettingScreen.default, diff --git a/src/plugins/start/developer-kit/definitions/TestErrorBoundarySetting.tsx b/src/plugins/start/developer-kit/definitions/TestErrorBoundarySetting.tsx index aeb57e9..85e3bb9 100644 --- a/src/plugins/start/developer-kit/definitions/TestErrorBoundarySetting.tsx +++ b/src/plugins/start/developer-kit/definitions/TestErrorBoundarySetting.tsx @@ -10,7 +10,7 @@ const TestErrorBoundarySetting: SettingsItem = { IconComponent: () => ( ), - title: () => 'Test ErrorBoundary', + useTitle: () => 'Test ErrorBoundary', screen: { route: RouteNames[Setting.TestErrorBoundary], getComponent: () => TestErrorBoundarySettingScreen.default, diff --git a/src/plugins/start/settings/definitions/HermesVersionSetting.tsx b/src/plugins/start/settings/definitions/HermesVersionSetting.tsx index 0dc2b7b..506266d 100644 --- a/src/plugins/start/settings/definitions/HermesVersionSetting.tsx +++ b/src/plugins/start/settings/definitions/HermesVersionSetting.tsx @@ -10,7 +10,7 @@ const HermesVersionSetting: SettingsItem = CopyableSetting( { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Hermes', + useTitle: () => 'Hermes', }, () => `${props['Bytecode Version']} (${props.Build})`, ) diff --git a/src/plugins/start/settings/definitions/LoaderVersionSetting.tsx b/src/plugins/start/settings/definitions/LoaderVersionSetting.tsx index 7f9d23e..cc2bf99 100644 --- a/src/plugins/start/settings/definitions/LoaderVersionSetting.tsx +++ b/src/plugins/start/settings/definitions/LoaderVersionSetting.tsx @@ -10,7 +10,7 @@ const LoaderVersionSetting: SettingsItem = CopyableSetting( { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Loader', + useTitle: () => 'Loader', usePredicate: () => Boolean(bridgeInfo), }, () => `${bridgeInfo!.name} (${bridgeInfo!.version})`, diff --git a/src/plugins/start/settings/definitions/ReactNativeVersionSetting.tsx b/src/plugins/start/settings/definitions/ReactNativeVersionSetting.tsx index 76c01d8..ad5a972 100644 --- a/src/plugins/start/settings/definitions/ReactNativeVersionSetting.tsx +++ b/src/plugins/start/settings/definitions/ReactNativeVersionSetting.tsx @@ -12,7 +12,7 @@ const ReactNativeVersionSetting: SettingsItem = CopyableSetting( { parent: Setting.Revenge, IconComponent: () => , - title: () => 'React Native', + useTitle: () => 'React Native', }, // slice "for RN " off the version string () => ossReleaseVersion.slice(7), diff --git a/src/plugins/start/settings/definitions/ReactVersionSetting.tsx b/src/plugins/start/settings/definitions/ReactVersionSetting.tsx index 9e24b4b..6dd0497 100644 --- a/src/plugins/start/settings/definitions/ReactVersionSetting.tsx +++ b/src/plugins/start/settings/definitions/ReactVersionSetting.tsx @@ -8,7 +8,7 @@ const ReactVersionSetting: SettingsItem = CopyableSetting( { parent: Setting.Revenge, IconComponent: () => , - title: () => 'React', + useTitle: () => 'React', }, () => version, ) diff --git a/src/plugins/start/settings/definitions/ReloadSetting.tsx b/src/plugins/start/settings/definitions/ReloadSetting.tsx index 55a34a7..8447c04 100644 --- a/src/plugins/start/settings/definitions/ReloadSetting.tsx +++ b/src/plugins/start/settings/definitions/ReloadSetting.tsx @@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const ReloadSetting: SettingsItem = { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Reload App', + useTitle: () => 'Reload App', onPress: () => { BundleUpdaterManager.reload() }, diff --git a/src/plugins/start/settings/definitions/RevengeDiscordSetting.tsx b/src/plugins/start/settings/definitions/RevengeDiscordSetting.tsx index 62c5681..6e98f95 100644 --- a/src/plugins/start/settings/definitions/RevengeDiscordSetting.tsx +++ b/src/plugins/start/settings/definitions/RevengeDiscordSetting.tsx @@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const RevengeDiscordSetting: SettingsItem = { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Discord Server', + useTitle: () => 'Discord Server', useDescription: () => __BUILD_DISCORD_SERVER_URL__, onPress: () => { Linking.openURL(__BUILD_DISCORD_SERVER_URL__) diff --git a/src/plugins/start/settings/definitions/RevengeLicenseSetting.tsx b/src/plugins/start/settings/definitions/RevengeLicenseSetting.tsx index ad535b1..b0ff632 100644 --- a/src/plugins/start/settings/definitions/RevengeLicenseSetting.tsx +++ b/src/plugins/start/settings/definitions/RevengeLicenseSetting.tsx @@ -10,7 +10,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const RevengeLicenseSetting: SettingsItem = { parent: Setting.Revenge, IconComponent: () => , - title: () => 'License', + useTitle: () => 'License', onPress: () => { AlertActionCreators.openAlert('revenge-license', ) }, diff --git a/src/plugins/start/settings/definitions/RevengePluginsSetting.tsx b/src/plugins/start/settings/definitions/RevengePluginsSetting.tsx index 0f14b38..96576ae 100644 --- a/src/plugins/start/settings/definitions/RevengePluginsSetting.tsx +++ b/src/plugins/start/settings/definitions/RevengePluginsSetting.tsx @@ -10,7 +10,7 @@ const RevengePluginsSetting: SettingsItem = { parent: null, type: 'route', IconComponent: () => , - title: () => 'Plugins', + useTitle: () => 'Plugins', useTrailing: () => `${useEnabledPluginCount()} enabled`, screen: { route: RouteNames[Setting.RevengePlugins], diff --git a/src/plugins/start/settings/definitions/RevengeSetting.tsx b/src/plugins/start/settings/definitions/RevengeSetting.tsx index 7e7017d..687ba4f 100644 --- a/src/plugins/start/settings/definitions/RevengeSetting.tsx +++ b/src/plugins/start/settings/definitions/RevengeSetting.tsx @@ -9,7 +9,7 @@ const RevengeSetting: SettingsItem = { parent: null, type: 'route', IconComponent: () => , - title: () => 'Revenge', + useTitle: () => 'Revenge', useTrailing: () => FullVersion, screen: { route: RouteNames[Setting.Revenge], diff --git a/src/plugins/start/settings/definitions/RevengeSourceRepositorySetting.tsx b/src/plugins/start/settings/definitions/RevengeSourceRepositorySetting.tsx index 953c9ee..a65392a 100644 --- a/src/plugins/start/settings/definitions/RevengeSourceRepositorySetting.tsx +++ b/src/plugins/start/settings/definitions/RevengeSourceRepositorySetting.tsx @@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings' const RevengeSourceRepositorySetting: SettingsItem = { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Source Code', + useTitle: () => 'Source Code', useDescription: () => __BUILD_SOURCE_REPOSITORY_URL__, onPress: () => { Linking.openURL(__BUILD_SOURCE_REPOSITORY_URL__) diff --git a/src/plugins/start/settings/definitions/RevengeVersionSetting.tsx b/src/plugins/start/settings/definitions/RevengeVersionSetting.tsx index 3618cdf..e387029 100644 --- a/src/plugins/start/settings/definitions/RevengeVersionSetting.tsx +++ b/src/plugins/start/settings/definitions/RevengeVersionSetting.tsx @@ -9,7 +9,7 @@ const RevengeVersionSetting: SettingsItem = CopyableSetting( { parent: Setting.Revenge, IconComponent: () => , - title: () => 'Revenge', + useTitle: () => 'Revenge', }, () => `${FullVersion} (${BuildEnvironment})`, ) diff --git a/src/plugins/start/settings/plugins.tsx b/src/plugins/start/settings/plugins.tsx index 5b642ae..024c86c 100644 --- a/src/plugins/start/settings/plugins.tsx +++ b/src/plugins/start/settings/plugins.tsx @@ -52,7 +52,7 @@ pEmitter.on('started', plugin => { IconComponent: plugin.manifest.icon ? () => : undefined, - title: () => plugin.manifest.name, + useTitle: () => plugin.manifest.name, screen: { route: plugin.manifest.id, getComponent: () => PluginSettings,