Commit Graph

229 Commits

Author SHA1 Message Date
courtmanr@gmail.com db3c40645d fix: resolve undefined property access error in settings modal
- Add safe default structure for configuration properties
- Ensure currentConfig never remains undefined/null
- Always render form even if config loading fails
- Replace unsafe property access with safe variable references
- Prevent "Cannot read properties of undefined (reading 'host')" errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 13:56:49 +01:00
courtmanr@gmail.com d26f4b642f feat: redesign settings as comprehensive modal-based configuration system
- Replace settings tab with settings icon in top-right header
- Implement comprehensive modal interface for ALL .env variables
- Add support for multiple PVE and PBS endpoints with dynamic forms
- Include all service settings (intervals) and alert configuration
- Support both old structured format (setup) and new raw .env format
- Add connection testing and form validation
- Enable complete web-based configuration without SSH access

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 13:49:53 +01:00
courtmanr@gmail.com c2620d8d45 feat: add Settings tab for configuration management
- Add Settings tab to main interface with configuration form
- Create settings.js module for handling configuration updates
- Allow editing Proxmox credentials without SSH access
- Support partial updates (keep existing token secret if not provided)
- Integrate settings module into tab system and initialization
- Update server configApi to handle partial configuration updates

Users can now edit their configuration through the web interface after initial setup.
2025-05-30 12:04:33 +01:00
courtmanr@gmail.com d767f687ca fix: eliminate dashboard initialization error on first load
- Make updateDashboardTable gracefully handle uninitialized elements
- Try to find elements if not already cached
- Silently return instead of logging error during initial page load

This prevents the 'Dashboard table body or status element not found' error when the socket connection updates arrive before DOM is ready.
2025-05-30 11:57:18 +01:00
courtmanr@gmail.com 72547e3179 fix: improve configuration readiness detection in setup flow
- Add system info to health endpoint including configPlaceholder status
- Update setup page to check correct health properties
- Include hasData and clientsInitialized flags for better readiness detection

This ensures the 'Continue to Pulse' button appears when the server is actually ready with data, not just when it times out.
2025-05-30 11:49:11 +01:00
courtmanr@gmail.com bf27ef2a6b feat: improve setup flow with health check and Continue button
- Add health endpoint polling after configuration save
- Show progress messages and loading spinner during initialization
- Display 'Continue to Pulse' button when server is ready
- Add explicit /setup.html route handler
- Improve error handling and logging in configApi
- Prevent form submission on button clicks
- Add percentage progress indicator during setup

This provides better user feedback during the configuration process and ensures users don't navigate to the dashboard before the server is ready.
2025-05-30 11:35:40 +01:00
courtmanr@gmail.com e74f8bf944 fix: initialize PulseApp before using theme on setup page
- Create PulseApp object before loading theme.js
- Add safety check before calling theme.init()
- This fixes "PulseApp is not defined" error on setup page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 11:16:05 +01:00
courtmanr@gmail.com c3276951fb fix: prevent browser autofill issues on setup form
- Add autocomplete="off" to form and text inputs
- Add autocomplete="new-password" to password fields
- Add debug logging to see what's being saved
- This prevents browser from auto-filling URL into token secret field

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 11:14:37 +01:00
courtmanr@gmail.com 07ee4f4183 fix: correct test connection success message
- Make success message text dynamic instead of hardcoded
- Test connection now shows "Connection test successful\!"
- Save configuration still shows "Configuration saved. Redirecting..."
- Prevents confusion when testing connection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 11:01:16 +01:00
courtmanr@gmail.com 97ae118b2c feat: add comprehensive configuration options to setup page
- Add advanced settings section with all .env.example options
- Include metric/discovery intervals configuration
- Add alert system configuration (enabled/thresholds)
- Add PBS node name field (required for non-Sys.Audit tokens)
- Update config API to handle all settings
- Group settings logically in generated .env file
- Load and save all configuration options properly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:53:51 +01:00
courtmanr@gmail.com 1e5451ee67 feat: add web-based configuration interface
- Create configuration setup page at /setup.html for entering Proxmox credentials
- Add configuration API endpoints for save, test, and reload operations
- Implement automatic .env file watching with hot reload on changes
- Add configuration warning banner when placeholder config detected
- Auto-redirect to setup page when configuration is missing
- Add WebSocket notifications for configuration reload events
- Update empty states with configuration required message
- No SSH or manual restarts needed - everything through web UI

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:35:25 +01:00
courtmanr@gmail.com 328e67bc61 feat: add clickable host names in dashboard and PBS views
- Add endpoint configuration sharing between server and client
- Make Proxmox node group headers clickable using API-based mapping
- Make PBS instance names clickable in both desktop and mobile views
- Links open correct cluster endpoints based on node's actual endpointId
- Subtle hover styling without blue underlines for cleaner UI
- All links open in new tabs with security attributes

Resolves issue with users wanting direct access to host web interfaces.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 00:16:08 +01:00
courtmanr@gmail.com 90d6245e1c 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 8de0d4780c feat: add backup calendar heatmap and enhanced backup visualization
- Add comprehensive backup calendar heatmap with monthly view
- Implement interactive calendar filtering linked to backup table
- Add backup summary cards for quick overview statistics
- Enhance backup table with click-to-filter calendar functionality
- Improve PBS and backup data visualization
- Add responsive design for mobile and desktop views
- Include backup type indicators and failure detection
- Persistent filter state across API updates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 00:06:03 +01:00
courtmanr@gmail.com b15651dfd5 Clarify 7-day history column with detailed tooltips and legend
- Add descriptive tooltip to 7-Day History column header
- Enhance individual dot tooltips to show specific backup activity
- Show backup type (PBS/PVE), location, and success/failure details
- Add visual legend below table showing color meanings
- Include date and activity details in each day's tooltip
- Clear distinction between PBS, PVE, and snapshot activity
- Improved user understanding of backup activity timeline
2025-05-28 14:00:52 +01:00
courtmanr@gmail.com b1f2d4ebd7 Enhance backup presentation with separate columns for each backup type
- Replace generic Source/Location columns with specific backup type columns
- Add PBS Backups column with purple indicator and detailed tooltips
- Add PVE Backups column with orange indicator and storage info
- Enhanced Snapshots column with blue indicator and clickable counts
- Clear visual distinction between backup storage locations
- Detailed tooltips show PBS instances, datastores, and storage names
- Improved user experience for mixed backup environments
2025-05-28 13:52:20 +01:00
courtmanr@gmail.com 8936733f44 Fix multiple PBS instances display issue after merge
- Enhanced backup source detection to handle both PBS and PVE backups
- Added support for mixed backup sources (PBS + PVE)
- Improved tooltip information for multiple PBS instances
- Preserves snapshot functionality from the feature branch
2025-05-28 13:37:28 +01:00
courtmanr@gmail.com 49d3856b06 Merge feature/pve-backups-support into main
- Adds PVE backup and snapshot support
- Adds snapshot modal for viewing VM/CT snapshots
- Integrates PVE backup tasks with PBS backup data
- Adds storage backup content fetching
2025-05-28 13:35:47 +01:00
courtmanr@gmail.com dc81e160ee feat: enhance storage tab with node summary cards and improved UX
- Add node storage summary cards with condensed progress bars
- Show all storage per node with usage percentages and status indicators
- Add click-to-sort functionality for usage column
- Simplify content display (remove badges, use plain text)
- Add visual warnings for high usage storage (red/yellow indicators)
- Fix layout consistency with main tab (remove double containers)
- Improve spacing and visual hierarchy

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 13:19:53 +01:00
courtmanr@gmail.com 517949c0a3 feat: add mobile screenshots and enhance screenshot tool
- Add mobile viewport support to screenshot script with iPhone 14 Pro Max dimensions
- Generate mobile screenshots for dashboard, PBS view, and backups view
- Fix chart toggle selector bug (label:has() instead of missing for attribute)
- Reduce screenshot wait times for faster generation
- Update README with new mobile screenshots section
- Refresh all existing desktop screenshots

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 11:06:40 +01:00
courtmanr@gmail.com 7a0e8475fe feat: add PVE backup and snapshot support
- Add support for local PVE backups (vzdump tasks)
- Add support for backup files on PVE storage (including NFS)
- Add VM/CT snapshot display with modal view
- Update backup tab to show both PBS and PVE backups
- Change columns to Source/Location for clarity
- Update diagnostics to handle PVE-only setups

Fixes #81 - PBS token permission warnings for PVE-only users
Fixes #80 - Support for backups on NFS and other PVE storage

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 09:01:24 +01:00
courtmanr@gmail.com 2ec653c384 feat: add remaining updates from development
- Update alert manager functionality
- Update HTML structure and components
- Enhance main.js initialization
- Improve socket handler communication
- Update nodes UI component

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 00:20:31 +01:00
courtmanr@gmail.com 7df6c3cb3b fix: improve table row styling consistency
- Remove different color styling for stopped guests in dashboard
- Fix hover highlighting on sticky name columns across all tables
- Standardize hover colors to bg-gray-50/bg-gray-700 for consistency
- Update backups, storage, and PBS tables to match dashboard styling

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 00:20:01 +01:00
courtmanr@gmail.com af6637402f feat: add responsive table optimizations for narrow screens
• Add dynamic column width calculations based on content length
• Implement sticky first columns for all tables (Name/Storage columns)
• Add mobile scroll indicators with auto-hide functionality
• Include CSS variables for responsive column widths
• Apply optimizations to PBS, Backups, and Storage tabs
• Remove conflicting gradient that interfered with native mobile scroll bounce
• Enhance table headers with proper sticky positioning and z-index

Improves usability on mobile and narrow desktop displays while maintaining
data visibility and horizontal scroll discoverability.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 22:39:39 +01:00
courtmanr@gmail.com 07c31c167b Update UI components and JavaScript files for improved functionality 2025-05-27 19:52:49 +01:00
courtmanr@gmail.com bd55316ebe feat: improve UI responsiveness and fix table scrolling 2025-05-27 19:23:19 +01:00
courtmanr@gmail.com f8a4ff3de2 refactor: update PBS and storage tab update methods 2025-05-27 19:22:49 +01:00
courtmanr@gmail.com e4bc52c36e Update index.html 2025-05-27 16:12:19 +01:00
courtmanr@gmail.com f646b9855a Update UI components and charts functionality 2025-05-27 16:06:38 +01:00
courtmanr@gmail.com 00991164b5 feat: update diagnostics functionality and UI 2025-05-27 13:09:29 +01:00
courtmanr@gmail.com 3cdb4225a5 feat: Add basic diagnostics functionality and integrate with server 2025-05-27 12:45:52 +01:00
courtmanr@gmail.com a701f03bfa Update server index.js and public index.html 2025-05-27 12:40:18 +01:00
courtmanr@gmail.com bb82610a4e Add new public JS utility and UI files 2025-05-27 10:01:37 +01:00
courtmanr@gmail.com caf6a2bd3a Update public HTML and existing JS files 2025-05-27 10:01:37 +01:00
courtmanr@gmail.com f605f498a9 Update styling and tailwind config 2025-05-27 10:01:37 +01:00
courtmanr@gmail.com 7804f3d174 feat: improve progress bar responsiveness for narrow screens
- Modified createProgressTextBarHTML to support responsive text display
- Added simpleText parameter to show only percentage on mobile devices
- Progress bars now show full details on screens ≥640px, only percentage on <640px
- Updated all progress bar implementations (dashboard, nodes, storage, PBS)
- Added responsive utility classes to Tailwind safelist
- Prevents text stacking/overlap issues on narrow devices

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 23:53:13 +01:00
courtmanr@gmail.com dba1eb7c90 fix: Resolve test failures and integrate recent UI/backend updates 2025-05-26 22:08:12 +01:00
courtmanr@gmail.com c9315951c7 Update data fetching, metrics, and UI components 2025-05-26 18:25:59 +01:00
courtmanr@gmail.com 72f13164de 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 ece4e1609d ui: improve PBS server status table layout to match datastore table, with wide CPU/Mem columns and truncated PBS VER/Uptime columns 2025-05-25 17:52:11 +01:00
courtmanr@gmail.com 58eb534a43 chore: clean up logs and disable alert popups for release readiness 2025-05-25 09:52:45 +01:00
courtmanr@gmail.com 11d2a12450 fix: ensure PBS multi-tab UI always uses unique IDs for each instance, preventing blank tab content when IDs collide 2025-05-25 09:51:42 +01:00
courtmanr@gmail.com aaa8b9c86b Feat: Add new modules for server-side alerting, metrics history, and frontend chart/alert handling 2025-05-24 22:02:25 +01:00
courtmanr@gmail.com 59aa0bc411 Refactor: Remove unused client-side logging.js 2025-05-24 22:02:16 +01:00
courtmanr@gmail.com 9e83788506 Feat: Implement frontend charting, alert handling, and UI optimizations 2025-05-24 22:02:09 +01:00
courtmanr@gmail.com d7a827dde2 Feat: Integrate chart display and alert handling in UI, remove logging components 2025-05-24 22:01:44 +01:00
courtmanr@gmail.com cd10841068 Refactor: Improve PBS server status display with metric blocks 2025-05-24 21:56:26 +01:00
courtmanr@gmail.com 14a26e06b0 Reduce opacity of stripe patterns 2025-05-21 10:57:48 +01:00
courtmanr@gmail.com c678413131 Enhance global keydown listener for dashboard search and reset 2025-05-21 10:45:49 +01:00
courtmanr@gmail.com 5c488a8034 Fix: Node card layout and various updates 2025-05-20 16:35:03 +01:00