Commit Graph

748 Commits

Author SHA1 Message Date
Pulse Monitor ec220d49f5 fix: make installation mode prompt wait for Enter key
- Changed mode selection to require Enter instead of single character
- Makes behavior consistent with other prompts
- Less jarring user experience
2025-08-29 17:45:17 +00:00
Pulse Monitor 4eefc3b492 fix: restore missing main function and improve container installation
- Restored accidentally deleted main() function
- Fixed script not running at all due to missing main call
- Added IN_CONTAINER checks to skip prompts in container context
- Fixed network bridge detection parsing issue
- Script now completes installation properly without hanging
2025-08-29 17:43:14 +00:00
Pulse Monitor 2b533015b0 fix: prevent install script from exiting when Enter pressed at prompts
- Add safe_read_with_default wrapper to handle read failures gracefully
- Update all prompts to use the wrapper with appropriate defaults
- Script now continues with defaults instead of exiting on Enter key
- Addresses issue #383 installation problems
2025-08-29 17:23:40 +00:00
Pulse Monitor cd38215ca8 feat: improve install UX with numbered options for network and storage selection
- Users can now select bridges and storage by number (1, 2, 3, etc.)
- Much easier than typing out storage names like 'local-lvm'
- Shows default option in brackets [1]
- Still allows typing the name directly if preferred
- Works in both Quick and Advanced modes
- Improves installation experience significantly
2025-08-29 17:16:04 +00:00
Pulse Monitor 4fbe724013 fix: handle safe_read failures with set -e enabled
- Temporarily disable errexit when calling safe_read
- Prevents script from exiting when safe_read returns 1
- Properly handles non-interactive container installations
- Addresses #383
2025-08-29 17:05:20 +00:00
Pulse Monitor 81c6e3039c fix: handle non-interactive mode in container installations
- Fix safe_read failures when running --in-container without TTY
- Use defaults when prompts fail in non-interactive mode
- Prevents hanging when pct exec runs install script
- Addresses #383
2025-08-29 17:03:55 +00:00
Pulse Monitor 0102252cb4 fix: show real-time progress during container installation
- Show installation output in real-time instead of capturing silently
- Users can now see what's happening during download/install
- Still includes 5-minute timeout to prevent infinite hangs
- Better error messages with manual recovery instructions
- Addresses #383 - users can now see where installation gets stuck
2025-08-29 16:58:08 +00:00
Pulse Monitor 4ff33973ca fix: add timeouts to prevent installation hanging on network issues
- Add timeout to GitHub API calls when fetching releases
- Add timeout to wget when downloading release files
- Add timeout to container installation with better error messages
- Show helpful error messages when timeouts occur
- Addresses #383 - installation getting stuck
2025-08-29 16:52:08 +00:00
Pulse Monitor 9e5b031230 fix: only apply dev IP workaround when .dev-mode file exists 2025-08-29 16:41:18 +00:00
Pulse Monitor baa733d06f fix: hardcode dev IP for setup script URLs when proxied through vite 2025-08-29 16:34:16 +00:00
Pulse Monitor 891af0e573 fix: remove conflicting stub file 2025-08-29 16:19:13 +00:00
Pulse Monitor 7641bbf57f feat: include mock package for Docker builds 2025-08-29 16:18:24 +00:00
Pulse Monitor 72f2feeb22 Revert "fix: remove mock import from production build"
This reverts commit e927a39416.
2025-08-29 16:17:28 +00:00
Pulse Monitor e927a39416 fix: remove mock import from production build 2025-08-29 16:17:21 +00:00
Pulse Monitor af72916a37 chore: bump version to v4.10.0 2025-08-29 16:11:09 +00:00
Pulse Monitor 99e205b585 feat: add ESC key to deselect node summary selections
Press ESC to clear node selection in the summary table
2025-08-29 16:09:04 +00:00
Pulse Monitor 3de0b71288 docs: update development documentation
Updated CLAUDE.md with latest development guidelines
2025-08-29 16:06:04 +00:00
Pulse Monitor 04209d15a1 fix: prompt for gateway when static IP is entered in advanced mode
addresses #382 - installer now prompts for gateway IP when user enters a static IP.
validates IP is in CIDR format (e.g., 192.168.1.100/24) and gateway is valid.
if no gateway is provided, attempts to use .1 of the subnet as default.
this fixes the 'waiting for network' timeout when using static IPs.
2025-08-29 15:58:27 +00:00
Pulse Monitor 109d97afab fix: detect and use all available template storages for Proxmox installations
addresses #381 - installer now searches all storages that can contain templates
instead of assuming templates are in the same storage as the container rootfs.
when downloading templates, it uses the storage with the most free space.
2025-08-29 15:49:56 +00:00
Pulse Monitor 8ae1a86e69 fix: node selection in storage and backups tabs now filters without showing in search
- Storage tab: clicking nodes filters data without adding 'node:xxx' to search
- Backups tab: clicking nodes filters data without adding 'node:xxx' to search
- Both tabs now use separate selectedNode state for filtering
- Search field stays clean for actual text searches
- Visual improvements: added hover lift effect to NodeSummaryTable rows
2025-08-29 14:53:03 +00:00
Pulse Monitor 59e325517a fix: improve NodeSummaryTable visual layout and selection feedback
- Remove table-fixed and use responsive width classes
- Remove inline styles, use pure Tailwind classes
- Fix left border alignment issue when selecting rows
- Improve visual feedback for selected rows with stronger blue background
- Clean up redundant whitespace-nowrap and inline flex styles
2025-08-29 14:31:02 +00:00
Pulse Monitor 5dbcde6d5f fix: add consistent blue left border for selected nodes
- All selected nodes now show blue left border (border-l-blue-500)
- Unselected nodes have transparent border to prevent layout shift
- Consistent color across all nodes when selected
2025-08-29 14:16:33 +00:00
Pulse Monitor efee26a0bb fix: restore original simple selection styling from initial implementation
- Removed border-left indicators that were causing issues
- Back to simple background color change when selected
- This matches the original working implementation
2025-08-29 14:12:29 +00:00
Pulse Monitor a02f94c68d fix: use classList for cleaner selection styling
- Changed from template string to classList binding for selection state
- Removed function call in isSelected to prevent reactivity issues
- Should eliminate gray border artifacts on unselected nodes
2025-08-29 14:10:09 +00:00
Pulse Monitor 40187e4284 fix: ensure consistent blue border color for selected nodes
- Made border color consistent across light/dark modes (always blue-500)
- Added transparent border to unselected rows to prevent layout shift
- This ensures all selected rows show the same blue indicator
2025-08-29 14:08:18 +00:00
Pulse Monitor ff5bdd6705 fix: prevent VM/container counts from zeroing when node is selected
- NodeSummaryTable now always uses unfiltered state data for counts
- This ensures all nodes show correct counts even when one is selected
- The parent component handles filtering for the main display separately
2025-08-29 14:05:50 +00:00
Pulse Monitor af3071b65f fix: make NodeSummaryTable fill entire card width
- Changed from fixed pixel width to 100% width table
- Converted column widths from pixels to percentages
- Removed inline styles in favor of Tailwind classes
- Table now properly stretches to fill available space
2025-08-29 14:04:16 +00:00
Pulse Monitor 7a4ae397db fix: restore node selection highlighting and fix PBS column count
- Added blue left border indicator when a node is selected
- Fixed PBS nodes showing wrong number of columns on dashboard tab
- PBS nodes now show dashes for VMs/Containers columns they don't have
2025-08-29 14:02:31 +00:00
Pulse Monitor 3d9a1a10f7 chore: remove redundant PVENodeTable and PBSNodeTable components
- Deleted old table components that were causing confusion
- Added CRITICAL section to CLAUDE.md about removing redundant code
- Prevents future issues where updated code gets ignored because old version still exists
2025-08-29 13:57:27 +00:00
Pulse Monitor 9705e60908 fix: replace old PVENodeTable with NodeSummaryTable for correct column ordering
- Fixed escape key not clearing tag filters from search box
- Replaced PVENodeTable/PBSNodeTable with unified NodeSummaryTable
- Column order now correctly shows: Node, Status, Uptime, CPU, Memory, Disk, VMs/Containers
2025-08-29 13:55:53 +00:00
Pulse Monitor 18d1786643 chore: consolidate development environment and fix multiple issues
- Fixed alert acknowledgment persistence bug in monitor.go
- Reordered columns in NodeSummaryTable for better logical grouping
- Consolidated development environment with improved hot-dev script
- Updated vite.config.dev.ts for consistent port usage (7656)
- Enhanced Go main.go with better development mode detection
- Removed obsolete development scripts for cleaner repository
- Added comprehensive development documentation in CLAUDE.md

Development improvements ensure consistent port 7655 usage and
eliminate conflicts between different development approaches.
2025-08-29 13:49:45 +00:00
Pulse Monitor c67d6d960d fix: alert acknowledgment not persisting - map update was missing
The AcknowledgeAlert function was modifying the alert pointer but not writing
it back to the activeAlerts map. Since Go maps store values (not references),
the acknowledged state wasn't being persisted. Fixed by adding the map update
after modifying the alert properties.
2025-08-29 12:47:15 +00:00
Pulse Monitor b732b09654 feat: increase tag hover scale animation to 150% for better visibility 2025-08-29 12:18:01 +00:00
Pulse Monitor f18dbbbeab feat: add smooth scale animation to tag indicators on hover 2025-08-29 12:16:22 +00:00
Pulse Monitor beca07ad21 fix: convert CPU from decimal to percentage in PVENodeTable - the component actually being used 2025-08-29 12:10:24 +00:00
Pulse Monitor 0ba776074b fix: properly convert CPU from decimal to percentage in NodeSummaryTable 2025-08-29 12:07:09 +00:00
Pulse Monitor 363ac05c42 fix: correct CPU percentage calculation in NodeSummaryTable - was incorrectly multiplying by 100 2025-08-29 12:02:28 +00:00
Pulse Monitor 96e0aacfff fix: remove mock code from production builds to fix Docker compilation 2025-08-29 11:57:40 +00:00
Pulse Monitor 799a3133fe fix: remove unused TypeScript variables in PVENodeTable 2025-08-29 11:54:03 +00:00
Pulse Monitor 7c57099760 chore: bump version to v4.10.0-rc.2 2025-08-29 11:50:16 +00:00
Pulse Monitor ae53c23fc4 fix: improve Proxmox API permission error messages
Addresses #379 - Added clearer error messages for common authentication issues:
- 403 errors now explain that permissions must be set on the USER (not just the token) in Proxmox GUI
- 595 errors indicate authentication failure
- 401 errors indicate invalid credentials

While the setup script handles this correctly, these messages help users who manually configure permissions.
2025-08-29 11:43:01 +00:00
Pulse Monitor fd501d40d6 fix: update acknowledged count immediately when alert is acknowledged
addresses #380 - the acknowledged count now updates instantly when an alert
is acknowledged, rather than waiting for the next websocket update
2025-08-29 11:23:12 +00:00
Pulse Monitor bbf499cd10 fix: address Discord webhook issues from #378
- Remove invalid url field from Discord embed (was causing 400 error)
- Remove SVG avatar/footer icons (Discord doesn't support SVG)
- Fix test webhook to use proper instance URL instead of 'pulse-monitoring'
- Discord webhook template now sends valid payloads
2025-08-29 11:15:35 +00:00
Pulse Monitor e6c15f620a feat: add version column to node tables
- Shows PVE/PBS version in node summary tables
- Helps quickly identify nodes needing updates
- Extracts just version number from PVE (e.g. 9.0.5)
- Also improved mock mode system for local development
2025-08-29 10:58:23 +00:00
Pulse Monitor c2917947ec fix: remove column constraint from backup date row headers 2025-08-29 10:42:28 +00:00
Pulse Monitor 597e695f0e feat: improve UI consistency and visual feedback
- Remove redundant status column from node tables (green/red dot is sufficient)
- Make stopped guests more visually distinct (red indicator + dimmed row)
- Improve node selection behavior (visual only, no search field modification)
- Fix hover vs selected visual states for clarity
- Standardize hover highlighting across all tables (hover:bg-gray-50 dark:hover:bg-gray-700/30)
- Add better visual separation for tooltips (tags and backups)
- Remove unnecessary rebuild.sh script (only needed at release time)
- Fix backend-watch.sh to use correct PORT environment variable
- Update vite.config.ts to proxy to correct backend port (7656)
- Clean up console.log debugging statements
2025-08-29 10:39:45 +00:00
Pulse Monitor 6d93fcd391 fix: ensure PATH and update command work for all installations
- Created setup_update_command() function to handle PATH and update script setup
- Adds /usr/local/bin to PATH in /etc/profile and /etc/bash.bashrc
- Creates /usr/local/bin/update script if it doesn't exist
- Called during all installation/update flows (fresh, update, reinstall)
- Fixes issue where existing users couldn't run 'update' command without full path
- Addresses #377
2025-08-29 07:59:03 +00:00
Pulse Monitor fa3bd2df0e fix: add /usr/local/bin to PATH in containers so 'update' command works
This addresses #377 where users couldn't run the 'update' command
without specifying the full path when using pct enter.
2025-08-29 07:55:11 +00:00
Pulse Monitor 3b6202d2c7 feat: improve tag indicator design
- Remove outer bright ring from tag indicators for cleaner flat design
- Increase indicator size from 1.5 to 2 for better visibility
- Keep active state ring for selected tags
2025-08-29 07:42:57 +00:00
Pulse Monitor 50d414ed39 fix: remove Node column from list view entirely
After discussion, the Node column in list view adds unnecessary clutter. The purpose of list view is to see all guests as a unified, sortable list regardless of node. Users who need to know which node a guest is on should use grouped view - that's what it's for.

This simplifies the table, saves horizontal space, and makes the UI cleaner.
2025-08-29 07:29:31 +00:00