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(-)
This commit is contained in:
@@ -39,6 +39,10 @@ export function ConsoleTab({ vm, connectionId }: ConsoleTabProps) {
|
||||
setErrorMessage(message)
|
||||
}, [])
|
||||
|
||||
const handleConnected = useCallback(() => {
|
||||
setStatus('connected')
|
||||
}, [])
|
||||
|
||||
const handleDisconnect = useCallback(() => {
|
||||
setStatus('idle')
|
||||
setErrorMessage(null)
|
||||
@@ -226,6 +230,7 @@ export function ConsoleTab({ vm, connectionId }: ConsoleTabProps) {
|
||||
node={vm.node}
|
||||
vmid={vm.vmid}
|
||||
onError={handleError}
|
||||
onConnected={handleConnected}
|
||||
/>
|
||||
) : (
|
||||
<TerminalConsole
|
||||
@@ -233,6 +238,7 @@ export function ConsoleTab({ vm, connectionId }: ConsoleTabProps) {
|
||||
node={vm.node}
|
||||
vmid={vm.vmid}
|
||||
onError={handleError}
|
||||
onConnected={handleConnected}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user