Feat/centralized polling and style isolation#214
Open
caxtonacollins wants to merge 6 commits into
Open
Conversation
…nancial tickers - Create PollManager singleton to manage shared polling loop - Prevents multiple independent polling connections causing browser thread locking - Uses RAF-based polling instead of setInterval for better performance - Supports multiple subscribers with independent intervals - Reduces memory footprint and improves responsiveness
… polling - Hook to subscribe to centralized polling for financial tickers - Replaces independent polling connections with shared event pipeline - Provides data and polling status to components - Automatically unsubscribes on unmount
… styling - Centralize dynamic style updates using class markers and dataset tags - Replaces inline style manipulation with standardized class variants - Provides trend indicator, connection status, and loading state variants - Reduces CSS optimization passes in browser rendering engine - Improves performance by using class-based styling
…variants - Replace inline style manipulation with styleVariants utility - Use getTrendClasses for dynamic trend indicator styling - Add data attributes for CSS-based styling (data-trend-direction, data-connection-status) - Improves performance by reducing inline style recalculations - Maintains visual consistency with centralized style definitions
…vePrices component - Integrate centralized polling via useCentralizedPoll hook - Replace independent WebSocket connections with shared event pipeline - Use style variants for trend indicators - Add data attributes for CSS-based styling - Improves performance and reduces browser thread locking
…ates - Add trend indicator classes (.trend-indicator--up, .trend-indicator--down) - Add connection status classes (.connection-status--*) - Add loading state classes (.loading-state--*) - Add data attribute selectors for CSS-based styling - Eliminates inline style manipulation and reduces CSS optimization passes
|
@caxtonacollins 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! 🚀 |
Author
|
@Sadeequ please check this out |
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.
Performance Improvements: Centralized Polling & Dynamic Style Isolation
Summary
This PR addresses two critical performance issues in the StellarFlow frontend:
Changes
Issue #151: Shared Poll Controls
New:
PollManagersingleton service (src/app/services/pollManager.ts)New:
useCentralizedPollhook (src/app/hooks/useCentralizedPoll.ts)Updated:
LivePricescomponentIssue #165: Dynamic Style Isolation
New:
styleVariantsutility (src/lib/styleVariants.ts)Updated:
PriceFeedCardcomponentgetTrendClasses()for dynamic stylingdata-trend-direction,data-connection-status)Updated:
globals.cssPerformance Impact
Testing
Closes #151
Closes #165