Fix net_alerter: don't treat 403 as token expiry — room permission errors were silently dropping all alerts
This commit is contained in:
@@ -100,7 +100,7 @@ def send_matrix_alert(msg: str) -> None:
|
|||||||
print(f"[warn] No MATRIX_ACCESS_TOKEN set, skipping alert", file=sys.stderr)
|
print(f"[warn] No MATRIX_ACCESS_TOKEN set, skipping alert", file=sys.stderr)
|
||||||
return
|
return
|
||||||
code = _do_send(MATRIX_ACCESS_TOKEN, msg)
|
code = _do_send(MATRIX_ACCESS_TOKEN, msg)
|
||||||
if code in (401, 403):
|
if code == 401:
|
||||||
print("[info] Token expired, refreshing...", file=sys.stderr)
|
print("[info] Token expired, refreshing...", file=sys.stderr)
|
||||||
new_token = refresh_token()
|
new_token = refresh_token()
|
||||||
if new_token:
|
if new_token:
|
||||||
@@ -108,6 +108,10 @@ def send_matrix_alert(msg: str) -> None:
|
|||||||
_do_send(MATRIX_ACCESS_TOKEN, msg)
|
_do_send(MATRIX_ACCESS_TOKEN, msg)
|
||||||
else:
|
else:
|
||||||
print("[error] Could not refresh token, alert dropped", file=sys.stderr)
|
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]:
|
def get_local_subnets() -> list[str]:
|
||||||
|
|||||||
Reference in New Issue
Block a user