Bug Fix:
- Backend was defaulting to mobile (isMobile ?? true)
- Frontend was defaulting to desktop
- Changed runner.js default to false (desktop) to match frontend
Feature Integration:
- Added Waterfall button to each history item
- Added comparison checkboxes to history for easy test selection
- Auto-limit to 2 tests for comparison
- Comparison controls appear dynamically when tests selected
- Auto-load comparison when URL params present
Features Added:
- Interactive waterfall timeline visualization
- Color-coded timing bars (DNS, Connect, SSL, TTFB, Download)
- Request filtering by resource type (HTML, JS, CSS, Images, Fonts)
- Detailed request inspector dialog with timing breakdown
- HAR data extraction from Lighthouse results
- Size/compression metrics display
- Third-party resource identification
- Render-blocking resource detection
Technical Implementation:
- Created lib/har-parser.js for network data extraction
- Built waterfall.html with SVG-based timeline renderer
- Added waterfall.js with interactive controls
- Integrated HAR generation into test runner workflow
- Updated main UI with View Waterfall link
- Implemented Test Launcher UI (index.html)
- Added 'View Full Report' functionality using Lighthouse HTML reports
- Configured runner.js for robust Headless Chrome execution on Linux
- Updated styles for form and results dashboard
- Added Lighthouse and Chrome Launcher dependencies
- Created lib/runner.js test runner service
- Implemented filesystem storage for test results
- Added API endpoints: POST /api/run-test and GET /api/history