48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
# MI3 - Latency/Idle/Load Patterns (Skeletons, Progress, Offline Banners)
|
|
|
|
## Module
|
|
Web
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Skeleton loading placeholders with multiple variants, offline banner with retry button and connection status, and offline mode service for detecting/managing connectivity state.
|
|
|
|
## Implementation Details
|
|
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/core/`
|
|
- **Components**:
|
|
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
|
- **Services**:
|
|
- `evidence-panel-metrics` (`src/Web/StellaOps.Web/src/app/core/analytics/evidence-panel-metrics.service.ts`)
|
|
- `gateway-metrics` (`src/Web/StellaOps.Web/src/app/core/api/gateway-metrics.service.ts`)
|
|
- `policy-interop` (`src/Web/StellaOps.Web/src/app/core/api/policy-interop.service.ts`)
|
|
- `reachability-integration` (`src/Web/StellaOps.Web/src/app/core/api/reachability-integration.service.ts`)
|
|
- `vuln-export-orchestrator` (`src/Web/StellaOps.Web/src/app/core/api/vuln-export-orchestrator.service.ts`)
|
|
- `abac` (`src/Web/StellaOps.Web/src/app/core/auth/abac.service.ts`)
|
|
- `auth-storage` (`src/Web/StellaOps.Web/src/app/core/auth/auth-storage.service.ts`)
|
|
- `auth` (`src/Web/StellaOps.Web/src/app/core/auth/auth.service.ts`)
|
|
- `authority-auth` (`src/Web/StellaOps.Web/src/app/core/auth/authority-auth.service.ts`)
|
|
- `dpop` (`src/Web/StellaOps.Web/src/app/core/auth/dpop/dpop.service.ts`)
|
|
- **Models**:
|
|
- `src/Web/StellaOps.Web/src/app/core/api/advisories.models.ts`
|
|
- `src/Web/StellaOps.Web/src/app/core/api/advisory-ai.models.ts`
|
|
- `src/Web/StellaOps.Web/src/app/core/api/ai-runs.models.ts`
|
|
- `src/Web/StellaOps.Web/src/app/core/api/analytics.models.ts`
|
|
- `src/Web/StellaOps.Web/src/app/core/api/aoc.models.ts`
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- **Setup**:
|
|
- [ ] Log in with a user that has appropriate permissions
|
|
- [ ] Navigate to the relevant page/section where this feature appears
|
|
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
|
- **Core verification**:
|
|
- [ ] Verify the component renders correctly with sample data
|
|
- [ ] Verify interactive elements respond to user input
|
|
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
|
- **Edge cases**:
|
|
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
|
- [ ] Verify responsive layout at different viewport sizes
|
|
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|