- Build indicator list dynamically from class getMetadata() instead of hardcoded array
- Remove checkboxes; single-click previews config, double-click adds to chart
- Support multiple instances of same indicator type (unique IDs)
- Add TradingView-style column legend overlay on chart (top-left)
- Recalculate indicators when historical data is prefetched on scroll
- Make indicator list and config panels scrollable (hidden scrollbars)
- Remove AVAILABLE_INDICATORS from strategies/config.js
- Split inline JS into separate ES module files (indicators/, strategies/, ui/, utils/)
- Fix brain.py strategy registry to use MAStrategy directly instead of missing modules
- Add auto-backfill for detected data gaps in collector monitoring loop
- Fix chart resize on sidebar toggle
- Fix chart scrollToTime -> setVisibleLogicalRange