Skip to content

1.9.20

Choose a tag to compare

@juddisjudd juddisjudd released this 07 Dec 02:03
· 7 commits to main since this release

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.tsx with loading state management
  • Enhanced PassiveTreeWindow.css with disabled dropdown styling and loading animation
  • Modified switch-tree-loadout IPC handler in main.ts to 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