diff --git a/frontend/src/components/BackendServers.js b/frontend/src/components/BackendServers.js index c03c136..1fc6501 100644 --- a/frontend/src/components/BackendServers.js +++ b/frontend/src/components/BackendServers.js @@ -1018,7 +1018,20 @@ const BackendServers = () => { title: 'Servers', dataIndex: 'servers', key: 'servers', - render: (servers) => { + render: (servers = []) => { + // CRITICAL FIX: Handle null/undefined servers array for backends without servers + if (!servers || !Array.isArray(servers)) { + return ( + + 0 + /0 + active + + ⚠️ Empty + + + ); + } const activeServers = servers.filter(s => s.is_active).length; const totalServers = servers.length; return ( @@ -1250,13 +1263,15 @@ const BackendServers = () => { ]; const renderServerList = () => { - const allServers = backends.flatMap(backend => - backend.servers.map(server => ({ + // CRITICAL FIX: Handle null/undefined servers array for backends without servers + const allServers = backends.flatMap(backend => { + const servers = backend.servers || []; + return servers.map(server => ({ ...server, backend_name: backend.name, backend_id: backend.id - })) - ); + })); + }); return ( { rowKey="id" loading={loading} expandable={{ - expandedRowRender: record => ( -
- Servers in {record.name}: - {record.servers.length > 0 ? ( -
( - - -
( + + - - )} - - ), + handleDeleteServer(server.id)} + okText="Yes" + cancelText="No" + > + + + + )} + + ); + }, }} pagination={{ showSizeChanger: true,