fix(alerts): level OK is a stand-down, not a green alarm
This commit is contained in:
@@ -102,7 +102,10 @@ def _describe(kind: str, d: dict) -> tuple[str, list[str]]: # noqa: C901, PLR09
|
||||
|
||||
def format_alert(payload: dict) -> str:
|
||||
level = str(payload.get("level", "")).upper()
|
||||
resolved = bool(payload.get("resolved"))
|
||||
# level=OK — это тоже «отбой», просто Komodo сообщает его уровнем, а не
|
||||
# флагом. Без этой проверки приходило зелёное сообщение с тревожным
|
||||
# текстом: галочка и «git разошёлся с Komodo» одновременно.
|
||||
resolved = bool(payload.get("resolved")) or level == "OK"
|
||||
data = payload.get("data") or {}
|
||||
kind = str(data.get("type") or "Unknown")
|
||||
inner = data.get("data") or {}
|
||||
@@ -110,9 +113,12 @@ def format_alert(payload: dict) -> str:
|
||||
icon = "✅" if resolved else LEVEL_ICON.get(level, "🔔")
|
||||
title, details = _describe(kind, inner if isinstance(inner, dict) else {})
|
||||
|
||||
lines = [f"{icon} {title}"]
|
||||
if resolved:
|
||||
lines.append("<i>Проблема закрылась.</i>")
|
||||
return "\n".join(
|
||||
[f"{icon} Отбой: {title}", f"<i>Komodo · {html.escape(kind)}</i>"]
|
||||
)
|
||||
|
||||
lines = [f"{icon} {title}"]
|
||||
lines.extend(x for x in details if x)
|
||||
lines.append(f"<i>Komodo · {html.escape(kind)}</i>")
|
||||
return "\n".join(lines)
|
||||
|
||||
Reference in New Issue
Block a user