Problem
AddConnectionDialogContent in apps/mesh/src/web/components/details/virtual-mcp/add-connection-dialog.tsx fetches connections with useConnections({ searchTerm }) which returns at most 100 items (single page from useCollectionList). For orgs with >100 connections:
- The "Connected" tab silently misses connections beyond the first page
groupConnections() grouping may be incomplete if instances of the same app are split across pages
Context
Found during the server-side connection filtering work (#2849). This is a pre-existing issue — useCollectionList only fetches a single page and has no infinite scroll support.
The catalog tab in the same dialog already has infinite scroll via useInfiniteScroll + registryDiscovery.loadMore.
Suggested fix
Quick: exclude VIRTUAL server-side + bump pageSize for this call. Covers most orgs.
Proper: add cursor-based pagination / infinite scroll to useCollectionList (or use MCP client directly with increasing offsets), then wire it up like the catalog tab already does.
Problem
AddConnectionDialogContentinapps/mesh/src/web/components/details/virtual-mcp/add-connection-dialog.tsxfetches connections withuseConnections({ searchTerm })which returns at most 100 items (single page fromuseCollectionList). For orgs with >100 connections:groupConnections()grouping may be incomplete if instances of the same app are split across pagesContext
Found during the server-side connection filtering work (#2849). This is a pre-existing issue —
useCollectionListonly fetches a single page and has no infinite scroll support.The catalog tab in the same dialog already has infinite scroll via
useInfiniteScroll+registryDiscovery.loadMore.Suggested fix
Quick: exclude VIRTUAL server-side + bump
pageSizefor this call. Covers most orgs.Proper: add cursor-based pagination / infinite scroll to
useCollectionList(or use MCP client directly with increasing offsets), then wire it up like the catalog tab already does.