- Replace time-based cleanup with on-demand cleanup in development mode
- Cleanup is triggered immediately after AI analysis completes
- Added runPostAnalysisCleanup() method to aggressive-cleanup service
- Cleanup triggers added to both single and batch analysis endpoints
- More efficient: cleanup happens only when needed, not on timer
- Prevents zombie processes without interfering with active analysis
- Production mode still uses periodic cleanup as backup (10 min intervals)
- Gentle cleanup in development: SIGTERM first, then SIGKILL if needed
- Create /api/batch-analysis endpoint that collects ALL screenshots first
- Then sends all screenshots to AI for comprehensive analysis
- Fixes issue where individual timeframes were analyzed immediately
- Multi-timeframe analysis now provides cross-timeframe consensus
- Update AIAnalysisPanel to use batch analysis for multiple timeframes
- Maintains backward compatibility with single timeframe analysis
- Added aggressive cleanup system that runs every 5 minutes to kill orphaned processes
- Enhanced process cleanup with better signal handling and forced cleanup
- Added startup initialization system to ensure cleanup is properly loaded
- Integrated cleanup system into app layouts for automatic initialization
- Added zombie process cleanup and temp directory cleanup
- Improved Docker container restart behavior for proper process cleanup
- Resolves issue with zombie Chrome processes accumulating