Commit Graph

34 Commits

Author SHA1 Message Date
DJObleezy
9337dd49d3 Add read_only parameter to notification clearing API
Updated the `api_clear_notifications` function to include a `read_only` parameter, allowing conditional clearing of notifications based on their read status.

Modified the filtering logic in the `NotificationService` to retain notifications that match the specified category, are newer than a cutoff date, or are unread when `read_only` is true. This enhances the granularity of the notification clearing process.
2025-04-27 16:58:48 -07:00
DJObleezy
a50bd552f7 Add currency support and config management enhancements
This commit introduces significant updates to the application, focusing on currency support and improved configuration management. Key changes include:

- Added a `config_reset` flag in `update_metrics_job` in `App.py` to manage configuration resets.
- Modified `update_config` to handle currency changes and update notifications accordingly.
- Updated `MiningDashboardService` to fetch and include exchange rates and configured currency in metrics.
- Introduced utility functions for currency formatting and symbol retrieval in `notification_service.py`.
- Enhanced UI components in `main.js` and `boot.html` to support currency selection and display.
- Adjusted Docker Compose file to remove hardcoded wallet and power settings for better flexibility.

These changes enhance usability by allowing users to view financial data in their preferred currency and manage configurations more effectively.
2025-04-27 14:43:45 -07:00
DJObleezy
276fe14658 Remove memory dashboard functionality and related files
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.
2025-04-24 16:35:16 -07:00
DJObleezy
2799ff15ea Add memory dashboard and improve Redis health checks
- 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.
2025-04-24 15:57:28 -07:00
DJObleezy
af263b2fe4 Add memory management features and API endpoints
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.
2025-04-24 15:47:51 -07:00
DJObleezy
bdb9552576 Add network fee support to dashboard configuration
Updated the `reset_chart_data` function to include a new `network_fee` parameter in the `MiningDashboardService`. Modified `config.json` to add a default `network_fee` key. Enhanced `load_config` in `config.py` to handle the new parameter. Updated the `MiningDashboardService` constructor and `fetch_metrics` method to utilize the `network_fee` in calculations. Added a new input field for `network_fee` in `boot.html` and updated related JavaScript functions to manage this input. Improved the "Use Defaults" button functionality to reset the `network_fee` to its default value.
2025-04-22 07:43:57 -07:00
DJObleezy
6d07060b7e Add API for resetting chart data and update frontend
Implemented a new API endpoint `/api/reset-chart-data` in `App.py` to clear chart data history and save state to Redis. Updated the `resetDashboardChart` function in `main.js` to make an AJAX call to this endpoint, providing immediate user feedback. Removed previous logic for handling latest metrics to streamline the reset process.
2025-04-18 12:27:20 -07:00
DJObleezy
97fe19d61d Add configurable timezone support throughout the app
Updated the application to use a configurable timezone instead of hardcoding "America/Los_Angeles". This change impacts the dashboard, API endpoints, and worker services. Timezone is now fetched from a configuration file or environment variable, enhancing flexibility in time display. New API endpoints for available timezones and the current configured timezone have been added. The frontend now allows users to select their timezone from a dropdown menu, which is stored in local storage for future use. Timestamps in the UI have been updated to reflect the selected timezone.
2025-04-18 11:08:35 -07:00
DJObleezy
1d84bb08a8
Add files via upload 2025-04-16 23:23:07 -07:00
DJObleezy
4e7aace5d8 Refactor data retrieval to use web scraping
This commit removes the `OceanAPIClient` and introduces the `OceanScraper` for data retrieval in the mining dashboard application. Key changes include:
- Updated `App.py` to import `OceanScraper`.
- Enhanced `data_service.py` to reflect the transition to web scraping, including updates to the `MiningDashboardService` class.
- Improved methods for fetching metrics and worker data with better error handling and logging.
- Preserved the original web scraping method as a fallback.
- Removed the `ocean_api_client.py` file
- Added a new `ocean_scraper.py` file with comprehensive scraping functionality.
2025-04-16 22:05:12 -07:00
DJObleezy
60376e7395 Integrate Ocean API for enhanced metrics and worker data
Added `OceanAPIClient` to facilitate API interactions in `App.py`.
Modified `update_metrics_job` to include API status checks and fetch metrics.
Introduced `/api/check-api` endpoint for Ocean API health checks.
Updated `MiningDashboardService` to initialize the API client and fetch data directly from the Ocean API, with fallbacks to web scraping.
Refactored data retrieval methods to prioritize API calls and added error handling.
Enhanced logging for API interactions and created a new module `ocean_api_client.py` for encapsulating API logic.
Implemented retry mechanisms for API requests and updated data processing to align with the new API response structure.
2025-04-16 20:37:35 -07:00
DJObleezy
a4178d0a9b Removed Console 2025-04-12 19:59:57 -07:00
DJObleezy
886e595ef4 Add Bitcoin mining console page and related assets
This commit introduces a new route in `App.py` for a retro-styled console log page that displays real-time Bitcoin mining metrics. It includes a new CSS file, `console.css`, for styling with effects like CRT and text glitch animations. The `console.js` file is added to handle log generation, metrics fetching, and real-time updates. Additionally, a new `console.html` file is created to structure the console page, integrating the necessary styles and scripts.
2025-04-12 13:02:51 -07:00
DJObleezy
d491220a4d
Update App.py 2025-04-10 07:17:10 -07:00
DJObleezy
287b9fde6b
Update App.py 2025-04-09 21:20:07 -07:00
DJObleezy
4be19833d7
Add files via upload 2025-04-09 11:46:24 -07:00
DJObleezy
cc2cd6354f
Delete App.py 2025-04-09 11:43:33 -07:00
DJObleezy
504eb88077
Update App.py 2025-04-02 13:37:05 -07:00
DJObleezy
9988913861
Update App.py 2025-03-30 10:11:24 -07:00
DJObleezy
f812a41bca
Update App.py 2025-03-30 10:10:11 -07:00
DJObleezy
e5fe4974f5
Update App.py 2025-03-29 21:28:10 -07:00
DJObleezy
1a9b09afae
Update App.py 2025-03-28 19:09:59 -07:00
DJObleezy
40371b2f38
Update App.py 2025-03-25 13:31:46 -07:00
DJObleezy
c11f490bd7
Update App.py 2025-03-25 08:02:22 -07:00
DJObleezy
29ecc7732b
Add files via upload
v0.3 Update
2025-03-23 23:39:04 -07:00
DJObleezy
b3afd73509
Delete App.py 2025-03-23 23:37:19 -07:00
DJObleezy
5312b11132
Re-adding files via upload 2025-03-23 13:38:57 -07:00
DJObleezy
6f0875f62d
Delete App.py 2025-03-23 13:31:58 -07:00
DJObleezy
83a42ec8e1
Update App.py 2025-03-22 21:43:31 -07:00
DJObleezy
932f566050
Update App.py 2025-03-22 21:31:55 -07:00
DJObleezy
180be98b1f
Update App.py 2025-03-22 21:04:08 -07:00
DJObleezy
8141986138
Update App.py 2025-03-22 08:34:53 -07:00
DJObleezy
0508e8b444
Update App.py 2025-03-22 08:34:33 -07:00
DJObleezy
3fcbdce9af
Adding project files via Upload 2025-03-21 14:31:18 -07:00