From 532f5f4a337ececb51c5726e92b19496586a49c2 Mon Sep 17 00:00:00 2001 From: n0mad1k Date: Mon, 6 Apr 2026 08:27:42 -0400 Subject: [PATCH] =?UTF-8?q?Fix=20net=5Falerter:=20don't=20treat=20403=20as?= =?UTF-8?q?=20token=20expiry=20=E2=80=94=20room=20permission=20errors=20we?= =?UTF-8?q?re=20silently=20dropping=20all=20alerts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- net_alerter/net_alerter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net_alerter/net_alerter.py b/net_alerter/net_alerter.py index 5ff1d3b..3c81c07 100644 --- a/net_alerter/net_alerter.py +++ b/net_alerter/net_alerter.py @@ -100,7 +100,7 @@ def send_matrix_alert(msg: str) -> None: print(f"[warn] No MATRIX_ACCESS_TOKEN set, skipping alert", file=sys.stderr) return code = _do_send(MATRIX_ACCESS_TOKEN, msg) - if code in (401, 403): + if code == 401: print("[info] Token expired, refreshing...", file=sys.stderr) new_token = refresh_token() if new_token: @@ -108,6 +108,10 @@ def send_matrix_alert(msg: str) -> None: _do_send(MATRIX_ACCESS_TOKEN, msg) else: print("[error] Could not refresh token, alert dropped", file=sys.stderr) + elif code == 403: + print("[error] Room permission denied (403) — check bot membership in room", file=sys.stderr) + elif code not in (200, 0): + print(f"[error] Matrix send failed with HTTP {code}", file=sys.stderr) def get_local_subnets() -> list[str]: