Commit Graph

170 Commits

Author SHA1 Message Date
3cb201d766 Fix statistics graphPayloads never being populated and add redesigned telemetry partial
Made-with: Cursor
2026-03-27 18:58:35 -04:00
91cdaf2a6b Refactor Proxmox components: optimize data fetching in Server and Overview; enhance macro handling in Firewall; improve task data refresh logic in Statistics and views 2026-03-14 11:44:46 -04:00
7a6ea21925 Fix firewall API auth: load config from Server model directly 2026-03-11 19:06:46 -04:00
0f13216685 Fix firewall toggle: send PUT/POST as form data instead of JSON (Proxmox API requires x-www-form-urlencoded) 2026-03-11 18:52:36 -04:00
94c0b7712f Conveyance. 2026-03-11 01:53:54 +01:00
3d4fb77154 Merge branch 'main' of gitea.virtnet.bond:Joseph.Rawlings/Virtnet.bond 2026-03-10 23:24:41 +01:00
a34bea38a6 refactor: remove unnecessary loading overlay during reinstallation process 2026-03-10 18:24:16 -04:00
ef1499cde4 fix: OS template type matching for LXC/KVM nodes
- Add is_lxc column to ext_proxmox_oses for tracking template type
- OS model now has vmType() helper returning 'lxc' or 'qemu'
- Install uses OS template's type for clone API path (not node type)
- createServer validates OS type matches node type before provisioning
- calculateNode filters nodes by LXC/KVM type based on selected OS
- Reinstall OS list filtered to only show matching template types
- Admin location OS repeater now has LXC Template checkbox
2026-03-02 21:23:10 -05:00
153bcfcea5 fix: remove password from LXC config update (not supported by Proxmox API) 2026-03-02 07:31:47 -05:00
5f2e591c6e feat: add LXC container support to Proxmox extension
- Add is_lxc boolean column to ext_proxmox_nodes (default false, existing nodes unaffected)
- Add LXC checkbox to admin node creation form (disabled on edit)
- Dynamic API path selection via Node::vmType() (returns 'lxc' or 'qemu')
- LXC deployment: syncLxcSettings() for cores, memory, swap, hostname, rootfs, net config
- LXC network uses name=eth0 format with applyLxcPoolSettings() for VLAN/firewall/MTU
- All lifecycle operations LXC-aware: install, suspend, unsuspend, terminate, upgrade, reinstall
- VNC/xterm console uses correct type (lxc vs kvm)
- All 20+ Livewire components use vmType() for Proxmox API paths
- LXC user interface shows basic-only view (no advanced toggle, no KVM-specific tabs)
- Basic tabs for LXC: Overview, Network Configuration, Backups, Console
2026-03-02 07:11:25 -05:00
3fa4c9d65e perf: optimize statistics exports - cache task history and slim down Livewire payload
- Cache getTaskHistoryProperty() with 30s TTL to avoid Proxmox API calls on every render
- Move networkAnalysis heavy arrays (connections, topConnections, topPorts) out of Livewire public property into server-side cache only
- Store only counts and metadata in the Livewire payload instead of thousands of connection objects
- Pagination and export methods now read from cache instead of public property
- Reduce wire:poll intervals from 10s to 30s on task history and lifecycle events cards
- Dramatically reduces JSON payload size on every Livewire request
2026-03-01 05:38:16 -05:00
f688779e44 Revert "Increase status polling interval to 5 seconds across Proxmox views; update layout styles and add new CSS for improved UI elements and animations."
This reverts commit 8c6df92fe7.
2026-03-01 03:59:10 -05:00
8c6df92fe7 Increase status polling interval to 5 seconds across Proxmox views; update layout styles and add new CSS for improved UI elements and animations. 2026-03-01 03:47:26 -05:00
8340110a34 feat: Add DNS configuration check and update subdomain management UI 2026-02-25 16:26:44 -05:00
8494f87aae Enhance Proxmox components with input validation, error handling, and UI improvements 2026-02-25 07:00:55 -05:00
16cd5f05de Enhance Proxmox views with improved loading states and UI updates
- Updated serverplaceholder.blade.php to enhance loading skeletons for server details.
- Added navigation breadcrumbs to statistics, subdomain, and system views for better user experience.
- Improved loading indicators for CPU, network, memory, and disk charts in statistics.blade.php.
- Refined storage.blade.php layout with section dividers and improved drive display, including bus type indicators and quota usage.
- Enhanced VNC and Xterm popups with a new header design, loading animations, and reconnect functionality.
- Added error handling for VNC and Xterm connections to inform users when unable to connect.
2026-02-24 19:51:46 -05:00
af62a16354 Refactor modal close behavior and improve styling
- Changed modal close event from `@click.away` to `@click.self` for better control over closing modals.
- Updated various modal button styles for consistency and improved accessibility.
- Adjusted transition durations for modal animations to enhance user experience.
- Added aria-labels to close buttons for better screen reader support.
2026-02-23 20:02:41 -05:00
f394483daa feat: Update Proxmox extension with various improvements and bug fixes
- Change listStates method to accept nullable integer for limit parameter.
- Modify TechnitiumDns class to return structured error messages on failure.
- Enhance VNC and xterm popup routes with user authorization checks.
- Update backups view to improve loading states and add unique keys for dynamic elements.
- Refactor cloud-init view to ensure proper data binding and improve user experience.
- Add wire:key attributes to various elements in views for better Livewire performance.
- Improve error handling and user feedback in the firewall view.
- Update server overview and statistics views to handle potential null values gracefully.
- Add new migration files to extend database schema with user-set icons and notes for Proxmox nodes.
2026-02-23 17:23:01 -05:00
8873192963 Add error handling for backup location checks and improve backup fetching logic 2026-02-01 13:25:12 -05:00
40ea5dc0b6 Add connection error handling and improve modal component structure 2026-02-01 13:03:03 -05:00
ebfc5c84c9 fix: improve server list reliability with async retry polling instead of blocking usleep 2026-01-25 16:26:46 -05:00
892961d28c feat: enhance VM status loading with retry logic and improved error handling 2025-12-24 09:54:17 -05:00
0ed29d782e Refactor Proxmox views for improved styling and consistency
- Updated subdomain.blade.php to enhance button styles and modal transitions.
- Changed text colors for better readability and consistency across the UI.
- Refactored system.blade.php to unify button components and improve layout structure.
- Adjusted modal z-index values for consistent layering.
- Enhanced accessibility by ensuring proper text contrast and hover states.
2025-12-18 09:40:58 -05:00
640e468699 fix: update firewall rule handling to ensure proper API request formatting and improve error logging 2025-12-18 09:07:35 -05:00
5fbff576af fix: enhance firewall rule handling with improved payload structure and error logging 2025-12-18 08:52:53 -05:00
6f5a66bea6 fix: replace notify calls with dispatch for consistent notification handling 2025-12-18 08:49:24 -05:00
8fabfd25d6 fix: optimize adapter firewall toggle logic and improve error handling 2025-12-18 08:10:36 -05:00
d1912871d3 refactor: update caching duration for network analysis and enhance layout structure in statistics view for improved readability 2025-12-17 20:04:51 -05:00
801898e295 refactor: streamline data loading process in Statistics and overview views for improved performance 2025-12-17 19:29:46 -05:00
760cf84451 Add AdminLTE-style CSS framework to app.css
- Introduced AdminLTE CSS variables for color palette, body colors, card styles, and button styles.
- Implemented card components with variants for primary, success, warning, danger, and info.
- Added button styles including sizes and outline variants.
- Created form controls, select inputs, and input groups with consistent styling.
- Included utility classes for text and background colors, gradients, and shadows.
- Developed components for badges, alerts, callouts, progress bars, tables, small boxes, and info boxes.
- Integrated modal, dropdown, spinner, tooltip, and direct chat styles.
- Established timeline and close button styles, with dark mode support for specific components.
2025-12-17 13:45:56 -05:00
bf346cecca Fix null status handling in overview page
- Add try-catch around loadVmStatus calls in Overview.php
- Add null checks in checkStatus method
- Wrap entire overview content in @if(\) / @else block
- Show friendly error state with retry button when status unavailable
2025-12-16 08:02:16 -05:00
0125349eb1 Add error handling to prevent lazy loading from getting stuck
- Wrap bandwidth throttling check in try-catch in Server.php
- Wrap loadVmStatus in try-catch in Component.php mount()
- Add fallback UI in server.blade.php when status is unavailable
- Show 'Unavailable' state instead of infinite skeleton loading
2025-12-16 07:56:49 -05:00
5c76a381d0 Fix CSV export formatting and ensure cached states are initialized properly 2025-12-10 12:07:02 -05:00
00d4a50e9d Add caching for firewall states to optimize network analysis performance 2025-12-10 12:02:45 -05:00
43c31495a2 Add core router integration for network analysis in Firewall component 2025-12-10 11:47:00 -05:00
369cb8a812 Add pagination for lifecycle events with navigation controls and records per page selector 2025-12-08 19:55:54 -05:00
9d672d58ef Refactor task history pagination methods for improved clarity and performance 2025-12-08 19:42:25 -05:00
5191bb53fe Implement pagination for task history in Proxmox statistics view 2025-12-08 19:39:28 -05:00
1cdae8b693 Implement pagination for network analysis, statistics history, and task history in Proxmox statistics view 2025-12-08 19:35:21 -05:00
f37084bdb2 Enhance Proxmox statistics loading by dispatching individual chart events for improved reliability and parallel data fetching 2025-12-08 17:06:30 -05:00
279ab00ee7 Add rename configuration functionality in Firewall component and view 2025-12-08 14:17:07 -05:00
b01593eac2 Add "Apply to All Servers" functionality in Firewall component and view 2025-12-08 14:13:14 -05:00
e1d2805271 Add saved firewall configuration functionality
- Implemented the ability to save, view, apply, and delete firewall configurations for users.
- Created a new model for FirewallConfiguration and corresponding database migration.
- Enhanced the firewall view to include a tab for managing saved configurations.
2025-12-08 10:26:32 -05:00
ecb037ce04 revert: remove customizable server icon feature and restore all Proxmox Livewire files to pre-icon state (d24fa01) 2025-12-06 09:42:29 -05:00
1c677c45e0 fix: restore Component.php and move icon functionality to Overview.php only
- Reverted Component.php to original state (was breaking all Livewire modals)
- Icon properties and methods now only in Overview.php where they belong
- Icon button only shows as clickable on Overview page
- Other pages show the icon as display-only (not a button)
- Icon modal only renders on Overview page
- Fixed saveIcon method to accept icon and color arguments
2025-12-06 09:35:02 -05:00
f0b401767b fix: remove icon loading from base mount() to prevent interference
- Moved icon loading to openIconModal() method instead
- This prevents any potential issues with child component mount methods
- Icon values are now lazy-loaded when modal is opened
2025-12-06 09:29:36 -05:00
1a96bfdee0 fix: make server icon customization available on all pages
- Moved icon modal properties and methods from Overview.php to base Component.php
- All Proxmox Livewire components now inherit icon customization functionality
- Removed view restriction so modal works on all server pages (not just overview)
- Icon button is now clickable and functional on Network, Storage, Backups, etc.
2025-12-06 09:16:58 -05:00
6f88c95e2a fix: add legacy iconSearchQuery property for stale sessions 2025-12-06 08:12:43 -05:00
b95c59be81 feat: reimplement server icon customization feature
- Add user_set_icon and user_set_icon_color to Server model fillable
- Add icon modal properties and methods to Overview component
- Add clickable icon button next to server hostname in layout
- Add icon picker modal with search, color selection, and preview
- Support for 100+ Remix icons across various categories
- Icons persist to database and display on page load
2025-12-06 08:07:52 -05:00
0c64561b4f fix: add legacy showIconModal property to prevent stale session errors
Users with cached Livewire state from before rollback were getting errors
because their browser was trying to set showIconModal which no longer existed.
Adding an empty property prevents these errors until they refresh.
2025-12-06 07:56:04 -05:00