mirror of
https://github.com/taylanbakircioglu/haproxy-openmanager.git
synced 2026-09-19 09:05:43 +00:00
b29c9e044e
This update consolidates bug fixes and improvements from internal development: ## Multi-Cluster Isolation (CRITICAL) - Backend delete now isolated per cluster (added cluster_id to WHERE clauses) - Orphan config version auto-detection and cleanup - Prevents cross-cluster contamination when deleting entities - REJECTED entities excluded from pending list ## Apply Management Fixes - Fixed phantom pending entities (REJECTED entities no longer shown) - Fixed cluster switch 404 errors (state cleared before fetch) - Fixed page reload not refreshing data (added mount useEffect) - Orphan entity status auto-cleanup on reject ## Backend Delete Improvements - Added cluster_id to server/frontend updates (multi-cluster safe) - Automatic ACL/use_backend cleanup from frontends - NULL cluster_id support for legacy data - Prevents HAProxy validation errors ## Orphan Version Detection - Backend GET: Validates entity belongs to version's cluster - Frontend GET: Validates entity belongs to version's cluster - Apply: Auto-detects and removes orphan versions before apply - Reject: Auto-detects and removes orphan versions before reject ## UI/UX Improvements - Apply Management state management improved - Debug logging for troubleshooting - Better cluster switch handling - README: Orphan version troubleshooting section Technical Changes: - backend/routers/backend.py: Multi-cluster isolation, orphan detection, NULL handling - backend/routers/frontend.py: Orphan detection, REJECTED filter - backend/routers/cluster.py: Orphan auto-cleanup, entity status cleanup - frontend/ApplyManagement.js: State management, mount useEffect - README.md: Troubleshooting documentation Impact: - Multi-cluster environments now fully isolated ✅ - Orphan config versions automatically cleaned ✅ - REJECTED entities properly filtered ✅ - Apply Management works correctly across cluster switches ✅ - No manual database intervention needed ✅