Commit Graph
24 Commits
Author SHA1 Message Date
Matt 0d7ad9a709 ci: manually upload updater sigs and generate latest.json
The tauri-action doesn't properly handle Linux sig files in its
artifact discovery. This adds manual steps to upload .sig files and
updater bundles after each platform build, then generates latest.json
in a final job that reads the signatures from the release assets.
2026-08-25 19:40:33 +00:00
Matt 3da7d8790b ci: add updater signing key for latest.json generation 2026-08-25 19:25:29 +00:00
Matt e6c9d21b19 ci: upgrade tauri-action to v1 for proper updater sig uploads 2026-08-25 18:40:50 +00:00
Matt 18783eaf28 ci: add multi-OS release workflow with auto-updater
- GitHub Action builds for Linux, Windows, macOS on v* tag push
- macOS universal binary (Intel + Apple Silicon)
- Draft release with all installers + updater signatures
- tauri-plugin-updater for built-in auto-update support
2026-08-25 18:25:05 +00:00
Matt 717911b18b fix: remove /clustri/ base path — custom domain serves at root 2026-08-25 17:59:13 +00:00
Matt 0d9f0d7811 ci: add GitHub Pages workflow for Astro site with base path support 2026-08-25 13:11:43 +00:00
Matt 563d9c0eeb feat: interactive site redesign with dot matrix effects and component polish 2026-08-25 13:08:21 +00:00
Matt efbdf2356f feat: redesign site with interactive failover playground and command palette 2026-08-22 16:54:02 +00:00
Matt 0d45db1fda chore: Update app icons from SVG to PNG 2026-08-17 10:02:33 +00:00
Matt ff3cd10b60 fix: make macOS keychain duplicate detection compile (E0521)
Give the platform error a 'static trait-object lifetime so downcast_ref to security_framework::base::Error is legal; the macOS cfg block previously failed to compile on Apple targets.
2026-08-13 01:08:26 +00:00
Matt 039ac6f9d3 feat: add PBS datastore management and harden macOS keychain storage
Add Proxmox Backup Server datastore management: overview, datastore detail, download/prune/verify/GC dialogs, usePbs hook, backend commands, and tests.

Fix macOS keychain re-writes failing with 'item already exists': replace keyring 3 with keyring-core plus per-platform stores (macOS Keychain, Windows Credential Manager, Linux keyutils), recover by deleting the stale item and retrying once, and surface actionable messages for locked keychains.
2026-08-13 01:02:33 +00:00
Matt 5960102489 fix: tolerate Proxmox numeric string APIs and refine VM list 2026-08-12 20:52:49 +00:00
Matt 6a0bf72cb5 fix: correct API endpoint paths for authentication and token validation 2026-08-12 10:00:23 +00:00
Matt 37fd204223 fix: detect Tauri v2 runtime correctly 2026-08-11 20:29:37 +00:00
Matt 20dd2dc449 feat: add marketing site and expand Proxmox management features 2026-08-10 14:33:06 +00:00
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 3aceaca2e1 Fix TypeScript compilation: remove deprecated baseUrl, add missing imports, fix type narrowing
- Remove deprecated baseUrl from tsconfig.app.json (TS 6.0 error)
- Add missing AlertCircle and Button imports in Dashboard.tsx
- Cast Sidebar onNavigate arg to fix View type mismatch

tsc exits 0, vite build exits 0
2026-07-29 19:39:17 +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
Matt e675d7b6af Initial commit 2026-07-29 13:47:45 +00:00