Removed unnecessary state variables and connection testing logic from ProvidersPage. Updated the UI to clarify API login and password handling, directing users to the appropriate section for account credentials. This streamlines the component and enhances user experience.
Updated the database migration logic to consolidate provider API sources from both accounts and heuristic methods for BILLmanager URLs. Replaced direct calls to `consolidateProviderApiFromAccounts` with `consolidateAllProviderApiSources` in relevant routes to ensure comprehensive API data handling.
- Renamed project from "React + Vite" to "VPS Tracker" and updated the README to reflect the application's purpose and usage instructions.
- Added detailed Docker setup instructions, including two methods for running the application: using Docker Compose and standalone Docker.
- Implemented static file serving in the server configuration to serve the frontend from the 'dist' directory if it exists, enhancing the application's deployment capabilities.
- Added tab navigation to switch between 'Overview' and 'Health Check' sections.
- Introduced health issues count badge in the 'Health Check' tab.
- Refactored the layout to display account balances and upcoming payment expirations in a structured format.
- Enhanced user interface for better visibility of account statuses and health metrics.
- Renamed and refactored `ledgerBalanceInCurrency` to `ledgerRowsInAccountCurrency` for clarity.
- Introduced `accountHasApiLedgerMismatch` function to streamline balance mismatch checks between API and ledger.
- Updated `computeInventoryHealth` and `getBalanceMismatchAccountIds` to utilize the new mismatch detection logic.
- Enhanced user feedback in `AccountsPage` regarding balance discrepancies and ledger activity.
- Added new backup and restore functionality for JSON and SQLite database formats.
- Implemented notification settings for low balance alerts and sync digests in the settings page.
- Updated database schema to include new columns for balance alert thresholds and notification preferences.
- Refactored synchronization logic to provide detailed summaries and improved error handling.
- Enhanced user interface for managing accounts and settings, including new input fields for balance alerts.
- Improved sync log display to include summary information for better tracking of synchronization results.
- Integrated `noBrowserSuggestProps` across multiple pages to prevent browser autocomplete suggestions on input fields.
- Updated form elements in `AccountsPage`, `BalancePage`, `PaymentsPage`, `ProvidersPage`, `ReportsPage`, `ResourcesPage`, `SettingsPage`, `TariffsPage`, `VpsPage`, and `ProjectSuggestInput` to enhance usability.
- Ensured consistent application of `autoComplete="off"` for select elements to improve form behavior.
- Implemented a new dropdown menu for project suggestions using Tabler styles.
- Added highlighting for matched text in suggestions to improve user experience.
- Refactored input handling to manage open/close state and keyboard navigation.
- Updated CSS for project suggestion panel and scroll behavior.
- Introduced a new `server_projects` table to manage project details.
- Updated the `vps` table to include a foreign key reference to `server_projects`.
- Enhanced the API to support project-related data retrieval and manipulation.
- Implemented project filtering in the Reports and VPS pages.
- Added project selection functionality in the UI for better resource management.
- Improved data seeding and migration scripts to accommodate new project structure.
- Added functionality to send Telegram notifications for upcoming payment expirations and new tariffs.
- Enhanced `runScheduledSync` and `runScheduledSyncTariffs` to trigger notifications based on settings.
- Updated database schema to include Telegram settings and notification preferences.
- Introduced a test endpoint for verifying Telegram notification setup in the settings page.
- Improved user interface in the settings page to manage Telegram bot token and notification preferences.
- Replaced direct filtering of VPS data with a more structured approach using a Map for account-level grouping.
- Enhanced payment and debit calculations to account for both direct and account-level entries.
- Introduced logic to calculate total expenses based on monthly and daily rates when no payments or debits are found.
- Removed unused monthKey import for cleaner code.
- Updated `syncAccount` function to accept options for selective synchronization.
- Modified `syncFromBillmanager` to handle new options for skipping tariff syncs.
- Adjusted `TariffsPage` to utilize the new option for syncing only tariffs.
- Removed unused tariff tracking from `VpsPage` and updated sync message logic accordingly.
- Introduced `runScheduledSyncTariffs` function to handle tariff synchronization independently from VPS and payment sync.
- Updated `syncFromBillmanager` to accept options for skipping tariff and VPS payment syncs.
- Added new database columns for `syncTariffsIntervalMinutes` and `customFields` in settings.
- Enhanced settings page to configure tariff sync interval.
- Implemented bulk update functionality for VPS status and deletion in the VPS management page.
- Updated various components to support new features, including sync log display and improved payment handling.