From aa5190155e2c872d2bd954c087aa7d3809ef28f8 Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Mon, 16 Feb 2026 11:22:21 +0200 Subject: [PATCH 1/2] usermanager: Improve help on invalid arguments Signed-off-by: Denys Fedoryshchenko --- scripts/usermanager.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/scripts/usermanager.py b/scripts/usermanager.py index 653c3b7f..094a6cab 100755 --- a/scripts/usermanager.py +++ b/scripts/usermanager.py @@ -298,14 +298,9 @@ def main(): default_paths = "\n".join(f" - {path}" for path in DEFAULT_CONFIG_PATHS) parser = argparse.ArgumentParser( description="KernelCI API user management helper", - usage=( - "usermanager.py [-h] [--config CONFIG] [--api-url API_URL] " - "[--token TOKEN] [--instance INSTANCE] [--token-label TOKEN_LABEL]\n" - " []\n\n" - "Commands:\n" - f"{command_list}" - ), epilog=( + "Commands:\n" + f"{command_list}\n\n" "Examples:\n" " ./scripts/usermanager.py invite --username alice --email " "alice@example.org --return-token\n" From b0562331b5e037c4a2fae10be02956121b38f3a7 Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Mon, 16 Feb 2026 19:02:59 +0200 Subject: [PATCH 2/2] telemetry: copilot suggestion fixes Signed-off-by: Denys Fedoryshchenko --- api/main.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/api/main.py b/api/main.py index 6d23f6b7..dec4f4f3 100644 --- a/api/main.py +++ b/api/main.py @@ -895,7 +895,13 @@ def _build_events_query(query_params: dict) -> tuple: if from_ts: if isinstance(from_ts, str): - from_ts = datetime.fromisoformat(from_ts) + try: + from_ts = datetime.fromisoformat(from_ts) + except ValueError as exc: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Invalid 'from' parameter, must be an ISO 8601 datetime" + ) from exc query_params['timestamp'] = {'$gt': from_ts} if path: query_params['data.path'] = {'$regex': path}