@@ -24,35 +24,26 @@ export function AgentsList({ isCreatingAgent = false }: AgentsListProps) {
2424 const { session } = useAuth ( ) ;
2525 const ideMessenger = useContext ( IdeMessengerContext ) ;
2626 const currentOrg = useAppSelector ( selectCurrentOrg ) ;
27- const [ agents , setAgents ] = useState < Agent [ ] > ( [ ] ) ;
28- const [ isLoading , setIsLoading ] = useState ( true ) ;
27+ const [ agents , setAgents ] = useState < Agent [ ] | null > ( null ) ;
2928 const [ error , setError ] = useState < string | null > ( null ) ;
3029
3130 useEffect ( ( ) => {
3231 async function fetchAgents ( ) {
3332 if ( ! session ) {
3433 setAgents ( [ ] ) ;
35- setIsLoading ( false ) ;
3634 return ;
3735 }
3836
3937 try {
40- setIsLoading ( true ) ;
41- // Request agent list from IDE
4238 const organizationId =
4339 currentOrg ?. id !== "personal" ? currentOrg ?. id : undefined ;
4440 const result = await ideMessenger . request ( "listBackgroundAgents" , {
4541 organizationId,
4642 } ) ;
4743
48- // Handle wrapped response format
4944 if ( "status" in result && result . status === "success" ) {
50- if ( Array . isArray ( result . content ) ) {
51- setAgents ( result . content ) ;
52- setError ( null ) ;
53- } else {
54- setAgents ( [ ] ) ;
55- }
45+ setAgents ( Array . isArray ( result . content ) ? result . content : [ ] ) ;
46+ setError ( null ) ;
5647 } else if ( "error" in result ) {
5748 setError ( result . error ) ;
5849 setAgents ( [ ] ) ;
@@ -63,8 +54,6 @@ export function AgentsList({ isCreatingAgent = false }: AgentsListProps) {
6354 console . error ( "Failed to fetch agents:" , err ) ;
6455 setError ( err . message || "Failed to load agents" ) ;
6556 setAgents ( [ ] ) ;
66- } finally {
67- setIsLoading ( false ) ;
6857 }
6958 }
7059
@@ -78,18 +67,18 @@ export function AgentsList({ isCreatingAgent = false }: AgentsListProps) {
7867 return ( ) => clearInterval ( interval ) ;
7968 } , [ session , ideMessenger , currentOrg ] ) ;
8069
81- if ( isLoading ) {
70+ if ( error ) {
8271 return (
83- < div className = "flex items-center justify-center py-8 " >
84- < ArrowPathIcon className = "text-description-muted h-6 w-6 animate-spin" />
72+ < div className = "text-error px-2 py-4 text-sm " >
73+ Error loading agents: { error }
8574 </ div >
8675 ) ;
8776 }
8877
89- if ( error ) {
78+ if ( agents === null ) {
9079 return (
91- < div className = "text-error px-2 py-4 text-sm " >
92- Error loading agents: { error }
80+ < div className = "flex items-center justify-center py-8 " >
81+ < ArrowPathIcon className = "text-description-muted h-6 w-6 animate-spin" />
9382 </ div >
9483 ) ;
9584 }
0 commit comments