1.9.20
v1.9.20 - Loadout Switching Performance Fix
Performance Improvements
Fixed Passive Tree Loadout Switching Performance Regression
- Resolved performance issue introduced in v1.9.19 where loadout switching had a 2-second delay
- Loadout switches now return tree data immediately while file saves happen asynchronously in the background
- Added visual loading indicator during loadout switches for better user feedback
UI/UX Enhancements
Passive Tree Window - Loadout Switcher
- Dropdown now shows disabled state during loadout switching to prevent accidental double-clicks
- Added pulsing "Loading..." indicator next to dropdown during switches
- Improved visual feedback makes the switching process feel more responsive
Technical Details
Non-Blocking File Operations
- Changed loadout switching to use fire-and-forget pattern for debounced writes
- Tree data returns immediately to the UI while gem data and passive tree data save in the background
- Maintains data integrity while improving perceived performance
Component Updates
- Updated
PassiveTreeWindow.tsxwith loading state management - Enhanced
PassiveTreeWindow.csswith disabled dropdown styling and loading animation - Modified
switch-tree-loadoutIPC handler inmain.tsto use non-blocking writes
What This Fixes
In v1.9.19, the I/O optimization implementation introduced a 2-second delay when switching passive tree loadouts due to awaiting debounced file writes. This release eliminates that delay by making writes asynchronous while still maintaining the I/O optimization benefits (80-90% reduction in disk writes).
Full Changelog: v1.9.19...v1.9.20