mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-15 09:49:48 +00:00
The alert acknowledgment endpoints were hanging because GetState() was called synchronously to broadcast updates via WebSocket, which could take significant time with many nodes/guests. This caused the HTTP response to timeout, showing an error to users even though the alert was successfully acknowledged. Fixed by: - Sending HTTP response immediately after acknowledging the alert - Moving WebSocket broadcast to a goroutine to avoid blocking - Applied fix to all alert endpoints (acknowledge, unacknowledge, clear, bulk ops) This resolves the issue where users saw 'Failed to acknowledge alert' errors but the alert was actually acknowledged (disappeared on refresh). |
||
|---|---|---|
| .. | ||
| alerts.go | ||
| auth.go | ||
| config_handlers.go | ||
| csrf_store.go | ||
| diagnostics.go | ||
| DO_NOT_EDIT_FRONTEND_HERE.md | ||
| frontend_embed.go | ||
| guest_metadata.go | ||
| middleware.go | ||
| notifications.go | ||
| rate_limit_config.go | ||
| ratelimit.go | ||
| README.md | ||
| recovery_tokens.go | ||
| router.go | ||
| security.go | ||
| security_setup_fix.go | ||
| session_store.go | ||
| settings.go | ||
| system_settings.go | ||
| types.go | ||
| updates.go | ||
Internal API Package
This directory contains the API server implementation for Pulse.
Important Note About frontend-modern/
The frontend-modern/ subdirectory that appears here is:
- AUTO-GENERATED during builds
- NOT the source code - just a build artifact
- IN .gitignore - never committed
- REQUIRED BY GO - The embed directive needs it here
Frontend Development Location
👉 Edit frontend files at: /opt/pulse/frontend-modern/src/
Why This Structure?
Go's //go:embed directive has limitations:
- Cannot use
../paths to access parent directories - Cannot follow symbolic links
- Must embed files within the Go module
This is a known Go limitation and our structure works around it.