From 17fd1ec0bde7d50eb3c53a62887ba315f36201cc Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Mon, 13 Oct 2025 00:45:07 +0700 Subject: [PATCH] fix(plugins/settings): correct path for SettingsNavigator patch --- lib/discord/src/modules/settings/renderer.ts | 2 +- src/plugins/start/settings/index.ts | 25 ++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/lib/discord/src/modules/settings/renderer.ts b/lib/discord/src/modules/settings/renderer.ts index b1bf0da..bcb9467 100644 --- a/lib/discord/src/modules/settings/renderer.ts +++ b/lib/discord/src/modules/settings/renderer.ts @@ -16,7 +16,7 @@ const { loose, relative } = withDependencies export type SettingListRenderer = DiscordModules.Modules.Settings.SettingListRenderer -// modules/main_tabs_v2/native/settings/renderer/SettingListRenderer.tsx +// modules/settings/native/renderer/SettingListRenderer.tsx export let SettingListRenderer: SettingListRenderer = proxify( () => { const [module] = lookupModule( diff --git a/src/plugins/start/settings/index.ts b/src/plugins/start/settings/index.ts index f1fbe27..ca11da8 100644 --- a/src/plugins/start/settings/index.ts +++ b/src/plugins/start/settings/index.ts @@ -9,11 +9,14 @@ import { instead } from '@revenge-mod/patcher' import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_' import { PluginFlags } from '@revenge-mod/plugins/constants' import { React } from '@revenge-mod/react' -import { noop } from '@revenge-mod/utils/callback' +import { asap, noop } from '@revenge-mod/utils/callback' import { useReRender } from '@revenge-mod/utils/react' import { useEffect } from 'react' +import { getCurrentStack } from '#utils/src/error' import type { FC } from 'react' +let DEBUG_patchedNavigator = false + const pluginSettings = registerPlugin( { id: 'revenge.settings', @@ -30,10 +33,16 @@ const pluginSettings = registerPlugin( onSettingsModulesLoaded(() => { // @as-require import('./register') + + // Debug warnings + asap(() => { + if (__DEV__ && !DEBUG_patchedNavigator) + DEBUG_warnUnpatchedNavigator() + }) }) waitForModuleWithImportedPath( - 'modules/main_tabs_v2/native/settings/SettingsNavigator.tsx', + 'modules/user_settings/native/core/SettingsNavigator.tsx', exports => { patchSettingsNavigator(exports) }, @@ -82,6 +91,8 @@ function patchSettingsNavigator(exports: any) { unpatchMemo() return el }) + + DEBUG_patchedNavigator = true } let sectionsInst: object | undefined @@ -142,3 +153,13 @@ function patchSettingsOverviewScreen(exports: any) { } export default pluginSettings + +/** + * Warns the developer that SettingsNavigator was not patched. + */ +function DEBUG_warnUnpatchedNavigator() { + nativeLoggingHook( + `\u001b[31mSettingsNavigator was not patched\n${getCurrentStack()}\u001b[0m`, + 2, + ) +}