Commit graph

17 commits

Author SHA1 Message Date
Pulse Monitor
e5c3721556 chore: bump version to v4.5.0-rc.4 and add comprehensive test suite
- Added test-release.sh for core functionality testing
- Added test-edge-cases.sh for URL and header edge cases
- Added test-proxy-scenarios.sh for reverse proxy testing
- Added test-security.sh for security vulnerability testing
- Added test-installation-methods.sh for deployment validation
- Added test-all.sh master script to run all tests
- These tests would have caught issue #334 and prevent similar issues
2025-08-19 19:34:54 +00:00
Pulse Monitor
0180e59a2e fix: restore universal tarball structure with pulse wrapper script
addresses #330 - universal tarball now includes pulse detection script at bin/pulse
2025-08-18 22:22:17 +00:00
Pulse Monitor
40e6ed89a7 chore: reorganize repository structure for better maintainability
- Move development scripts to scripts/ directory (dev.sh, hot-dev.sh, build.sh, etc.)
- Move UPGRADE_NOTICE to docs/ directory
- Remove empty 2025-08-14 file
- Update all references to moved scripts in documentation
2025-08-18 21:57:40 +00:00
Pulse Monitor
a01dff8514 fix: resolve WebSocket metric updates and improve polling efficiency
- Fix alternating zero I/O metrics by implementing rate caching for stale data from Proxmox
- Hardcode polling interval to 10 seconds (matching Proxmox cluster/resources update cycle)
- Remove polling interval settings from UI (no longer user-configurable)
- Implement efficient VM/container polling using single cluster/resources API call
- Remove 'Remove Password' feature (auth is now mandatory)
- Fix CSRF validation for Basic Auth (exempt from CSRF checks)
- Fix Generate API Token modal and authentication
- Remove redundant 'Active' status from Authentication section
- Remove Connection Timeout setting from frontend (backend-only)
- Clean up frontend console logging (reduce verbosity)
- Remove PBS polling interval setting (fixed at 10s)
- Add frontend rebuild detection to backend-watch script
- Improve first-run setup flow and error handling
2025-08-16 12:12:10 +00:00
Pulse Monitor
958cacf042 feat: enhance security and improve login UI
Security Improvements:
- Implement bcrypt password hashing (cost factor 12)
- Add SHA3-256 API token hashing
- Fix authentication enforcement after security setup
- Improve restart mechanism to properly reload systemd environment
- Add CSRF protection for all state-changing operations
- Implement comprehensive rate limiting (10/min auth, 500/min API)
- Remove sensitive data from logs
- Add security audit test suite

UI Enhancements:
- Add Pulse logo to login screen with animations
- Implement glassmorphism design for login form
- Add gradient backgrounds and smooth animations
- Enhance input fields with icons
- Add loading spinner for authentication
- Improve overall login page aesthetics

Bug Fixes:
- Fix security setup restart mechanism
- Fix systemd environment variable inheritance
- Fix CSRF validation for security endpoints
- Fix password change and removal functionality

Testing:
- Add automated security test suite
- Verify all authentication flows
- Test rate limiting effectiveness
- Validate CSRF protection
2025-08-13 23:07:57 +00:00
Pulse Monitor
d5d359ce45 fix: update systems to work with embedded frontend
- Fix auto-updater to handle single-binary structure
- Fix Docker build to copy frontend before Go compilation
- Add development script for frontend rebuilds
- Remove unnecessary frontend directory copying in updater

The embedded frontend change simplifies deployment but required
updates to various build and update systems.
2025-08-12 12:52:27 +00:00
Pulse Monitor
bb3f783b59 refactor: implement directory-based auto-update approach
Replaced sudo-based updater with a cleaner directory-based approach:
- Pulse binary now installs to /opt/pulse/bin/pulse (owned by pulse user)
- Symlink created at /usr/local/bin/pulse for PATH convenience
- Pulse user has full write access to /opt/pulse, enabling self-updates
- Removed sudo dependency and security risks
- Simplified update logic - no special scripts or permissions needed

This is more secure, simpler, and works in all environments (containers, VMs, bare metal)
2025-08-10 09:48:53 +00:00
Pulse Monitor
302ae5b79b fix: auto-update permission issues for non-root installations
- Created pulse-updater script that runs with sudo to update root-owned binary
- Modified install.sh to set up sudoers permissions for pulse user
- Updated build-release.sh to include scripts directory in releases
- Install script now installs sudo (if missing) and configures NOPASSWD access

This fixes the 'Failed to apply update' error when Pulse runs as non-root user
and needs to update the binary at /usr/local/bin/pulse
2025-08-10 09:42:17 +00:00
Pulse Monitor
4304a28207 chore: remove unused updater scripts and update docs for manual refresh 2025-08-09 21:50:53 +00:00
Pulse Monitor
4c8094e4ac fix: auto-restart after update using clean exit strategy 2025-08-09 20:57:00 +00:00
Pulse Monitor
afe845182b chore: update screenshots and add dark mode screenshot script 2025-08-04 21:38:11 +00:00
Pulse Monitor
20e8263f90 fix: regenerate all screenshots in dark mode
- Updated screenshot script with improved dark mode detection and forcing
- Regenerated all 8 documentation screenshots in dark mode
- Screenshots now properly show the dark theme interface
- Fixed theme switching logic to ensure consistent dark mode capture
2025-08-04 21:33:39 +00:00
Pulse Monitor
7256ffe9e2 feat: add screenshot generation tool and documentation images
- Created comprehensive screenshot tool using Playwright
- Generated all 8 screenshots referenced in documentation:
  - Dashboard, Storage, Backups, Alerts views
  - Alert History, Settings, Dark Mode examples
  - Mobile responsive view
- Added three screenshot scripts:
  - take-screenshots.js: Full-featured with browser chrome
  - take-screenshots-simple.js: Basic screenshot capture
  - take-all-screenshots.js: Comprehensive capture for all docs
- Fixes broken screenshot links in README and SCREENSHOTS.md
2025-08-04 21:30:41 +00:00
Pulse Monitor
1a2dfaf5c3 Remove development-only files from repository
- Remove .air.toml (hot reload config)
- Remove tygo.yaml (TypeScript generation)
- Remove systemd service files (not needed for Docker)
- Remove .env.example (outdated config format)
- Remove Makefile (development convenience)
- Remove scripts/ directory (development scripts)
- Remove testing-tools/ directory (only for testing)

These files are only needed for development and shouldn't be in the production repository
2025-08-03 20:34:38 +00:00
Pulse Monitor
8e0aa39643 Fix alert system: clearing and frontend reactivity
- Fixed alert clearing logic to work even when alerts are acknowledged
- Added immediate WebSocket state broadcast after alert resolution
- Fixed frontend activeAlerts store updates to maintain SolidJS reactivity
- Added logging for alert resolution events

The alert system now properly:
- Creates alerts when thresholds are exceeded
- Clears alerts automatically when values drop below clear threshold
- Updates frontend in real-time without requiring page refresh
2025-07-29 14:53:41 +00:00
Pulse Monitor
305e1e91bc Fix intermittent backup display issue and move frontend to port 7655
- Reduce backup polling interval from 60s to 20s
- Add immediate polling on first cycle for faster initial load
- Add loading spinner UI while waiting for backup data
- Update frontend port from 3001 to 7655 in vite config
- Add .vite directory to gitignore
- Update CLAUDE.md with service management commands
2025-07-29 07:31:15 +00:00
Pulse Monitor
5665106a7d Initial clean Go + TypeScript rewrite
- Go backend with Proxmox/PBS integration
- Modern TypeScript/SolidJS frontend
- WebSocket real-time updates
- Clean project structure with no legacy code
2025-07-28 21:24:33 +00:00