Commit Graph

175 Commits

Author SHA1 Message Date
68043f0416 fix(proxmox): harden console sessions and firewall rollout safety
Reduce security and reliability risk across the Proxmox extension by removing password exposure from Livewire state, hardening console auth/cookie handling, and improving sanitized error paths. Improve firewall and router performance by adding safer lazy loading, bounded pagination, cross-server compatibility guards, and lower-overhead API workflows.

Made-with: Cursor
2026-03-28 19:34:46 -04:00
b8677f5b7d feat(proxmox): add smart firewall workflow and UI refresh
Introduce starter firewall rule templates, one-click rule creation from log entries, and quick log filter presets to speed up incident response. Add a shared quick actions hub plus refreshed help and overview surfaces to improve discoverability and make key VPS tasks faster.

Made-with: Cursor
2026-03-28 16:24:12 -04:00
9e33470134 feat(proxmox): add statistics redirect component and route
Introduced a new Livewire component for statistics redirection and added a corresponding route to enhance navigation within the Proxmox extension. This update lays the groundwork for future statistics-related features.
2026-03-28 15:48:17 -04:00
5b61b75729 chore(proxmox): remove Statistics page, Livewire component, and related UI
Made-with: Cursor
2026-03-28 12:15:24 -04:00
85783f8047 fix(proxmox): statistics pulse icons for x-dynamic-component and widen debug exception capture
Made-with: Cursor
2026-03-28 12:02:23 -04:00
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