From b4a5ce62e74aafb5eddc2d698aa515e649be5818 Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Tue, 15 Sep 2026 00:35:12 +0530 Subject: [PATCH] fix(discord): scope the event-silence knob warning to its dimension `_warn_liveness_config_disabled` told operators an unusable value turns off "the websocket liveness probe". That is true for the interval, threshold, ack-age and latency knobs, which sit in the probe's startup guard, but `websocket_event_max_silence_seconds` is only checked inside `_read_websocket_health`, so ack-age/latency keep guarding. Say so, or an operator reading the log would believe the whole watchdog is down. --- plugins/platforms/discord/adapter.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/platforms/discord/adapter.py b/plugins/platforms/discord/adapter.py index 34826e0525..9847284a7f 100644 --- a/plugins/platforms/discord/adapter.py +++ b/plugins/platforms/discord/adapter.py @@ -1130,10 +1130,17 @@ class DiscordAdapter(DiscordMediaMixin, BasePlatformAdapter): watchdog off with no log line — indistinguishable from "the watchdog missed it". An explicit ``0`` is an intentional opt-out and stays silent. """ + # This knob gates one dimension inside the health check, not the probe's startup + # guard, so an unusable value leaves ack-age/latency guarding (see _read_websocket_health). + scope = ( + "the event-silence dimension of the websocket liveness probe" + if key == "websocket_event_max_silence_seconds" + else "the websocket liveness probe" + ) logger.warning( "[%s] Discord liveness knob %s=%r is not a usable positive number; " - "the websocket liveness probe is disabled by this value", - self.name, key, raw, + "%s is disabled by this value", + self.name, key, raw, scope, ) def _liveness_knob(self, key: str, default: Any, cast: type, *, env_key: Optional[str] = None):