Was getting this on my 6.11 fork with Discord stable. I checked upstream main and it has the same lookup:
[2026-09-07 03:04:55.892][CONSOLE:WARN] SHC WARN Failed to load ChannelUtils, topics won't be shown.
(betterdiscord://betterdiscord/plugins/ShowHiddenChannels.plugin.js:1036:10)
The plugin still starts normally. It just loses topic display on hidden non-forum channels.
Discord added a GUILD_APP case (type 21) after GROUP_DM, so GROUP_DM:return null!= no longer matches. The renderer is still there: module 353428, export EP, in this Discord chunk.
The old renderTopic filter is identical in upstream and my fork before the fix. This patch is against upstream main:
diff --git a/src/utils/modules.js b/src/utils/modules.js
index c75f08d..4b2a5dc 100644
--- a/src/utils/modules.js
+++ b/src/utils/modules.js
@@ -182,7 +182,14 @@ export function getModules() {
const UserMentions = WebpackModules.getByKeys("handleUserContextMenu");
const ChannelUtils = WebpackModules.getMangled(".SMALLER,className", {
- renderTopic: WebpackModules.Filters.byStrings("GROUP_DM:return null!="),
+ renderTopic: (m) =>
+ typeof m === "function" &&
+ m.length === 2 &&
+ WebpackModules.Filters.byStrings(
+ ".GUILD_TEXT",
+ ".GUILD_VOICE",
+ "guild:",
+ )(m),
});
if (!ChannelUtils?.renderTopic) {
Logger.warn("Failed to load ChannelUtils, topics won't be shown.");
The renderer takes (channel, guild). The length === 2 check avoids picking the title/breadcrumb functions in the same module, which take one props argument.
Tested against the client exports and reloaded my fork: the warning is gone. The existing optional-renderer fallback can stay as it is.
Fork implementation · Raw diff
The linked fork commit also includes my version/changelog and fork-note updates.
Was getting this on my 6.11 fork with Discord stable. I checked upstream
mainand it has the same lookup:The plugin still starts normally. It just loses topic display on hidden non-forum channels.
Discord added a
GUILD_APPcase (type21) afterGROUP_DM, soGROUP_DM:return null!=no longer matches. The renderer is still there: module353428, exportEP, in this Discord chunk.The old
renderTopicfilter is identical in upstream and my fork before the fix. This patch is against upstreammain:The renderer takes
(channel, guild). Thelength === 2check avoids picking the title/breadcrumb functions in the same module, which take one props argument.Tested against the client exports and reloaded my fork: the warning is gone. The existing optional-renderer fallback can stay as it is.
Fork implementation · Raw diff
The linked fork commit also includes my version/changelog and fork-note updates.