js-apps/frontend/src/js/app-container.js
0 → 100644
+1531
−0
File added.
Preview size limit exceeded, changes collapsed.
Loading
When you selected "Select a network", the configuration-pane.js component told the app-container.js "Hey, we are terminating!" But the app-container.js left the global Redux scenario state completely intact while it waited for the meep-virt-engine pods to finish terminating in the background. Because the global Redux state wasn't cleared out immediately, configuration-pane.js was looking at the global state and saying, "Wait, there's still an active scenario in global state, but my dropdown is set to 'Select a network'. Let me sync myself with the global state!" And BAM—it forcefully snapped the dropdown back to the simulated network. Then, seconds later, the backend finally finished deleting pods, returned a status: inactive payload, and app-container.js finally cleared the global state. Fix: - **Immediate State Clearing:** Modified `app-container.js` to instantly nullify the global scenario state in Redux the exact millisecond a termination is triggered. This provides immediate visual feedback (clearing API tables) and removes the old data that was causing the auto-sync. - **Polling Suppression:** Added a guard in `app-container.js` to completely ignore polled active scenario data as long as `terminationInProgressCount` is active. - **Dropdown Sync Guard:** Added a check in `configuration-pane.js` to prevent the dropdown from attempting to auto-restore itself during an active termination. - **Timeout Extension:** Increased the fallback `terminationInProgressCount` timeout from 5 seconds to 30 seconds to safely accommodate large scenario teardowns.
File added.
Preview size limit exceeded, changes collapsed.