Enhanced `updateChartWithNormalizedData` to manage low and high hashrate modes with a new state management system. Implemented debounce for mode switching and added hysteresis to prevent rapid transitions. Improved tracking of hashrate spikes for better handling of fluctuations.
- Refactored `normalizeHashrate` function to use a lookup table for unit conversion, enhancing error handling and logging for unrecognized units.
- Updated `ArrowIndicator` class to utilize the new global `normalizeHashrate` function for consistency.
- Enhanced `updateChartWithNormalizedData` with better error handling for 24-hour averages and current hashrate data, including checks for unreasonable values.
- Improved historical data handling with validation and anomaly detection.
- Encapsulated single data point display logic in `useSingleDataPoint` for better error management.
- Refined low hashrate indicator display logic to show only when necessary and updated its appearance based on the current theme.
- Overall improvements enhance robustness, maintainability, and user experience.
Updated `updateUI()` in `main.js` to show last block earnings with a "+" prefix and "SATS" suffix. Modified `dashboard.html` to include a new span element that conditionally displays the earnings or defaults to "+0 SATS".
- Updated `save_graph_state` in `state_manager.py` to include unit preservation for `arrow_history` and `metrics_log`, with improved data size logging and exception handling.
- Modified `notifications.css` for better mobile responsiveness, including a grid layout for `.filter-buttons` and adjusted button sizes.
- Changed value display in `initializeChart` to use 'PH' for petahashes, aligning with new unit standards.
- Ensured consistent unit formatting in `updateChartWithNormalizedData` for the 24-hour average line.
- Enhanced precision in `updateUI` for unpaid earnings display.
- Simplified y-axis label in chart configuration and updated value formatting to reflect new unit standards.
Introduce new theme-specific styles for Bitcoin, including primary color and RGB values. Update DeepSea theme styles and implement a CSS variable for the graph container's shadow. Revise focus styles for theme toggle buttons to align with the new themes.
Implemented CSS rules for Bitcoin and DeepSea themes,
adding distinct box shadows for the graph container based
on the active theme. Retained existing styling for the
theme toggle button in the Bitcoin theme.
Introduce _get_current_time and _parse_timestamp methods
to handle timezone-aware datetime management. Replace
instances of datetime.now() with the new method to ensure
consistent timestamp handling throughout the class.
This commit removes the healthcheck settings for both the Redis service and another service. The removed configurations included parameters for health checks using `redis-cli ping` and `curl`, along with their respective interval, timeout, retries, and start period settings.
Modified healthcheck parameters in docker-compose.yml for
faster response times and removed redis dependency. Adjusted
CSS z-index and transform properties for improved visual
effects in the lightRays animation.
The `memory_dashboard` route and its rendering logic have been completely removed from `App.py`. This includes the collection of memory statistics, error handling, and all associated HTML, CSS, and JavaScript from `memory_dashboard.html`. The removal effectively eliminates the memory monitoring dashboard from the web application. Was not working as intended. But memory management is still full operational.
- Implemented a new `/memory-dashboard` route in `App.py` to display memory usage metrics, including current usage, historical data, and garbage collection stats.
- Updated `docker-compose.yml` to change Redis health check interval from 10s to 1s and added a start period of 3s.
- Created `memory_dashboard.html` with a dashboard layout, styles, and scripts for dynamic memory metrics display and actions.
Introduce memory management configuration in `App.py` with constants for log and history limits, garbage collection intervals, and monitoring settings. Implement adaptive garbage collection, memory leak checking, and metrics recording. Modify `update_metrics_job` for adaptive cleanup and add a memory watchdog. Introduce new API endpoints for memory profiling, history, and forced garbage collection. Update `StateManager` for aggressive data pruning to optimize memory usage.
Introduces a script in `boot.html` to bypass the boot sequence if the user has completed it previously, checking for a valid wallet configuration before redirecting to the dashboard. Additionally, updates the earnings check in `worker_service.py` to handle `None` values more robustly, ensuring a minimum unpaid earnings value of `0.001`.
Updated the star rating display for pool fees in `dashboard.html`. When `metrics.pool_fees_percentage` is between 0.9 and 1.3, the number of stars shown has been increased from one to three, improving the visual representation of the metric.
This commit removes `text-shadow` properties from various CSS classes in `blocks.css`, `boot.css`, `common.css`, `dashboard.css`, `error.css`, `retro-refresh.css`, and `workers.css`, enhancing readability and reducing visual clutter.
In `main.js`, the inline styles for profit value elements are updated to eliminate `text-shadow`, simplifying styling logic.
Additionally, `theme.js` sees the removal of `text-shadow` from headers and interface elements, with adjustments made to box-shadow values for improved visual depth.
These changes reflect a design decision to create a more modern and streamlined interface.
Updated titles in base.html, blocks.html, dashboard.html,
notifications.html, and workers.html to eliminate the
version number "v 0.3", creating a more concise and
uniform appearance across the application.
- Added health check for Redis in `docker-compose.yml`.
- Introduced new environment variables for the dashboard service.
- Updated Redis dependency condition for the dashboard service.
- Modified Dockerfile to use Python 3.9.18 and streamlined directory creation.
- Enhanced `minify.py` with logging and improved error handling.
- Added methods in `OceanData` and `WorkerData` for better data handling.
- Improved error handling and logging in `NotificationService`.
- Refactored `BitcoinProgressBar.js` for better organization and theme support.
- Updated `blocks.js` with new helper functions for block data management.
- Enhanced `dashboard.html` for improved display of network stats.
Updated README.md to include:
- New **Error Handling** section for user-friendly error pages.
- Introduction of the **DeepSea Theme** with immersive effects and a toggle option.
- Added environment variables `NETWORK_FEE` and `TIMEZONE` in `docker-compose.yml`.
- New API endpoints for metrics, timezones, configuration, and health status.
These changes improve user experience, configuration options, and application resilience.
Implemented new CSS styles for the DeepSea theme in `boot.css`, enhancing visual elements like colors, shadows, and animations for various components. Updated `common.css` to include a footer style and a theme loader for improved user experience. Removed inline styles from `base.html` and replaced them with references to the new styles. Added JavaScript to create dynamic underwater effects when the DeepSea theme is active. Updated footer to include a link to Ocean.xyz.
- Changed repository cloning instructions to use `DeepSea-Dashboard`.
- Adjusted the position of the `lowHashrateIndicator` in `main.js` from bottom to top right.
- Added a background color to the indicator for improved visibility.
Added new services: `notification_service.py`, `minify.py`, and `theme-toggle.css`. Renamed `config.json` for clarity and updated `workers.html` to `workers dashboard.html`. Introduced `LICENSE.md` and improved project structure documentation. Adjusted formatting in the "Component Interactions" diagram for consistency.
Added notification_service.py and minify.py for enhanced functionality. Introduced docker-compose.yml for easier orchestration. Updated templates with notifications.html and added theme-toggle.css and notifications.js in static assets. Retained existing styles and functionalities. Moved project_structure.md, added LICENSE.md, and created logs/ directory for runtime logs.
Changed the link to the configuration file in README.md
to point to the new repository for the Deepsea Dashboard.
This reflects the project's renaming and ensures users
access the correct configuration settings.
- Added `z-index` to `body::before` for proper stacking.
- Implemented mobile-specific styles for `#skip-button`.
- Established higher `z-index` for `#config-form` with relative positioning.
- Implement `setupThemeChangeListener` in `main.js` to detect theme changes across tabs, save font configurations, and recreate the chart with appropriate styles for mobile and desktop.
- Introduce new functions in `theme.js` to manage theme preferences on first startup, including setting the DeepSea theme as default and checking for previous app launches.
Updated `theme-toggle.css` with new styles for DeepSea and Bitcoin themes, including a loading screen. Introduced `isApplyingTheme` flag in `main.js` to manage theme application state. Modified `applyDeepSeaTheme` and `toggleTheme` functions in `theme.js` to enhance theme switching experience with dynamic loading messages. Enhanced `base.html` to preload styles and prevent flickering during theme transitions.
Implemented CSS styles and animations for an "Ocean Wave Ripple Effect" and a "Retro Glitch Effect" in the new "DeepSea Theme". Added keyframes, background images, and opacity settings to create underwater light rays and digital noise. Included JavaScript to dynamically generate elements for these effects when the theme is active, enhancing user experience.
Update wallet address and improve user flow
- Changed the `WALLET` environment variable in `docker-compose.yml` to a new Bitcoin address.
- Updated the wallet address in the "Use Defaults" button handler in `boot.html`.
- Modified the logic for user selection of 'N' to display the configuration form directly instead of redirecting to the dashboard.
- Updated fallback messages to reflect the new title "MINING CONTROL SYSTEM".
Added fixed height and flexbox properties to center the Bitcoin logo. Adjusted positioning of the DeepSea ASCII art for perfect centering within the logo area.
Updated the `#bitcoin-logo::before` pseudo-element to change the displayed version text from "DeepSea v.21" to "v.21", simplifying the version information.
- Added base styling for the Bitcoin logo with positioning and font settings.
- Updated logo styling to hide the original and accommodate new height.
- Introduced ASCII art for the Bitcoin logo with enhanced visual effects.
- Added "DeepSea" version info label for better branding visibility.
Updated `theme-toggle.css` for improved mobile styling of the theme toggle button, increasing padding and width. Reorganized CSS variables in `theme.js` for the DeepSea theme to enhance structure and readability. Adjusted color selectors for consistency across elements, including pool hashrate and navigation links, and modified button hover effects to utilize new primary color variables for a cohesive theme.
- Introduced `theme-toggle.css` and `theme.js` to support a new theme toggle feature.
- Updated default configuration to include timezone and network fee.
- Enhanced command line arguments for network fee, timezone, and theme selection.
- Modified `create_config` to handle new configuration values from command line.
- Updated logging to reflect new network fee and timezone settings.
- Changed theme icons in `theme-toggle.css` for desktop and mobile views.
Replaced the `applyDeepSeaTheme` function in `main.js` to apply a cohesive DeepSea theme, including extensive CSS variable definitions for UI elements.
In `theme.js`, updated styles to ensure visibility of pool hashrate text, enhanced button hover effects, and added direct DOM manipulation for consistent styling.
These changes improve the overall visual consistency and user experience of the application.