diff --git a/api/request_diagnostics.py b/api/request_diagnostics.py index 7c1b2536..2199567c 100644 --- a/api/request_diagnostics.py +++ b/api/request_diagnostics.py @@ -184,15 +184,16 @@ class RequestDiagnostics: self._current_stage_started = now def _emit_slow(self, prefix: str, record: dict) -> None: - payload = f"{prefix} {json.dumps(record, sort_keys=True)}" + payload = json.dumps(record, sort_keys=True) + log_msg = f"{prefix} %s" if self._print_fn is not None: try: - self._print_fn(payload) + self._print_fn(log_msg % payload) except Exception: # print_fn is best-effort; never break a request thread. pass else: - self.logger.warning("%s", payload) + self.logger.warning(log_msg, payload) def finish(self) -> None: record = None diff --git a/api/routes.py b/api/routes.py index 73f4a452..3df40cae 100644 --- a/api/routes.py +++ b/api/routes.py @@ -6278,7 +6278,7 @@ def _read_profile_model_config( try: from api.profiles import get_hermes_home_for_profile - _profile_name = str(getattr(session, "profile") or "") + _profile_name = str(session.profile or "") _profile_home = get_hermes_home_for_profile(_profile_name) _profile_cfg_path = os.path.join(str(_profile_home), "config.yaml") if not os.path.isfile(_profile_cfg_path): @@ -13840,7 +13840,7 @@ def handle_post(handler, parsed) -> bool: if _draft_stages[-1][1] - _draft_t0 > 0.2: parts = " ".join( f"{n}={((t - prev[1]) * 1000):.1f}ms" - for (n, t), prev in zip(_draft_stages[1:], _draft_stages[:-1]) + for (n, t), prev in zip(_draft_stages[1:], _draft_stages[:-1], strict=True) ) handler._safe_webui_print( "[SLOW] /api/session/draft total=%.1fms stages: %s" % (