From 5efd08674b0f129717f3481101fed340e44fe966 Mon Sep 17 00:00:00 2001 From: OpenClaw Bot Date: Sat, 21 Mar 2026 15:27:43 +0100 Subject: [PATCH] fix(diarization-ui): treat stored timestamps as UTC in jobs elapsed counter --- app.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 622adfd..20c6bb2 100644 --- a/app.py +++ b/app.py @@ -728,12 +728,26 @@ def prompt_delete(prompt_id: int): return HTMLResponse("") +def _parse_utcish(ts: Optional[str]) -> Optional[datetime]: + if not ts: + return None + try: + return datetime.fromisoformat(str(ts).replace("Z", "+00:00")).replace(tzinfo=None) + except Exception: + try: + return datetime.fromisoformat(str(ts)) + except Exception: + return None + + def _fmt_elapsed(start_iso: Optional[str], end_iso: Optional[str] = None) -> str: - if not start_iso: + s = _parse_utcish(start_iso) + if not s: return "-" try: - s = datetime.fromisoformat(start_iso) - e = datetime.fromisoformat(end_iso) if end_iso else datetime.now() + e = _parse_utcish(end_iso) if end_iso else datetime.utcnow() + if not e: + e = datetime.utcnow() sec = max(0, int((e - s).total_seconds())) if sec < 60: return f"{sec}s" @@ -834,10 +848,16 @@ def jobs_page(queued: Optional[int] = None):
Live-Update aktiv …
{pre}