dennii
65383788b1
V2 Feature overhaul and improvements
2025-12-29 12:12:38 +11:00
dennii
a8f64580c7
Add DB verification script
2025-12-29 11:16:30 +11:00
dennii
3b2e6f5a9a
Add fix_schema.sql to ensure DB columns exist
2025-12-29 11:15:55 +11:00
dennii
36c9148bdd
Fix Postgres JSONB error - explicit stringify
2025-12-29 11:13:13 +11:00
dennii
e30112af4b
Fix TypeError - make jsonPath mutable
2025-12-29 11:02:00 +11:00
dennii
de092bf730
Fix SyntaxError - duplicate jsonPath
2025-12-29 10:58:30 +11:00
dennii
63032d0763
Fix SyntaxError in runner.js - allow summary reassignment
2025-12-29 10:58:14 +11:00
dennii
f21308cfae
Fix runner.js - even safer property access
2025-12-29 10:56:57 +11:00
dennii
8838a7af07
Fix runner.js crash - basic check for LHR existence
2025-12-29 10:56:00 +11:00
dennii
390b9477f3
Cleanup main.js - removed dead multi-run code
2025-12-29 10:55:35 +11:00
dennii
da6c67b72d
Fix crashes in runner.js and git command in server.js
2025-12-29 10:54:59 +11:00
dennii
4c888b0500
Fix database insert - add user_ip column
2025-12-29 10:50:16 +11:00
dennii
110eb7a3f8
Remove multi-run feature completely - simplify to single test execution only
2025-12-29 10:45:05 +11:00
dennii
947312906f
Cleanup: Remove invalid postinstall script and verify project structure
2025-12-29 10:35:38 +11:00
dennii
307d7be63c
chore: clean up project - remove temporary files and add quick setup guide
...
- Removed 18 temporary/test files (check_data.js, test_db_insert.js, etc.)
- Removed old deployment scripts and debug utilities
- Added setup.sh for one-command deployment
- Rewrote QUICKSTART.md with comprehensive 3-step setup guide
- Enhanced ecosystem.config.js with logging and restart config
- Project is now clean and deployment-ready
2025-12-28 23:12:10 +11:00
dennii
64bdc868b2
chore: remove db credentials from tracking and add template file
2025-12-28 23:04:08 +11:00
dennii
fc16340c25
Tools: Sync all password updates
2025-12-28 22:13:32 +11:00
dennii
aa0589f667
Config: Update DB password to simpler string
2025-12-28 22:13:17 +11:00
dennii
743fc54363
Tools: Add DB insert test script
2025-12-28 22:11:30 +11:00
dennii
1081d22228
Fix: Add missing DB insert query in runner.js
2025-12-28 22:07:55 +11:00
dennii
9a5212de9e
Fix: View Images button logic
2025-12-28 22:07:20 +11:00
dennii
ec09d995aa
Fix: Hardcode credentials in check script
2025-12-28 22:06:03 +11:00
dennii
f9d4ef612f
Tools: Add script to check DB data
2025-12-28 22:04:32 +11:00
dennii
bf5adf89fa
Tools: Whitelist and add password reset script
2025-12-28 22:00:44 +11:00
dennii
e67d35c6a4
Tools: Force add password reset SQL
2025-12-28 22:00:04 +11:00
dennii
b145f91ff2
Tools: Add postgres setup script
2025-12-28 21:36:11 +11:00
dennii
8697831677
Tools: Add local DB verification script
2025-12-28 21:32:22 +11:00
dennii
a3503ba8d0
Fix(UI): Remove stray HTML tags causing layout gap
2025-12-28 21:27:48 +11:00
dennii
097109b3e9
Refactor: Remove multi-run option from UI and logic
2025-12-28 21:22:41 +11:00
dennii
4208e79a58
Cleanup: Remove temporary operational files
2025-12-28 21:19:50 +11:00
dennii
1d14408830
Fix(runner): Restore missing DB insert query in rollback
2025-12-28 21:09:16 +11:00
dennii
ebea27d687
Retry: Add Rerun button and fix run count usage in main.js
2025-12-28 12:30:03 +11:00
dennii
11f2b4f11c
Critical Fix: Resolve Whammy.js crash on undefined duration
2025-12-28 11:59:08 +11:00
dennii
7cfe4f74a5
Fix video generation crash: patch Whammy.js logic and safeguard empty frames
2025-12-28 11:55:27 +11:00
dennii
83cec85258
Optimize video generation: Fixed 30fps Whammy implementation
2025-12-28 11:52:11 +11:00
dennii
deaa23f8bd
Revert main.js optimization to fix broken website
2025-12-28 11:49:47 +11:00
dennii
c90dc96d12
Optimize Whammy implementation: Use fixed 30fps and precise frame interpolation
2025-12-28 11:46:13 +11:00
dennii
04dd7de2f2
Implement high-res video capture with Puppeteer integration in test runner
2025-12-28 11:42:06 +11:00
dennii
c1725b202a
Replace video generation with Whammy.js for perfect sizing and quality
2025-12-28 11:36:02 +11:00
dennii
fe24f638c6
Fix video duration and quality: use timeslice and proper frame timing
2025-12-28 11:31:26 +11:00
dennii
1a57b84285
Fix MediaRecorder error: remove conflicting keyframe parameter
2025-12-28 11:27:08 +11:00
dennii
0dbd593e9a
Fix video quality: force high bitrate with multiple parameters and 30fps
2025-12-28 11:24:31 +11:00
dennii
8eb02acf40
Increase video bitrate to 75 Mbps (15x quality boost)
2025-12-28 11:20:58 +11:00
dennii
1342571271
Fix video download: 1080p resolution and improved browser compatibility
2025-12-28 11:17:02 +11:00
dennii
03ce5f1e9b
Enhance video modal: increase size and add download functionality
2025-12-28 11:13:53 +11:00
dennii
4eb2b45cbe
Fix: Add video modal HTML to index.html
2025-12-28 11:09:32 +11:00
dennii
f9062bc4d7
Add missing video modal HTML and CSS components
2025-12-28 11:06:57 +11:00
dennii
7dba6a8183
Fix View Video button and restore View Images button
2025-12-28 11:02:33 +11:00
dennii
0419bd6a9e
Implement all Gap Analysis features: Visualization, Network, Bulk, Compare
2025-12-28 10:56:28 +11:00
dennii
9cd5cac287
Phase 3: Add filmstrip column to DB and update runner
2025-12-28 10:29:40 +11:00
dennii
039e126d9a
Update auto-sync scripts to use git reset --hard
2025-12-28 10:17:18 +11:00
dennii
929477c1f7
Enable Capture Filmstrip by default
2025-12-28 10:12:22 +11:00
dennii
a037b6f2e1
Remove temporary test and debug files
2025-12-28 10:09:01 +11:00
dennii
d4ce23b19a
Restore filmstrip feature, fix server crash, and rename Grade label
2025-12-28 09:42:24 +11:00
dennii
cc5460fa7a
Fix: Add missing Filmstrip Checkbox to HTML
2025-12-28 05:29:03 +11:00
dennii
7d9c7d9651
Feat: Complete UI implementation for GTmetrix dashboard
2025-12-28 05:09:13 +11:00
dennii
3797a45628
Feat: Update UI with GTmetrix dashboard and filmstrip checkbox
2025-12-28 05:08:20 +11:00
dennii
50dcf9b498
Feat: Add backend support for filmstrip capture
2025-12-28 05:08:12 +11:00
dennii
d345694b01
Fix: Add missing generateTestId function causing server crash
2025-12-28 04:50:41 +11:00
dennii
98b92c1a20
Complete README overhaul with comprehensive feature documentation and real screenshots
2025-12-28 03:57:41 +11:00
dennii
6df9b0e44f
Make Recent Tests URLs clickable to reload results
2025-12-28 03:40:18 +11:00
dennii
39bf1e1dc8
Phase C.3 - Add multi-run frontend UI (dropdown, progress, polling)
2025-12-28 03:26:57 +11:00
dennii
aaa712b7e4
Phase C.2 - Multi-run frontend (UI, progress, results display)
2025-12-28 03:15:17 +11:00
dennii
88358406f4
Phase C.1 - Multi-run backend implementation (database + execution logic)
2025-12-28 03:13:08 +11:00
dennii
0e29d75bc3
Phase B.1 - Add Connection View with socket grouping
2025-12-28 03:07:07 +11:00
dennii
c6a9d914df
Add images gallery link handler to main.js
2025-12-28 03:00:49 +11:00
dennii
f01a829ca4
Phase A.4 - Add Page Images Gallery with optimization analysis
2025-12-28 03:00:03 +11:00
dennii
9c5cb3bf7a
Phase A.3 Complete - Integrate grades display into UI
2025-12-28 02:57:35 +11:00
dennii
ec6793753c
Phase A.3 - Add Performance Grades (A-F letter grades)
2025-12-28 02:56:26 +11:00
dennii
fbd73f4cdc
Phase A.2 - Add expandable Request/Response Headers view
2025-12-28 02:54:45 +11:00
dennii
aefa41f273
Phase A.1 - Add sortable Request Details Table to waterfall
2025-12-28 02:48:12 +11:00
dennii
d2a695ac36
Add waterfall sorting controls - default slowest to fastest
2025-12-28 02:42:49 +11:00
dennii
1d39e77fd6
Waterfall Phase 1.3 - Add resource type badges (HTML, CSS, JS, IMG)
2025-12-28 02:34:02 +11:00
dennii
600d231e7c
Waterfall Phase 1.2 - Add vertical grid lines for time visualization
2025-12-28 02:32:38 +11:00
dennii
50fee336c1
Waterfall Phase 1.1 - Add request numbering, status colors, inline metrics
2025-12-28 02:31:10 +11:00
dennii
038e62415a
Fix waterfall and comparison dark mode backgrounds
2025-12-28 02:24:18 +11:00
dennii
4ca5ab1d71
Fix corrupted main.js syntax error that broke entire site
2025-12-28 02:14:56 +11:00
dennii
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
dennii
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
dennii
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
dennii
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
dennii
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
dennii
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
dennii
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
dennii
541f451f15
Restructure README layout to match design requirements
2025-12-28 01:19:46 +11:00
dennii
c448b183c8
Update license to GPL-3.0 and enhance README link visibility
2025-12-28 01:13:04 +11:00
dennii
ad613e8c5e
Update README with hosted repo screenshots
2025-12-28 01:06:35 +11:00
dennii
4a07d680fe
Overhaul README with real project screenshots and feature list
2025-12-28 01:05:14 +11:00
dennii
91dd847339
Fix: History query logic to prioritize UUID over IP
2025-12-28 00:52:53 +11:00
dennii
ae862f0f84
Set default emulation to Desktop
2025-12-28 00:46:08 +11:00
dennii
7206412704
Fix: Implement Test Queue and Unique Profiles for Concurrency
2025-12-28 00:41:38 +11:00
dennii
c475c2cee0
Update project title and description
2025-12-28 00:40:29 +11:00
dennii
f757106f89
Fix: Force random port for Chrome to resolve concurrency issues
2025-12-28 00:35:19 +11:00
dennii
5ae3b0d036
Implement PostgreSQL history with user isolation
2025-12-28 00:13:43 +11:00
dennii
d83a93da7e
Cleanup debug scripts
2025-12-28 00:00:32 +11:00
dennii
31b5b11ff2
Add debug all imports
2025-12-27 23:55:35 +11:00
dennii
073c65dd6f
Add debug lighthouse import
2025-12-27 23:54:09 +11:00
dennii
82c4e9f7c1
Fix Runner: Use correct import for chrome-launcher
2025-12-27 23:50:50 +11:00
dennii
931c773dfd
Add debug import script
2025-12-27 23:50:12 +11:00
dennii
561d0a9824
Add ESM debug script
2025-12-27 23:49:08 +11:00