Fix - Resolve operations energy report miner type unit charts#21
Merged
boris91 merged 3 commits intoFeb 12, 2026
Conversation
…x/resolve-operations-energy-report-miner-type-unit-charts
robdll
approved these changes
Feb 12, 2026
boris91
approved these changes
Feb 12, 2026
Merged
boris91
pushed a commit
that referenced
this pull request
Feb 17, 2026
* chore: initial import (#1) (#3) Co-authored-by: tekwani <tekwani.hemant@gmail.com> * Initial MOS commit + fix + dependencies updates (#2) * chore: initial import (#1) * chore: remove Storybook configuration and files Remove all Storybook-related code including story files, data files, and configuration references. - Delete .storybook directory (main.js, preview.js) - Remove 7 story files (.stories.tsx) - Remove 2 story data files (storiesData.tsx, logsCardStoriesData.tsx) - Clean up ESLint config (remove .storybook/ and stories/ ignores) - Clean up Vitest config (remove .stories.js/.jsx coverage exclusions) * chore: fix npm install deprecation warnings Update dependencies and add overrides to eliminate deprecation warnings during npm install. - Upgrade jsdom from ^26.0.0 to ^28.0.0 (fixes whatwg-encoding deprecation) - Add glob override to ^10.0.0 (fixes glob@7.2.3 deprecation) - Add inflight override to @aashutoshrathi/inflight (fixes inflight memory leak warning) All deprecation warnings are now resolved. * chore: add missing qs dependency Add qs package which is required by src/app/services/api.ts for query string formatting. --------- Co-authored-by: tekwani <tekwani.hemant@gmail.com> Co-authored-by: Arif Dewi <arif@dolasoft.co> * chore(ci): add GitHub Actions CI pipeline (#8) Add comprehensive CI workflow with security checks, linting, type checking, testing, and build verification. Co-authored-by: Arif Dewi <arif@dolasoft.co> * Merge MOS to MOS (#10) * Merge MOS to MOS * chore: remove Storybook story files Re-apply Storybook removal after moria-app-ui sync. - Remove 7 story files (.stories.tsx) - Remove 2 story data files (storiesData.tsx, logsCardStoriesData.tsx) These files were previously removed in b5d0ed7 but came back during the src sync from moria-app-ui. Removing them again to maintain the intentional exclusion of Storybook from this repository. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * comment modal: fix button wrapping when clicked (#11) * Apply timezone handling improvements from fork (#12) - Update getRangeTimestamps to properly handle timezone conversions using fromZonedTime - Add preserveUTC parameter to preserve pre-calculated UTC timestamps - Fix HistoricalAlerts date picker to use currentValue instead of defaultValue - Reorder date range handler to update picker dates before calculating timestamps - Add cleanup logic to prevent stale state updates in useFetchHistoricalLogsPaginatedData - Update timezone integration tests with fromZonedTime mock - Add comprehensive test coverage for timezone-aware date range handling Co-authored-by: Cursor <cursoragent@cursor.com> * Fix: power mode by miner type and mining unit power summary is incorrect in operations reports (#13) * Bugfix/infinite loop (#14) * Fix infinite loop in API calls * Fix dispatching permissions * Fix formatting --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> * Header Stats, Provide Miners Total Amount (#17) * Fix page reload issues by preventing premature redirects during permission loading (#18) Wait for permissions to load before redirecting in GateKeeper, and show loading state in Reports layouts while feature config is being fetched. Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * Bugfix/loops (#20) * Fix TypeScript declaration error in DangerActionButton Add declare keyword to const export in .d.ts file to properly define ambient declaration for Vite compilation. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix persistent loading state in container widget cards - MinersActivityChart: Only show loading skeleton when actively fetching data, not when data is empty after load - ContainerWidgetCard: Set isLoading to false once minerTailLogItem data arrives, preventing infinite loading state This resolves the issue where container cards showed perpetual loading spinners despite no pending API calls. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in PduGrid and improve permission/feature loading states - Fix maximum update depth error in PduGrid by wrapping registerSelectablesContainer in useCallback - Add permission loading check in GateKeeper to prevent premature redirects - Add feature config loading checks in ReportsLayout components to prevent flickering Co-authored-by: Cursor <cursoragent@cursor.com> * Rename JSX files from .js to .jsx extension to fix Vite parse errors Co-authored-by: Cursor <cursoragent@cursor.com> * Rename all chart component .js files to .jsx to fix Vite parse errors Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in TimeframeControls by memoizing weeksCache Co-authored-by: Cursor <cursoragent@cursor.com> * Improve repair history loading state with animated skeleton Co-authored-by: Cursor <cursoragent@cursor.com> * Fix unnecessary loading spinners on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Remove loading spinners from Pool Manager dashboard navigation Co-authored-by: Cursor <cursoragent@cursor.com> * Skip unnecessary alerts query on Pool Manager dashboard to reduce API calls Co-authored-by: Cursor <cursoragent@cursor.com> * Disable polling for alerts query on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Always show Recent Alerts section on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Fix alerts extraction logic on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Show all recent alerts on Pool Manager dashboard, prioritize pool-related ones Co-authored-by: Cursor <cursoragent@cursor.com> * Query critical alerts and extract correct code field on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Fix Pool Manager alerts by requesting serialNum field and filtering critical alerts Co-authored-by: Cursor <cursoragent@cursor.com> * Add console logging to debug Pool Manager alerts Co-authored-by: Cursor <cursoragent@cursor.com> * Show all recent alerts on Pool Manager dashboard sorted by date Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in Miner Explorer by memoizing onFiltersChange Wrap onFiltersChange in useCallback to prevent it from being recreated on every render, which was causing an infinite loop when used as a dependency in MinerExplorer's useEffect. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix miners status chart not loading in demo mode Use fixedDateRange instead of dateRange for miners query to ensure data is fetched from the correct time range where mock data exists. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix miners status chart not loading on miners report page in demo mode Add demo mode check to useMinersStatusChartData to use fixed date range when displaying mock data, similar to the operations dashboard fix. Co-authored-by: Cursor <cursoragent@cursor.com> * Refactor: Use centralized isDemoMode utility instead of inline checks Replace inline environment variable checks with the centralized isDemoMode function from api.utils for better maintainability. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix demo mode for operations and financial reports - Use centralized isDemoMode constant instead of inline env checks - Fix miners status charts on operations dashboard and miners report to use fixed date range in demo mode - Initialize financial reports with fixed date range in demo mode - Hide error messages in demo mode for financial reports (EBITDA, Energy Balance, Subsidy/Fee) - Show clean "No data available" message when mock data is missing * Fix ESLint parsing errors and remove unused import - Update eslint.config.cjs to properly parse TypeScript test files - Add TypeScript parser configuration for test file patterns - Remove unused _isEmpty import from MinersActivityChart - Remove react-gauge-chart.d.ts (moved to root project) Co-authored-by: Cursor <cursoragent@cursor.com> * Add react-gauge-chart type declaration and exclude .d.ts from ESLint Co-authored-by: Cursor <cursoragent@cursor.com> * Remove unused type React import Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * Fix - Resolve operations energy report miner type unit charts (#21) * Fix: energy charts by miner type and mining unit in operations reports * Fix lint * fix: get list things paginated hook doesn't run on query change (#23) * (improvement) Views - Alerts, Current Alerts Critical Load Enhancement Based on Query (#24) * Views - Alets, Current Alerts Critical Load Enhancement Based on Query * Views - Alets, Current Alerts Critical Code Change * docs: update CHANGELOG link to upstream repository Co-authored-by: Cursor <cursoragent@cursor.com> * Cleanup * fix: resolve remaining merge conflict in eslint.config.cjs Co-authored-by: Cursor <cursoragent@cursor.com> * fix: resolve all remaining merge conflicts in eslint.config.cjs - Fixed conflict at line 297 (test file configurations) - Kept develop branch version with separate JS and TS test configs - All conflict markers removed Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Eugene Glova <eugene.glova@gmail.com> Co-authored-by: tekwani <tekwani.hemant@gmail.com> Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Shrutesh Pachineela <sruteshp@gmail.com> Co-authored-by: Roberto Di Lillo <dilillo.roberto@gmail.com> Co-authored-by: Parag More <34959548+paragmore@users.noreply.github.com> Co-authored-by: habrahamyanbf <145970023+habrahamyanbf@users.noreply.github.com>
Retropex
pushed a commit
to Retropex/miningos-app-ui
that referenced
this pull request
Apr 1, 2026
* chore: initial import (tetherto#1) (tetherto#3) Co-authored-by: tekwani <tekwani.hemant@gmail.com> * Initial MOS commit + fix + dependencies updates (tetherto#2) * chore: initial import (tetherto#1) * chore: remove Storybook configuration and files Remove all Storybook-related code including story files, data files, and configuration references. - Delete .storybook directory (main.js, preview.js) - Remove 7 story files (.stories.tsx) - Remove 2 story data files (storiesData.tsx, logsCardStoriesData.tsx) - Clean up ESLint config (remove .storybook/ and stories/ ignores) - Clean up Vitest config (remove .stories.js/.jsx coverage exclusions) * chore: fix npm install deprecation warnings Update dependencies and add overrides to eliminate deprecation warnings during npm install. - Upgrade jsdom from ^26.0.0 to ^28.0.0 (fixes whatwg-encoding deprecation) - Add glob override to ^10.0.0 (fixes glob@7.2.3 deprecation) - Add inflight override to @aashutoshrathi/inflight (fixes inflight memory leak warning) All deprecation warnings are now resolved. * chore: add missing qs dependency Add qs package which is required by src/app/services/api.ts for query string formatting. --------- Co-authored-by: tekwani <tekwani.hemant@gmail.com> Co-authored-by: Arif Dewi <arif@dolasoft.co> * chore(ci): add GitHub Actions CI pipeline (tetherto#8) Add comprehensive CI workflow with security checks, linting, type checking, testing, and build verification. Co-authored-by: Arif Dewi <arif@dolasoft.co> * Merge MOS to MOS (tetherto#10) * Merge MOS to MOS * chore: remove Storybook story files Re-apply Storybook removal after moria-app-ui sync. - Remove 7 story files (.stories.tsx) - Remove 2 story data files (storiesData.tsx, logsCardStoriesData.tsx) These files were previously removed in b5d0ed7 but came back during the src sync from moria-app-ui. Removing them again to maintain the intentional exclusion of Storybook from this repository. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * comment modal: fix button wrapping when clicked (tetherto#11) * Apply timezone handling improvements from fork (tetherto#12) - Update getRangeTimestamps to properly handle timezone conversions using fromZonedTime - Add preserveUTC parameter to preserve pre-calculated UTC timestamps - Fix HistoricalAlerts date picker to use currentValue instead of defaultValue - Reorder date range handler to update picker dates before calculating timestamps - Add cleanup logic to prevent stale state updates in useFetchHistoricalLogsPaginatedData - Update timezone integration tests with fromZonedTime mock - Add comprehensive test coverage for timezone-aware date range handling Co-authored-by: Cursor <cursoragent@cursor.com> * Fix: power mode by miner type and mining unit power summary is incorrect in operations reports (tetherto#13) * Bugfix/infinite loop (tetherto#14) * Fix infinite loop in API calls * Fix dispatching permissions * Fix formatting --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> * Header Stats, Provide Miners Total Amount (tetherto#17) * Fix page reload issues by preventing premature redirects during permission loading (tetherto#18) Wait for permissions to load before redirecting in GateKeeper, and show loading state in Reports layouts while feature config is being fetched. Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * Bugfix/loops (tetherto#20) * Fix TypeScript declaration error in DangerActionButton Add declare keyword to const export in .d.ts file to properly define ambient declaration for Vite compilation. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix persistent loading state in container widget cards - MinersActivityChart: Only show loading skeleton when actively fetching data, not when data is empty after load - ContainerWidgetCard: Set isLoading to false once minerTailLogItem data arrives, preventing infinite loading state This resolves the issue where container cards showed perpetual loading spinners despite no pending API calls. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in PduGrid and improve permission/feature loading states - Fix maximum update depth error in PduGrid by wrapping registerSelectablesContainer in useCallback - Add permission loading check in GateKeeper to prevent premature redirects - Add feature config loading checks in ReportsLayout components to prevent flickering Co-authored-by: Cursor <cursoragent@cursor.com> * Rename JSX files from .js to .jsx extension to fix Vite parse errors Co-authored-by: Cursor <cursoragent@cursor.com> * Rename all chart component .js files to .jsx to fix Vite parse errors Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in TimeframeControls by memoizing weeksCache Co-authored-by: Cursor <cursoragent@cursor.com> * Improve repair history loading state with animated skeleton Co-authored-by: Cursor <cursoragent@cursor.com> * Fix unnecessary loading spinners on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Remove loading spinners from Pool Manager dashboard navigation Co-authored-by: Cursor <cursoragent@cursor.com> * Skip unnecessary alerts query on Pool Manager dashboard to reduce API calls Co-authored-by: Cursor <cursoragent@cursor.com> * Disable polling for alerts query on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Always show Recent Alerts section on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Fix alerts extraction logic on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Show all recent alerts on Pool Manager dashboard, prioritize pool-related ones Co-authored-by: Cursor <cursoragent@cursor.com> * Query critical alerts and extract correct code field on Pool Manager dashboard Co-authored-by: Cursor <cursoragent@cursor.com> * Fix Pool Manager alerts by requesting serialNum field and filtering critical alerts Co-authored-by: Cursor <cursoragent@cursor.com> * Add console logging to debug Pool Manager alerts Co-authored-by: Cursor <cursoragent@cursor.com> * Show all recent alerts on Pool Manager dashboard sorted by date Co-authored-by: Cursor <cursoragent@cursor.com> * Fix infinite loop in Miner Explorer by memoizing onFiltersChange Wrap onFiltersChange in useCallback to prevent it from being recreated on every render, which was causing an infinite loop when used as a dependency in MinerExplorer's useEffect. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix miners status chart not loading in demo mode Use fixedDateRange instead of dateRange for miners query to ensure data is fetched from the correct time range where mock data exists. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix miners status chart not loading on miners report page in demo mode Add demo mode check to useMinersStatusChartData to use fixed date range when displaying mock data, similar to the operations dashboard fix. Co-authored-by: Cursor <cursoragent@cursor.com> * Refactor: Use centralized isDemoMode utility instead of inline checks Replace inline environment variable checks with the centralized isDemoMode function from api.utils for better maintainability. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix demo mode for operations and financial reports - Use centralized isDemoMode constant instead of inline env checks - Fix miners status charts on operations dashboard and miners report to use fixed date range in demo mode - Initialize financial reports with fixed date range in demo mode - Hide error messages in demo mode for financial reports (EBITDA, Energy Balance, Subsidy/Fee) - Show clean "No data available" message when mock data is missing * Fix ESLint parsing errors and remove unused import - Update eslint.config.cjs to properly parse TypeScript test files - Add TypeScript parser configuration for test file patterns - Remove unused _isEmpty import from MinersActivityChart - Remove react-gauge-chart.d.ts (moved to root project) Co-authored-by: Cursor <cursoragent@cursor.com> * Add react-gauge-chart type declaration and exclude .d.ts from ESLint Co-authored-by: Cursor <cursoragent@cursor.com> * Remove unused type React import Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> * Fix - Resolve operations energy report miner type unit charts (tetherto#21) * Fix: energy charts by miner type and mining unit in operations reports * Fix lint * fix: get list things paginated hook doesn't run on query change (tetherto#23) * (improvement) Views - Alerts, Current Alerts Critical Load Enhancement Based on Query (tetherto#24) * Views - Alets, Current Alerts Critical Load Enhancement Based on Query * Views - Alets, Current Alerts Critical Code Change * docs: update CHANGELOG link to upstream repository Co-authored-by: Cursor <cursoragent@cursor.com> * Cleanup * fix: resolve remaining merge conflict in eslint.config.cjs Co-authored-by: Cursor <cursoragent@cursor.com> * fix: resolve all remaining merge conflicts in eslint.config.cjs - Fixed conflict at line 297 (test file configurations) - Kept develop branch version with separate JS and TS test configs - All conflict markers removed Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Eugene Glova <eugene.glova@gmail.com> Co-authored-by: tekwani <tekwani.hemant@gmail.com> Co-authored-by: Arif Dewi <arif@dolasoft.co> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Shrutesh Pachineela <sruteshp@gmail.com> Co-authored-by: Roberto Di Lillo <dilillo.roberto@gmail.com> Co-authored-by: Parag More <34959548+paragmore@users.noreply.github.com> Co-authored-by: habrahamyanbf <145970023+habrahamyanbf@users.noreply.github.com>
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.
No description provided.