Feature/recent activity timeline#424
Merged
Mosas2000 merged 11 commits intoMay 3, 2026
Merged
Conversation
Agent-Logs-Url: https://github.com/Biokes/Bridge-Watch/sessions/008eb35d-de41-4af4-9679-c5def626117d Co-authored-by: Biokes <[email protected]>
…ests, and search API mock Agent-Logs-Url: https://github.com/Biokes/Bridge-Watch/sessions/008eb35d-de41-4af4-9679-c5def626117d Co-authored-by: Biokes <[email protected]>
…target in test Agent-Logs-Url: https://github.com/Biokes/Bridge-Watch/sessions/008eb35d-de41-4af4-9679-c5def626117d Co-authored-by: Biokes <[email protected]>
[WIP] Add intelligent search autocomplete for assets and pages
[WIP] Add activity feed timeline to display recent events
- Add RecentActivityTimeline component with real-time WebSocket updates - Implement TimelineEventCard with compact and expanded display modes - Create TimelineEventIcon with event type and severity indicators - Build TimelineFilters with comprehensive filtering options - Add useTimelineEvents hook for event management - Define timeline type system with 5 event types (bridge, asset, alert, transaction, health) - Integrate timeline into Dashboard page - Add comprehensive unit tests and Storybook stories - Include detailed documentation and README Features: - Chronological ordering with newest/oldest toggle - Filter by type, severity, status, asset, bridge, and search query - Real-time updates via WebSocket integration - Loading skeletons and empty states - Responsive design for mobile and desktop - Accessible with ARIA labels and keyboard navigation - Connection status indicator - Remove events and clear all functionality Closes StellaBridge#315 Closes StellaBridge#316
…et updates - Implement TimelineEventCard with compact and expanded display modes - Create TimelineEventIcon with event type and severity indicators - Build TimelineFilters with comprehensive filtering options - Add useTimelineEvents hook for event management - Define timeline type system with 5 event types (bridge, asset, alert, transaction, health) - Integrate timeline into Dashboard page - Add comprehensive unit tests and Storybook stories - Include detailed documentation and README Features: - Chronological ordering with newest/oldest toggle - Filter by type, severity, status, asset, bridge, and search query - Real-time updates via WebSocket integration - Loading skeletons and empty states - Responsive design for mobile and desktop - Accessible with ARIA labels and keyboard navigation - Connection status indicator - Remove events and clear all functionality Closes StellaBridge#315 Closes StellaBridge#316
|
@Biokes 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! 🚀 |
Contributor
|
Resolve conflict |
Contributor
Author
|
conflict resolved |
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.
Description
This PR implements a comprehensive Recent Activity Timeline component that displays a chronological view of bridge, asset, and alert activity with real-time WebSocket updates. The timeline provides users with a unified view of all system events, making it easier to monitor and respond to changes across the StellaBridge platform.
The implementation includes filtering capabilities, multiple display modes, and seamless integration with the existing WebSocket infrastructure for live updates.
Type of Change
Related Issue
Closes #315
Closes #316
Changes Made
Frontend Components:
RecentActivityTimelinecomponent with real-time event displayTimelineEventCardwith compact and expanded modesTimelineEventIconwith event type and severity indicatorsTimelineFilterswith comprehensive filtering optionsuseTimelineEventshook for event management and WebSocket integrationType Definitions:
frontend/src/types/timeline.tsIntegration:
Documentation:
frontend/docs/recent-activity-timeline.mdTesting:
RecentActivityTimelinecomponentFeatures Implemented:
Testing
npm run test)Manual test steps:
npm run devMigration Changes
Documentation
docs/file updatedfrontend/docs/recent-activity-timeline.mdwith comprehensive feature documentationfrontend/src/components/timeline/README.mdwith component API referenceREADME.mdupdated (new commands, endpoints, or setup steps).env.exampleupdated (new environment variables)backend/docs/API.mdupdated (new or changed endpoints)Checklist
mainfeat: build recent activity timeline)console.logleft in production code (only in error handlers).envfiles committedCI Status
Screenshots
Timeline Component - Compact Mode
The timeline displays events in a compact, scannable format with event type icons and severity indicators.
Timeline Component - Expanded Mode
Clicking an event expands it to show detailed information including metadata, links, and action buttons.
Timeline Filters
Comprehensive filtering options allow users to narrow down events by type, severity, status, asset, or bridge.
Real-time Updates
The timeline shows a "Live" indicator when connected to WebSocket and automatically displays new events as they occur.
Empty State
When no events match the current filters, a helpful empty state guides users.
Mobile Responsive
The timeline is fully responsive and works seamlessly on mobile devices.
Breaking Changes
None. This is a new feature that doesn't modify existing functionality.
Additional Notes
Design Decisions:
WebSocket Integration: The timeline leverages the existing
useWebSocketStorefor real-time updates, converting WebSocket messages to timeline events on the fly.Performance: Implemented a maximum event limit (default 50, configurable) to prevent memory issues with long-running sessions. Events are efficiently filtered using
useMemoand callbacks are optimized withuseCallback.Accessibility: All interactive elements have proper ARIA labels, the component uses semantic HTML, and keyboard navigation is fully supported.
Extensibility: The type system is designed to easily accommodate new event types in the future. The filter system is modular and can be extended with additional filter criteria.
User Experience:
Future Enhancements (not in this PR):
Testing Notes:
The component includes comprehensive unit tests covering:
Storybook stories demonstrate all component variations and can be viewed with
npm run storybook.Integration Points:
frontend/src/pages/Dashboard.tsx)frontend/src/stores/webSocketStore.ts)frontend/src/types/index.ts)Known Limitations: