v2.7.1
Improvements
-
Improved performance by reducing redundant cache and module processing.
-
Improved Discord compatibility by making module recovery more efficient.
-
Improved voice state handling by standardizing internal state tracking.
-
Reduced the risk of Discord rate limits when loading blocked users across many unread channels by limiting concurrent message requests.
-
Added better logging for Discord changes that may affect guild icon detection.
-
Added a one-time startup check that warns if core hooks fail to initialize, making it easier to notice when Discord has changed something that affects the plugin.
-
Replaced hardcoded numeric channel type checks (forum, thread, stage, voice, DM, group DM) with a single named
CHANNEL_TYPESconstant, so a future Discord enum change only needs to be fixed in one place instead of hunting down scattered magic numbers. No behavior change. -
Added a health check for the voice channel join/leave sound suppression, so the plugin can detect and automatically recover if a future Discord change silently breaks it, matching the coverage already in place for the other voice features.
-
Improved voice sound state tracking to reset cleanly on plugin restart instead of carrying over stale channel data.
Fixes
-
Fixed redundant processing during module refreshes.
-
Fixed inconsistent internal state handling for voice users.
-
Fixed a rare case where the taskbar/system tray badge could stay stuck at zero if Discord's relationship data never resolved.
-
Fixed settings not saving if Discord was closed immediately after toggling an option.
-
Fixed the blocked-message-group patch failing silently instead of logging when it ran out of retry attempts.
-
Fixed the blocked-banner text detector not recognizing singular or gendered phrasing in German, Italian, Dutch, Russian, and French, or count-less phrasing in Japanese, Chinese (Simplified/Traditional), and Korean.
-
Fixed the "user left call" sound still playing when a blocked user moved to a different voice channel instead of disconnecting entirely.
SHA256: 90132C9C3EBD6261C0ACD54DA58FB8543C09D0BD4CF2A91D3B170315BE9B994C