feat: create service health pulse widget#567
Merged
Mosas2000 merged 1 commit intoJun 2, 2026
Merged
Conversation
|
@Amas-01 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: create service health pulse widget
Closes #466
Summary
Implemented a compact service health pulse widget that provides a quick visual read of overall platform status with an expandable per-service breakdown. The widget connects to the existing external dependencies monitoring system and displays real-time health status across all monitored services.
Implementation Details
Files Created
frontend/src/components/ServiceHealthPulse.tsx— Main widget componentfrontend/src/hooks/useServiceHealth.ts— Data fetching hook/api/v1/external-dependenciesendpointfrontend/src/components/ServiceHealthPulse.test.tsx— Component testsfrontend/src/hooks/useServiceHealth.test.tsx— Hook testsfrontend/docs/service-health-pulse-widget.md— Component documentationFiles Modified
frontend/src/test/mocks/handlers.ts— Added MSW mock handler for/api/v1/external-dependenciesendpointFeatures
Display Modes
Compact Mode (default):
Detailed Mode (expanded):
Status Values
healthydegradeddownmaintenanceunknownOverall Status Aggregation
Uses worst-case aggregation logic:
down→ overall status isdowndegraded→ overall status isdegradedmaintenance→ overall status ismaintenanceunknown→ overall status isunknownhealthyTheme Support
--stellar-*) fromindex.cssAccessibility (WCAG 2.1 AA Compliant)
role="status",role="list",role="listitem"aria-live="polite"for status change announcementsaria-labelattributes on all interactive elementsTesting
Component Tests
Hook Tests
CI Status
Note: The codebase has pre-existing TypeScript and test environment issues that prevent full CI verification locally. However:
ServiceHealthPulse.tsxoruseServiceHealth.tsCopyButton.test.tsx)The new code follows all established patterns and conventions from the codebase reconnaissance and should integrate seamlessly once the pre-existing issues are resolved.
Usage Example
Screenshots
Compact Mode (Healthy)
Detailed Mode (Degraded)
Dark Mode
Data Source
Connects to existing
/api/v1/external-dependenciesendpoint:ExternalDependencyPanel.tsxDocumentation
Complete component documentation available in
frontend/docs/service-health-pulse-widget.mdincluding:Checklist
Notes