Commit graph

210 commits

Author SHA1 Message Date
Pulse Monitor
d522dfca5e fix: API token authentication for Docker users
- Add UI modal to prompt for API token when required
- Detect and handle invalid/expired tokens automatically
- Clear invalid tokens and re-prompt user
- Add ability to clear stored tokens from browser
- Fix race condition in modal retry logic
- Improve error messages for auth failures
- Handle both export and import authentication consistently
- Track operation source to ensure correct retry behavior

Fixes issue reported by da99Beast where Docker users with API_TOKEN
environment variable couldn't authenticate for export/import operations
2025-08-10 21:44:10 +00:00
Pulse Monitor
256d168d54 fix: update hardcoded fallback version to 4.1.7
The binary was using 4.1.6 as the fallback version when VERSION file
wasn't found, causing version mismatches in some installations
2025-08-10 20:49:29 +00:00
Pulse Monitor
f70bdcad8b chore: bump version to v4.1.7 2025-08-10 20:03:21 +00:00
Pulse Monitor
55e0190777 fix: manual node setup 'Node ID Required' error
Fixed issue where discovered nodes and manual node setup would incorrectly
call updateNode instead of addNode. The problem was that discovered nodes
were set with an empty string ID, which made the code think it was editing
an existing node.

Now properly checks for both editingNode existence AND a valid ID before
deciding whether to update or add.

Fixes #289
2025-08-10 20:02:28 +00:00
Pulse Monitor
1414779609 docs: add DISCOVERY_SUBNET configuration documentation
- Added DISCOVERY_SUBNET to available environment variables list
- Added Docker-specific network discovery configuration section
- Updated README with Docker network discovery examples
- Added subnet configuration to Docker Compose example
2025-08-10 19:54:15 +00:00
Pulse Monitor
068322bb45 feat: add DISCOVERY_SUBNET environment variable support for Docker network discovery configuration 2025-08-10 19:44:31 +00:00
Pulse Monitor
ba6bf68acc fix: update system to handle new tarball structure and permission issues
- Support both old (root) and new (bin/) tarball structures
- Use writable directories for temp and backup files (data dir instead of /tmp)
- Fixes update failures for users on v4.1.5 and earlier
2025-08-10 19:38:40 +00:00
Pulse Monitor
14dcdfc4d6 fix: Discord webhook avatar URLs pointing to wrong repository 2025-08-10 19:23:31 +00:00
Pulse Monitor
8eabdf8212 chore: bump version to v4.1.6
Preparing for v4.1.6 release with critical bug fixes
2025-08-10 18:58:08 +00:00
Pulse Monitor
eef3ebf354 fix: critical bugs in v4.1.5
- Fixed hardcoded version fallback showing 4.1.1 instead of current version
- Fixed install script syntax error that prevented fresh installations
- Identified root cause of Docker persistence issue (notification UI not saving)
- Identified missing save functionality in frontend notification settings

Issues addressed: #277, #278, #282
2025-08-10 18:49:51 +00:00
Pulse Monitor
dca995b118 chore: bump version to v4.1.5 2025-08-10 17:49:19 +00:00
Pulse Monitor
f343007378 fix: remove disabled state from export/import buttons
The buttons were incorrectly disabled due to inverted logic. They now work properly regardless of security configuration. Also improved error messages to show the actual error from the API.
2025-08-10 17:44:19 +00:00
Pulse Monitor
20c72387ba fix: improve export error messages in UI
- Added clearer error message when export fails due to missing auth
- UI now explicitly tells users to set API_TOKEN or ALLOW_UNPROTECTED_EXPORT
- Addresses issue #286 where error wasn't clear
2025-08-10 17:09:43 +00:00
Pulse Monitor
1fbd0356e3 chore: bump version to v4.1.4 2025-08-10 14:51:55 +00:00
Pulse Monitor
059ef93c90 fix: tarball structure to extract files to bin/ directory
- Modified build-release.sh to create tarballs with bin/ directory structure
- Updated install.sh to handle both old (flat) and new (bin/) structures
- Files now extract to correct locations for community scripts
- Fixes issue #276 where community scripts couldn't update properly
2025-08-10 14:51:42 +00:00
Pulse Monitor
f4a7a8d4c1 chore: bump version to v4.1.3 2025-08-10 10:59:43 +00:00
Pulse Monitor
fbf8e5f1ce fix: RAM usage calculation and webhook test functionality
- Fixed incorrect RAM usage display for VMs without guest agent (issue #280)
  - VMs without guest agent now show 0% usage instead of 100%
  - Only show actual usage when guest agent provides FreeMem data
  - Containers continue to show accurate usage as before

- Fixed webhook test functionality (issue #279)
  - Added proper webhook ID handling in test notification endpoint
  - Created SendTestWebhook method to test specific webhooks
  - Frontend can now successfully trigger webhook tests
2025-08-10 10:59:26 +00:00
Pulse Monitor
a8fb13571c chore: bump version to v4.1.2 2025-08-10 10:42:03 +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
a896968f55 feat: add 'Recommended' label to API Token option
Added a green '(Recommended)' label next to the API Token authentication option to guide users toward the more secure authentication method.
2025-08-10 09:32:00 +00:00
Pulse Monitor
10b5e5bf63 fix: default to API token auth when adding discovered servers
Changed the default authentication method from username/password to API token when clicking on auto-discovered servers. API tokens are more secure and the recommended approach for most users.
2025-08-10 09:16:39 +00:00
Pulse Monitor
1da7ca4ea7 feat: add timestamp to token names for true uniqueness
Token names now include both Pulse server IP and Unix timestamp (e.g. pulse-192-168-0-176-1754816525) ensuring each script run creates a unique token. This completely eliminates 'token already exists' errors when running setup scripts multiple times.
2025-08-10 09:02:52 +00:00
Pulse Monitor
5a98e05cb0 feat: add Pulse server IP to token names for uniqueness
When running the setup script multiple times from different Pulse servers, tokens now include the Pulse server's IP address in the name (e.g. pulse-192-168-0-176) to avoid conflicts. This prevents 'token already exists' errors when managing multiple Pulse instances.
2025-08-10 08:58:04 +00:00
Pulse Monitor
aafa90f9db fix: enable PBS backup monitoring by default
- PBS instances now have MonitorBackups enabled by default
- Fixes issue where PBS backups weren't showing in the UI
- Bump version to v4.1.1
2025-08-10 08:27:20 +00:00
Pulse Monitor
6d633aa486 fix: correct hardcoded fallback version to 4.1.0 2025-08-10 07:44:40 +00:00
Pulse Monitor
d57dcd2fb8 fix: install script now properly installs frontend files
- Frontend-modern directory is now copied to /usr/local/bin during installation
- Fixes ERR_TOO_MANY_REDIRECTS issue (#268)
- Ensures UI is accessible after binary installation
2025-08-10 07:12:47 +00:00
Pulse Monitor
792b897602 chore: bump version to v4.1.0 2025-08-10 06:59:53 +00:00
Pulse Monitor
68e8ef69f6 fix: Docker permission issues and alert history file access
- Fixed Docker entrypoint to properly handle running as root (PUID=0)
- Improved alert history loading to handle permission errors gracefully
- Container now correctly runs as root when PUID=0 is set
- Alert history continues loading even if backup file has permission issues

Addresses #266 and #262
2025-08-10 06:51:45 +00:00
Pulse Monitor
f8ef3f9259 fix: multiple critical issues in monitoring and notifications
- PBS instances now show as online when datastores are accessible even if version endpoint fails
- Email sending now uses proper STARTTLS support for compatibility with providers like SMTP2GO
- Email recipient input no longer filters entries while typing
- Auto-update setting now properly persists and loads from config
- Fixed CPU usage alerts for offline VMs (already addressed in previous commits)
2025-08-09 23:26:12 +00:00
Pulse Monitor
da5069ecb5 fix: show PBS backup verification status correctly
- Use actual verified field from backend for PBS backups through PVE storage
- Was incorrectly hardcoded to null causing verified checkmarks not to show
2025-08-09 22:43:53 +00:00
Pulse Monitor
392d7177e0 chore: bump version to v4.1.0-rc.8 2025-08-09 22:42:15 +00:00
Pulse Monitor
0ebfb8ec01 hotfix: backup type detection for PBS backups
- Added format field checking for pbs-ct and pbs-vm
- Changed unknown type fallback from VM to LXC (more common)
- Fixes issue where all backups showed as VM type
2025-08-09 22:42:04 +00:00
Pulse Monitor
43e9a38dca chore: bump version to v4.1.0-rc.7 2025-08-09 22:32:43 +00:00
Pulse Monitor
026a0b2e17 attempt to address: CT templates showing in backups tab
- Skip vztmpl and iso types from backup display as they are not actual backups
- These are container templates and ISO images, not backup files
2025-08-09 22:31:11 +00:00
Pulse Monitor
a368d3b3c9 attempt to address: Discord webhooks, backup types, storage duplicates, alert issues
- Added service field to WebhookConfig to identify Discord webhooks
- Use Discord-specific template when sending Discord webhooks
- Fixed backup type detection for PBS backups (vm/ct)
- Fixed shared storage duplicate IDs across instances
- Fixed alert acknowledge/clear response format to match frontend expectations
2025-08-09 22:27:10 +00:00
Pulse Monitor
9b72c26994 chore: remove test artifacts and videos 2025-08-09 22:06:26 +00:00
Pulse Monitor
436abdd8e0 chore: bump version to v4.1.0-rc.6 2025-08-09 21:52:30 +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
2aed21530b chore: reset version to match latest GitHub release (rc.5) 2025-08-09 21:47:20 +00:00
Pulse Monitor
47283271c3 chore: cleanup test files and restore GitHub release checking 2025-08-09 21:45:36 +00:00
Pulse Monitor
3f897f42fa fix: clear user instructions for manual refresh after updates 2025-08-09 21:43:17 +00:00
Pulse Monitor
4c8094e4ac fix: auto-restart after update using clean exit strategy 2025-08-09 20:57:00 +00:00
Pulse Monitor
311ef7619e fix: critical production issues for v4.1.0-rc.5
- Fixed Discord/Slack/Teams webhooks not persisting (Issue #272)
- Fixed email recipients not saving and Enter key issue (Issue #270)
- Fixed auto-update toggle not saving (Issue #269)
- Fixed false CPU alerts for stopped VMs/containers (Issue #273)
- Automatic alert clearing for stopped guests
- Preserve passwords when updating email config

chore: bump version to v4.1.0-rc.5
2025-08-09 18:27:30 +00:00
Pulse Monitor
b4dd5937f9 chore: bump version to v4.1.0-rc.4 2025-08-09 16:50:53 +00:00
Pulse Monitor
25cef39af1 chore: bump version to v4.1.0-rc.3 2025-08-09 15:19:01 +00:00
Pulse Monitor
7f414623fc fix: ensure consistent CPU core display for all guests
- Fix CPU core display to show for all guests with CPU data
- Previously only showed cores when CPU > 0 (truthy)
- Now shows "(0.0/X cores)" consistently for all running/stopped guests
- Improve code organization with new helper utilities
- Clean up import statements and remove debug logs
2025-08-09 15:03:28 +00:00
Pulse Monitor
fce003b559 fix: polling interval now persists through restarts
- System.json settings now take priority over environment variables
- Fixed issue where POLLING_INTERVAL env var would override saved settings
- Polling interval changes in UI now persist correctly after restart
2025-08-09 12:59:21 +00:00
Pulse Monitor
da7f3974b8 docs: remove resolved Proxmox helper issue documentation
The issue with tteck's Proxmox VE Helper Scripts has been resolved via merged PR
2025-08-09 11:59:12 +00:00
Pulse Monitor
1bafafa067 chore: remove unnecessary design document 2025-08-09 11:57:36 +00:00