Commit Graph

50 Commits

Author SHA1 Message Date
aefa41f273 Phase A.1 - Add sortable Request Details Table to waterfall 2025-12-28 02:48:12 +11:00
d2a695ac36 Add waterfall sorting controls - default slowest to fastest 2025-12-28 02:42:49 +11:00
1d39e77fd6 Waterfall Phase 1.3 - Add resource type badges (HTML, CSS, JS, IMG) 2025-12-28 02:34:02 +11:00
600d231e7c Waterfall Phase 1.2 - Add vertical grid lines for time visualization 2025-12-28 02:32:38 +11:00
50fee336c1 Waterfall Phase 1.1 - Add request numbering, status colors, inline metrics 2025-12-28 02:31:10 +11:00
038e62415a Fix waterfall and comparison dark mode backgrounds 2025-12-28 02:24:18 +11:00
4ca5ab1d71 Fix corrupted main.js syntax error that broke entire site 2025-12-28 02:14:56 +11:00
9323293464 Critical fixes: Cache busting + Remove throttling + Ensure correct defaults
1. Browser Cache Fix:
   - Added ?v=4.0 to main.js to force browser reload
   - This ensures new comparison/waterfall UI loads

2. Remove ALL Throttling:
   - Disabled Lighthouse network throttling (rttMs=0, throughput=0)
   - Disabled CPU throttling (cpuSlowdownMultiplier=1)
   - Set throttlingMethod to 'provided' (no simulation)
   - Applies to both mobile and desktop tests

3. Backend Default Already Fixed:
   - isMobile defaults to false (desktop) matching frontend

This fixes all 3 reported issues
2025-12-28 02:01:45 +11:00
79439f7bfa Fix device selection default mismatch + Integrate Waterfall & Comparison
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
2025-12-28 01:55:27 +11:00
ce1aa88d87 Add Test Comparison View (Phase 13)
Features Added:
- Side-by-side test comparison page
- Metric delta calculation with percentage changes
- Color-coded indicators (green=better, red=worse)
- Test metadata display (URL, timestamp, device)
- Performance score, LCP, CLS, TBT comparison

Technical Implementation:
- Created compare.html with dual-test input
- Automatic metric fetching from test IDs
- Nested value extraction for flexible comparison
- Responsive comparison grid layout
2025-12-28 01:45:05 +11:00
fd67a8a4fa Add Export APIs & Optimization Checks (Phases 14-15)
Features Added:
- HAR file export endpoint (/api/export/:testId/har)
- CSV metrics export endpoint (/api/export/:testId/csv)
- Optimization checker analyzing 8 categories:
  * Image optimization
  * Text compression (gzip/brotli)
  * Cache policies
  * Render-blocking resources
  * Unused JavaScript
  * Unused CSS
  * HTTP/2 adoption
  * Code minification
- Frontend optimization checklist with color-coded warnings
- Export buttons integrated into results UI

Technical Implementation:
- Created lib/optimization-checker.js with Lighthouse audit analysis
- Added optimization score calculation (0-100%)
- Potential time savings displayed for each check
- Export buttons wired to download endpoints
- Optimization data saved alongside each test result
2025-12-28 01:41:33 +11:00
57c5209108 Add Advanced Test Settings foundation (Phase 12 WIP)
Features Added:
- Throttling presets (4G, 3G Fast, 3G, 2G, Cable, Custom)
- Advanced settings toggle component
- Settings extraction API for test configuration
- Network throttling configuration UI

Technical Implementation:
- Created advanced-settings.js with throttling management
- Prepared foundation for multiple runs support
- Ready for backend integration with Lighthouse throttling flags

Note: Full Phase 12-19 implementation in progress
2025-12-28 01:37:15 +11:00
8d9e0380b6 Add Content Breakdown & Domain Analysis
Features Added:
- Canvas-based pie chart showing resource distribution by type
- Content breakdown statistics table
- Compression savings percentage display
- Resource counts and sizes by type
- Automatic rendering after test completion

Technical implementation - Created breakdown.js with drawPieChart and renderContentBreakdown functions
2025-12-28 01:33:42 +11:00
4aa890da6f Add Waterfall Chart & Request Inspector
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
2025-12-28 01:32:27 +11:00
541f451f15 Restructure README layout to match design requirements 2025-12-28 01:19:46 +11:00
c448b183c8 Update license to GPL-3.0 and enhance README link visibility 2025-12-28 01:13:04 +11:00
ad613e8c5e Update README with hosted repo screenshots 2025-12-28 01:06:35 +11:00
4a07d680fe Overhaul README with real project screenshots and feature list 2025-12-28 01:05:14 +11:00
91dd847339 Fix: History query logic to prioritize UUID over IP 2025-12-28 00:52:53 +11:00
ae862f0f84 Set default emulation to Desktop 2025-12-28 00:46:08 +11:00
7206412704 Fix: Implement Test Queue and Unique Profiles for Concurrency 2025-12-28 00:41:38 +11:00
c475c2cee0 Update project title and description 2025-12-28 00:40:29 +11:00
f757106f89 Fix: Force random port for Chrome to resolve concurrency issues 2025-12-28 00:35:19 +11:00
5ae3b0d036 Implement PostgreSQL history with user isolation 2025-12-28 00:13:43 +11:00
d83a93da7e Cleanup debug scripts 2025-12-28 00:00:32 +11:00
31b5b11ff2 Add debug all imports 2025-12-27 23:55:35 +11:00
073c65dd6f Add debug lighthouse import 2025-12-27 23:54:09 +11:00
82c4e9f7c1 Fix Runner: Use correct import for chrome-launcher 2025-12-27 23:50:50 +11:00
931c773dfd Add debug import script 2025-12-27 23:50:12 +11:00
561d0a9824 Add ESM debug script 2025-12-27 23:49:08 +11:00
3cb949b381 Add debug script 2025-12-27 23:47:36 +11:00
89209b71e2 Fix Runner: Explicitly set chromium path on Linux 2025-12-27 23:45:17 +11:00
c332ba1b45 Rename script.js to main.js to force cache clear 2025-12-27 23:31:13 +11:00
04245e33ae Fix Frontend: Use addEventListener instead of onclick, add debug logs, cache bust 2025-12-27 23:19:41 +11:00
f7a1f1be42 Fix ERR_REQUIRE_ESM: Use dynamic import for uuid 2025-12-27 23:13:47 +11:00
782aaf63a6 Fix ERR_REQUIRE_ESM: Use dynamic import for Chrome Launcher 2025-12-27 23:10:02 +11:00
557cb3261f Fix ERR_REQUIRE_ESM: Use dynamic import for Lighthouse 2025-12-27 23:03:51 +11:00
debc643780 Update repair scripts and auto-sync logic 2025-12-27 22:57:25 +11:00
18b3c339fe Fix Git Info API: Use absolute path to git binary 2025-12-27 22:52:33 +11:00
7cc2a94dd0 System Recovery: Auto-execute SSH fix via postinstall hook 2025-12-27 22:48:25 +11:00
32f822a051 Fix UI caching issue: Bump styles.css version to 2.1 2025-12-27 22:39:00 +11:00
6dc5b76119 Configure 60s Sync Interval & Fix SSH Connection Limits 2025-12-27 22:34:57 +11:00
aebd9934e5 Add high-reliability 30s auto-sync configuration (Systemd Timer) 2025-12-27 22:29:15 +11:00
f253b8678f Feature Complete: WebPageTest Clone
- 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
2025-12-27 22:21:17 +11:00
264325112e Implement Core Performance Testing Engine (Phase 1 & 2)
- 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
2025-12-27 22:18:41 +11:00
26165461fd Cleanup diagnostic files and update deployment script 2025-12-27 22:09:04 +11:00
550ab8486f Updated deployment template with real-world fixes and TurnKey troubleshooting 2025-12-27 21:59:27 +11:00
8410a9a07d Enhanced footer with sleek GitHub link and beautiful Git version badge 2025-12-27 21:54:35 +11:00
d7f534284a 🚀 Setup automated deployment system with comprehensive credential protection
- Added Express server with Git info API endpoint
- Created automated deployment scripts (systemd-based, not PM2)
- Implemented 5-minute auto-sync with GitHub
- Enhanced .gitignore with 200+ credential protection patterns
- Added Git version badge to UI footer
- Created comprehensive deployment documentation
- Added TurnKey Nginx fix for default control panel issue
- Included security verification tools

All credentials protected and verified safe for deployment.
2025-12-27 21:34:08 +11:00
b4bddb2aa0 Initial commit 2025-12-27 21:03:18 +11:00