Commit Graph
9 Commits
Author SHA1 Message Date
Matt 27b9aeb45e chore: rename app from ProxmoxDesktop to Clustri 2026-08-10 00:00:59 +00:00
Matt 190fdb2573 feat: add cluster discovery, failover, VM management, and console support 2026-08-09 23:01:51 +00:00
Matt 7bb3ba48f0 Fix Rust derive attribute ordering: move #[serde] after #[derive]
The legacy_derive_helpers lint requires derive helper attributes
(like #[serde(...)]) to appear AFTER the #[derive(...)] that
introduces them, not before. Swapped ordering on all 27 structs
in proxmox.rs and lib.rs.
2026-07-29 19:42:05 +00:00
Matt 9ad7fc85bd Fix 21 bugs: build failures, broken pages, IPC mismatches, and missing error handling
Critical fixes:
- Add esbuild dependency and fix Vite build target (safari13 → es2022)
- Fix StorageDetail always failing (null node parameter)
- Fix VNC/Terminal console stuck on 'Connecting...' (add onConnected callback)
- Fix Ctrl+Alt+Del not working (add data-vnc attribute and event listener)
- Add serde(rename_all='camelCase') to all 27 Rust structs crossing IPC
- Fix login methods returning empty connection_id (generate from URL hash)
- Fix add_connection not storing connections in HashMap
- Fix keyring_entry panicking on failure (replace expect with map_err)

High-severity fixes:
- Fix refresh_ticket reading wrong keyring entry for username
- Add onError handlers to all 23 mutations (toast notifications)
- Fix stale closure on activeConnectionId (use getState() instead)
- Fix WebSocket listener teardown race condition
- Add WebSocket reconnection retry limit (max 10 attempts)

Medium-severity fixes:
- Add Settings navigation to CommandPalette (Cmd+K)
- Disable dead Nodes/Containers sidebar items
- Wire up HardwareTab save button with warning toast
- Wire up QuickActions navigation buttons
- Add Dashboard error state (was stuck on 'Loading...')
- Add default case to App.tsx view switch
- Extract formatBytes/formatUptime/formatNetworkRate to shared utility
- Fix formatBytes negative input bug

32 files changed, 1073 insertions(+), 356 deletions(-)
2026-07-29 19:35:37 +00:00
Matt 535ba5e189 Add Tauri v2 capabilities for event.listen and shell permissions
Without a capabilities file, Tauri v2 denies event.listen by default,
causing the WebSocket hook to fail and preventing data loading.
2026-07-29 18:35:05 +00:00
Matt 72105a7085 Fix keyring Entry::new_with_target argument count 2026-07-29 18:31:50 +00:00
Matt dbe3c8d2a1 Add username/password login with keyring-backed credential storage
- Dual-mode auth dialog: username/password (default) + API token fallback
- Proxmox ticket-based auth via POST /access/ticket
- OS keyring integration for secure credential persistence
- Auto-open login dialog on launch when unauthenticated
- Auth state tracking with auto-refresh support
2026-07-29 18:27:27 +00:00
mbatchelder 084b64872e Initial commit: Proxmox Desktop client with VNC console, WebSocket proxy, and Tauri shell 2026-07-29 14:09:49 -04:00
Matt e675d7b6af Initial commit 2026-07-29 13:47:45 +00:00