Ignore stale broker auth warnings after reconnect

This commit is contained in:
Thigazhezhilan J 2026-04-01 09:30:22 +05:30
parent 001731a3a9
commit c8edbf1a98

View File

@ -887,6 +887,33 @@ def _issue_message(event: str, message: str | None, data: dict | None, meta: dic
return message or _humanize_reason(reason) or "Strategy update available."
def _issue_is_stale_for_current_state(
user_id: str,
status: dict,
event: str,
data: dict | None,
meta: dict | None,
):
cfg = status.get("config") if isinstance(status.get("config"), dict) else {}
mode = str(cfg.get("mode") or "").strip().upper()
if mode != "LIVE":
return False
payload = data if isinstance(data, dict) else {}
extra = meta if isinstance(meta, dict) else {}
reason = payload.get("reason") or extra.get("reason")
reason_key = str(reason or "").strip().lower()
auth_related_issue = event == "BROKER_AUTH_EXPIRED" or (
event == "SIP_NO_FILL" and reason_key == "broker_auth_expired"
) or (event == "EXECUTION_BLOCKED" and reason_key in {"broker_auth_expired", "auth_expired"})
if not auth_related_issue:
return False
broker_state = get_user_broker(user_id) or {}
auth_state = str(broker_state.get("auth_state") or "").strip().upper()
return auth_state == "VALID"
def get_strategy_summary(user_id: str):
run_id = get_active_run_id(user_id)
status = get_strategy_status(user_id)
@ -930,6 +957,7 @@ def get_strategy_summary(user_id: str):
if issue_row:
event, message, data, meta, ts = issue_row
if not _issue_is_stale_for_current_state(user_id, status, event, data, meta):
summary.update(
{
"tone": "error" if event in {"ENGINE_ERROR", "ORDER_REJECTED"} else "warning",