DashboardContent is a server component that fetches 5 parallel data sources (projects, pipelines, releases, agent jobs, pending approvals). While the layout shell renders immediately, the entire content area is blank until all server fetches resolve, causing a jarring jump as 4 stat cards, the attention banner, and 2 activity cards all pop in at once. There are no skeleton placeholders.
Category: performance File: src/components/dashboard-content.tsx Recommendation: Wrap DashboardContent in a Suspense boundary with a skeleton fallback that renders the 4 stat-card outlines + 2 card outlines in the correct grid layout. The skeleton cards already exist (the ui/skeleton component is in the codebase). This prevents layout shift and gives users immediate visual feedback that content is loading.