24 Commits

Author SHA1 Message Date
root 944a197fef fix: improve reliability and user experience across components
- Update PBS connectivity check endpoint for better compatibility
- Make alert checking asynchronous to prevent blocking
- Update test expectations for webhook error messages with retry counts
- Enhance alerts handler with better event listeners and error handling
- Improve PBS UI by replacing symbols with clearer text labels

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 18:38:27 +01:00
courtmanr@gmail.com bd9a976100 feat: enhance system reliability with DNS resilience and advanced alerting
- Implement resilient DNS resolution for API calls with fallback mechanisms
- Add compound threshold alert rules with multi-metric evaluation
- Enable immediate alert evaluation when rules are enabled
- Add alert rules file watching for dynamic configuration updates
- Improve alert state management with proper resolution handling
- Include comprehensive testing and documentation for DNS features

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 15:46:04 +01:00
courtmanr@gmail.com 126fc6b75e fix: remove UPDATE_CHANNEL from .env to prevent frontend conflicts
- Removed UPDATE_CHANNEL from main .env file to eliminate conflicts with frontend settings management
- Updated configLoader.js to read UPDATE_CHANNEL from config/.env (where frontend saves settings) instead of main .env
- Now defaults to 'stable' channel when no frontend setting is configured
- Frontend can fully manage update channel preference without .env conflicts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:49:58 +01:00
courtmanr@gmail.com bb4a06d1bb feat: implement sudoless update system with polkit integration
- Add polkit rule for sudoless service management
- Improve update manager with multi-strategy restart approach
- Fix npm dependency conflicts in update process
- Add comprehensive test suite for update system
- Enhance frontend update progress tracking
- Update install script with automatic polkit setup
2025-06-04 15:20:00 +01:00
courtmanr@gmail.com 67d79e20ed feat: consolidate update system and improve version comparison UI
- Consolidate dual update mechanisms to use proven install script
- Fix critical version parameter extraction bug
- Add comprehensive commit differences display with GitHub links
- Improve update UI with expandable details and compact summary
- Remove redundant channel recommendation warnings
- Add proper error handling and cleanup for update process
2025-06-04 14:20:28 +01:00
courtmanr@gmail.com ce9b1bb2e1 feat: improve alert manager functionality and testing 2025-06-04 10:52:10 +01:00
courtmanr@gmail.com f4aaea1f53 fix: enhance webhook timestamp validation and add comprehensive tests
- Add robust timestamp validation with getValidTimestamp() method
- Handle invalid timestamp values gracefully with fallback to current time
- Prevent RangeError when Date constructor receives invalid values
- Add comprehensive AlertManager test suite with 12 test cases
- Test webhook payload structure, timestamp handling, and error scenarios
- Verify Discord/Slack compatibility and email notification fixes
- Increase AlertManager test coverage from 0% to 40.11%

Fixes #114 completely with bulletproof timestamp handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 18:05:26 +01:00
courtmanr@gmail.com cbd6964ac8 fix: improve backup health monitoring and add comprehensive validation
Enhanced backup health status calculations with more accurate age-based
categorization and improved UI filtering. Added comprehensive backup data
validation test suite and ground truth testing framework.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 15:20:59 +01:00
courtmanr@gmail.com 8ff6f8f366 test: significantly improve test coverage and fix Jest configuration
## Test Coverage Achievements
- **apiClients.js**: 100% statement coverage 
- **configLoader.js**: 100% statement coverage 
- **pbsUtils.js**: 100% statement coverage 
- **Overall coverage**: 77.97% (up from 77.83%)
- **All tests passing**: 116/116 

## Key Improvements

### Jest Configuration
- Fix Jest configuration to use V8 coverage provider instead of Babel
- Resolve Babel/Istanbul errors that were preventing tests from running
- Add `testEnvironment: "node"` and `coverageProvider: "v8"` settings

### Test Coverage Enhancements
- **pbsUtils.js**: Export and test `categorizeAndCountTasks` function for complete coverage
- **configLoader.js**: Add test for config directory loading path
- **dataFetcher.js**: Add defensive null checking for API clients and comprehensive test fixes
- **All test files**: Update test expectations to match current application behavior

### Test Reliability
- Fix config tests to match new setup mode behavior instead of error throwing
- Update dataFetcher tests for correct API call sequences and error messages
- Add proper mock data for backup functionality testing
- Resolve test flakiness with proper async handling

### Code Quality
- Add null safety check in dataFetcher for missing API client endpoints
- Export previously internal function for better testability
- Maintain backward compatibility while improving robustness

## Files Changed
- `package.json`: Update Jest configuration
- `server/pbsUtils.js`: Export categorizeAndCountTasks function
- `server/dataFetcher.js`: Add null client validation
- `server/tests/*.test.js`: Comprehensive test updates and additions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 09:49:48 +01:00
courtmanr@gmail.com 8b1051a999 feat: enhance backup management with interactive calendar and improved failure tracking
- Add comprehensive PBS task failure detection and processing
- Implement interactive backup calendar heatmap with detail cards
- Enhance backup filtering with guest type and health status options
- Improve keyboard navigation and search functionality across tabs
- Add backup detail card component for granular backup information
- Update test coverage for enhanced backup data fetching
- Clean up debug logging and improve console output clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 16:23:49 +01:00
courtmanr@gmail.com 3f3afaac5d fix: Resolve test failures and integrate recent UI/backend updates 2025-05-26 22:08:12 +01:00
courtmanr@gmail.com 2609b242af test: improve test coverage for configLoader.js edge cases
- Add tests for placeholder detection with PROXMOX_TOKEN_ID edge cases
- Test scenarios where TOKEN_ID needs to be added to placeholder list
- Improve overall test coverage to ~90%

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 17:43:11 +01:00
courtmanr@gmail.com 6add9ca5f6 refactor: improve PBS integration with enhanced error handling, updated tests, and refined UI components
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 17:23:48 +01:00
courtmanr@gmail.com 298707627e fix: ensure all test adjustments are committed 2025-05-16 23:17:36 +01:00
courtmanr@gmail.com f626915706 refactor(server): Improve error handling in dataFetcher and update tests 2025-05-10 16:04:45 +01:00
courtmanr@gmail.com 9347ffa716 Fix: Correct syntax error and update tests 2025-05-08 16:52:36 +01:00
courtmanr@gmail.com 9042721e1a Update dataFetcher and add pbsUtils tests 2025-05-08 11:55:56 +01:00
courtmanr@gmail.com 5fa4a4e1ad fix: Correct test failures in config and dataFetcher suites 2025-05-06 11:18:26 +01:00
courtmanr@gmail.com abbd7f4fda fix: Correct assertions in config.test.js case 1 2025-04-30 17:19:53 +01:00
courtmanr@gmail.com 37048f36dd fix: Correct function name in config.test.js 2025-04-30 17:18:39 +01:00
courtmanr@gmail.com 3914abbe5b fix: Correct intentionally broken test case 2025-04-30 16:37:36 +01:00
courtmanr@gmail.com 13724459f2 test: Intentionally break config test for CI validation 2025-04-30 16:33:52 +01:00
courtmanr@gmail.com caf9313a0f feat: Sync all local changes including UI and server updates 2025-04-30 16:21:07 +01:00
courtmanr@gmail.com f94c19218e feat: Add test improvements and CI workflow 2025-04-30 16:18:37 +01:00