mirror of
https://github.com/taylanbakircioglu/haproxy-openmanager.git
synced 2026-09-18 08:35:28 +00:00
8c4d7c246c
🐛 Critical Cross-Cluster Data Bleeding - System-Wide Fix: Fixed old cluster's data appearing when switching clusters across 4 components Root Cause: - User switches from Cluster A to Cluster B - Old cluster data remains in React state during API fetch - Race condition: UI shows Cluster A data while fetching Cluster B - Backend page: Data persisted after fetch - Frontend page: Data briefly appeared then disappeared ✅ Components Fixed (State Clearing on Cluster Change): 1. BackendServers.js (Line 115-122) - Clear: backends, filteredBackends, frontends, sslCertificates 2. FrontendManagement.js (Line 150-157) - Clear: frontends, filteredFrontends, backends, sslCertificates 3. WAFManagement.js (Line 277-282) - Clear: rules, filteredRules, frontends 4. DashboardV2.js (Line 402-407) - Clear: statsData, frontendOptions, backendOptions, backendHealth, slowestBackends Already Had State Clearing: ✓ SSLManagement.js ✓ AgentManagement.js ✓ Configuration.js ✓ ApplyManagement.js ✨ UI Enhancement: Backend Server SSL Dropdown Redesigned to match Frontend SSL dropdown design: Before: star-burgan-com-tr - *.burgan.com.tr (Expires: 2/25/2026) After: star-burgan-com-tr - *.burgan.com.tr [🌍 Global] ✅ (125 days) demo-cert - *.apps.cluster.example.com [📍 Cluster] ✅ (1502 days) Features Added: ✅ Status icons: valid, ⚠️ expiring soon, ❌ expired ✅ Days until expiry countdown ✅ SSL type tags: 🌍 Global (blue) or 📍 Cluster (green) ✅ Better layout with flex spacing ✅ optionLabelProp for compact selected view 🎯 Impact Analysis - All Components Safe: Tested 8 components with selectedCluster dependency: ✓ BackendServers - State clearing added ✓ FrontendManagement - State clearing added ✓ WAFManagement - State clearing added ✓ DashboardV2 - State clearing added ✓ SSLManagement - Already had clearing ✓ AgentManagement - Already had clearing ✓ Configuration - Already had clearing ✓ ApplyManagement - Already had clearing No Breaking Changes: - Only added state clearing in useEffect - Fetch logic unchanged - Response handling unchanged - UI components unchanged (except SSL dropdown enhancement) ✅ Cross-cluster data bleeding completely resolved