From 050d672836a9756c0f7b33b4a0c7705dda88d91a Mon Sep 17 00:00:00 2001 From: markov Date: Tue, 24 Feb 2026 10:18:15 +0100 Subject: [PATCH] fix: list_messages returns newest N (was returning oldest N) --- src/tracker/api/messages.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tracker/api/messages.py b/src/tracker/api/messages.py index f1c578a..59e2daa 100644 --- a/src/tracker/api/messages.py +++ b/src/tracker/api/messages.py @@ -94,9 +94,12 @@ async def list_messages( if not parent_id and (chat_id or task_id): q = q.where(Message.parent_id.is_(None)) - q = q.order_by(Message.created_at).offset(offset).limit(limit) + # Get newest N messages (DESC), then reverse to chronological order + q = q.order_by(Message.created_at.desc()).offset(offset).limit(limit) result = await db.execute(q) - return [_message_out(m) for m in result.scalars()] + messages = [_message_out(m) for m in result.scalars()] + messages.reverse() + return messages @router.post("/messages", response_model=MessageOut)