From 024ca0cafefbdd20816c87df079db8666b71ef98 Mon Sep 17 00:00:00 2001 From: Abhinav kumar <126642111+Abhinavcode13@users.noreply.github.com> Date: Tue, 27 May 2025 08:20:29 +0530 Subject: [PATCH 1/3] Fix inconsistent servers order --- python/src/autogenstudio/web/routes/tool_servers.py | 3 +++ ui/src/app/servers/page.tsx | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/python/src/autogenstudio/web/routes/tool_servers.py b/python/src/autogenstudio/web/routes/tool_servers.py index 448ed50a1..065718ece 100644 --- a/python/src/autogenstudio/web/routes/tool_servers.py +++ b/python/src/autogenstudio/web/routes/tool_servers.py @@ -12,6 +12,9 @@ @router.get("/") async def list_servers(user_id: str, db=Depends(get_db)) -> Dict: response = db.get(ToolServer, filters={"user_id": user_id}) + if response.status and response.data: + # Sort servers by name + response.data.sort(key=lambda x: x.name or '') return {"status": True, "data": response.data} diff --git a/ui/src/app/servers/page.tsx b/ui/src/app/servers/page.tsx index bf1487a3b..6bd2aade9 100644 --- a/ui/src/app/servers/page.tsx +++ b/ui/src/app/servers/page.tsx @@ -36,10 +36,16 @@ export default function ServersPage() { // Fetch servers const serversResponse = await getServers(); if (serversResponse.success && serversResponse.data) { - setServers(serversResponse.data); + // Sort servers by name + const sortedServers = [...serversResponse.data].sort((a, b) => { + const nameA = a.name || ''; + const nameB = b.name || ''; + return nameA.localeCompare(nameB); + }); + setServers(sortedServers); // Initially expand all servers - const serverNames = serversResponse.data.map((server) => server.name).filter((name): name is string => name !== undefined); + const serverNames = sortedServers.map((server) => server.name).filter((name): name is string => name !== undefined); setExpandedServers(new Set(serverNames)); } else { From 81d7796eeaa1f5d5dc105474ba9c47c30e458658 Mon Sep 17 00:00:00 2001 From: Abhinav kumar <126642111+Abhinavcode13@users.noreply.github.com> Date: Tue, 27 May 2025 21:16:11 +0530 Subject: [PATCH 2/3] fix: remove frontend sorting --- ui/src/app/servers/page.tsx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/ui/src/app/servers/page.tsx b/ui/src/app/servers/page.tsx index 6bd2aade9..bf1487a3b 100644 --- a/ui/src/app/servers/page.tsx +++ b/ui/src/app/servers/page.tsx @@ -36,16 +36,10 @@ export default function ServersPage() { // Fetch servers const serversResponse = await getServers(); if (serversResponse.success && serversResponse.data) { - // Sort servers by name - const sortedServers = [...serversResponse.data].sort((a, b) => { - const nameA = a.name || ''; - const nameB = b.name || ''; - return nameA.localeCompare(nameB); - }); - setServers(sortedServers); + setServers(serversResponse.data); // Initially expand all servers - const serverNames = sortedServers.map((server) => server.name).filter((name): name is string => name !== undefined); + const serverNames = serversResponse.data.map((server) => server.name).filter((name): name is string => name !== undefined); setExpandedServers(new Set(serverNames)); } else { From a14e9a1b6387ce27f8325e22977fba170d2513ec Mon Sep 17 00:00:00 2001 From: Abhinav kumar <126642111+Abhinavcode13@users.noreply.github.com> Date: Wed, 28 May 2025 07:27:15 +0530 Subject: [PATCH 3/3] fix: update server sorting to use component label instead of name --- python/src/autogenstudio/web/routes/tool_servers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/src/autogenstudio/web/routes/tool_servers.py b/python/src/autogenstudio/web/routes/tool_servers.py index 065718ece..c5eaef5d5 100644 --- a/python/src/autogenstudio/web/routes/tool_servers.py +++ b/python/src/autogenstudio/web/routes/tool_servers.py @@ -13,8 +13,8 @@ async def list_servers(user_id: str, db=Depends(get_db)) -> Dict: response = db.get(ToolServer, filters={"user_id": user_id}) if response.status and response.data: - # Sort servers by name - response.data.sort(key=lambda x: x.name or '') + # Sort servers by component label + response.data.sort(key=lambda x: x.component.label or '') return {"status": True, "data": response.data}