Some checks failed
Test / frontend-tests (pull_request) Successful in 1m37s
Test / frontend-typecheck (pull_request) Successful in 1m49s
PR Review Automation / review (pull_request) Successful in 10m13s
Test / rust-fmt-check (pull_request) Failing after 12m20s
Test / rust-clippy (pull_request) Successful in 13m53s
Test / rust-tests (pull_request) Has been cancelled
Issue 1 — VM actions silently doing nothing: The root cause was a missing <Toaster> mount in App.tsx. All toast.success/error calls were no-ops because the sonner Toaster component was never rendered. Added it at the App root. Also added dialog:allow-confirm capability (was missing, caused VM delete confirmation to throw silently). Issue 2 — Remove Disk column: PVE cluster/resources returns only static disk allocation, not actual usage, making the column misleading. Removed from VMList header, row, and the diskPercent calculation. Issue 3 — Add VM creation: - New list_proxmox_nodes Tauri command (GET /nodes) for real node list - New create_proxmox_vm Tauri command with server-side input validation: vmid range, numeric bounds, node/storage/bridge path-safety check, ISO volume-ID format check to prevent comma-property injection - CreateVmDialog component with node/storage discovery on open - "Add VM" button wired into VMsPage MigrationDialog now fetches real cluster nodes via list_proxmox_nodes instead of inferring them from the VMs already in the list. Added suspendProxmoxVm, resumeProxmoxVm, listProxmoxNodes, createProxmoxVm client wrappers to proxmoxClient.ts. Tests: 446 Rust + 405 frontend, all pass. 19 new VMList tests (TDD), 7 new Rust tests for security validation logic.
39 lines
1.8 KiB
TypeScript
39 lines
1.8 KiB
TypeScript
export { ResourceTree } from './ResourceTree';
|
|
export { ResourceFilter } from './ResourceFilter';
|
|
export { VMList } from './VMList';
|
|
export { SnapshotForm } from './VMSnapshotForm';
|
|
export { MigrationForm } from './VMMigrationForm';
|
|
export { BackupJobList } from './BackupJobList';
|
|
export { PoolList } from './PoolList';
|
|
export { OSDList } from './OSDList';
|
|
export { CephHealthWidget } from './CephHealthWidget';
|
|
export { MonitorList } from './MonitorList';
|
|
export { FirewallRuleList } from './FirewallRuleList';
|
|
export { HAGroupsList } from './HAGroupsList';
|
|
export { HAResourcesList } from './HAResourcesList';
|
|
export { RealmList } from './RealmList';
|
|
export { UserList } from './UserList';
|
|
export { CertificateList } from './CertificateList';
|
|
export { SubscriptionList } from './SubscriptionList';
|
|
export { NoteList } from './NoteList';
|
|
export { SearchResults } from './SearchResults';
|
|
export { ClusterSelector } from './ClusterSelectorAdvanced';
|
|
export { SearchBar } from './SearchBar';
|
|
export { ClusterOperationsList } from './ClusterOperationsList';
|
|
export { ConnectionList } from './ConnectionList';
|
|
export { CLICommandsList } from './CLICommandsList';
|
|
export { RemotesList } from './RemotesList';
|
|
export { UpdatesList } from './UpdatesList';
|
|
export { StorageList } from './StorageList';
|
|
export { CephFSList } from './CephFSList';
|
|
export { CephManagersList } from './CephManagersList';
|
|
export { AddRemoteForm } from './AddRemoteForm';
|
|
export { EditRemoteForm } from './EditRemoteForm';
|
|
export { RemoveRemoteDialog } from './RemoveRemoteDialog';
|
|
export { VMOverview } from './VMOverview';
|
|
export { ContainerOverview } from './ContainerOverview';
|
|
export { AclList } from './AclList';
|
|
export { VMConsole } from './VMConsole';
|
|
export { ContainerConsole } from './ContainerConsole';
|
|
export { CreateVmDialog } from './CreateVmDialog';
|