From 2de6abe1330a2540e8e702361b3df510c00df152 Mon Sep 17 00:00:00 2001 From: magdev Date: Sat, 24 Jan 2026 10:21:49 +0100 Subject: [PATCH] Update CLAUDE.md with v0.3.7 session history Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 7 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f67d72c..654392c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,14 +36,9 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w No known bugs at the moment. -### Version 0.3.7 +### Version 0.3.8 -- Fixed: Dashboard widget "View All Licenses" link used wrong page slug -- Fixed: Download links in customer account resulted in 404 errors (missing query var registration) -- Removed: Redundant "Status Breakdown" section from dashboard widget (info already in stat cards) -- Changed: License Types section now uses card style matching the stats row above -- Added: Download counter for licensed product versions (tracked per version) -- Added: Download Statistics admin dashboard widget showing total downloads, top products, and top versions +No changes at the moment. ### Version 0.4.0 @@ -1037,3 +1032,62 @@ define('WC_LICENSE_TRUSTED_PROXIES', '10.0.0.1,192.168.1.0/24'); - Created release package: `releases/wc-licensed-product-0.3.6.zip` (818 KB) - SHA256: `b0063f0312759f090e12faba83de730baf4114139d763e46fad2b781d4b38270` - Tagged as `v0.3.6` and pushed to `main` branch + +### 2026-01-24 - Version 0.3.7 - Dashboard Improvements & Download Counter + +**Overview:** + +Fixed dashboard widget bugs, improved UI consistency, and added download tracking functionality with a new statistics widget. + +**Bug Fixes:** + +- Fixed: Dashboard widget "View All Licenses" link used wrong page slug (`wc-licensed-product-licenses` instead of `wc-licenses`) +- Fixed: Download links in customer account resulted in 404 errors due to missing query var registration +- Added `license-download` endpoint registration during plugin activation in `Installer::activate()` +- Added `addDownloadQueryVar()` method to `DownloadController` for proper WordPress endpoint recognition + +**UI Improvements:** + +- Removed redundant "Status Breakdown" section from license statistics widget (info already shown in stat cards above) +- Changed License Types section to use card-style layout matching the stats row above +- Cleaned up unused CSS for status badges + +**New Features:** + +- Download counter for licensed product versions (tracked per version in database) +- New Download Statistics admin dashboard widget showing: + - Total downloads count + - Top 5 products by downloads + - Top 5 versions by downloads + +**New files:** + +- `src/Admin/DownloadWidgetController.php` - Dashboard widget for download statistics + +**New methods in VersionManager:** + +- `incrementDownloadCount()` - Atomically increment download count for a version +- `getTotalDownloadCount()` - Get total downloads across all versions +- `getDownloadStatistics()` - Get download stats grouped by product and version + +**Modified files:** + +- `src/Installer.php` - Added `download_count` column to versions table, added `license-download` endpoint registration +- `src/Product/ProductVersion.php` - Added `downloadCount` property and `getDownloadCount()` method +- `src/Product/VersionManager.php` - Added download counting methods +- `src/Frontend/DownloadController.php` - Added query var registration, increment download count on file serve +- `src/Admin/DashboardWidgetController.php` - Fixed URL, removed Status Breakdown, changed License Types to cards +- `src/Plugin.php` - Added DownloadWidgetController instantiation + +**Technical notes:** + +- Download count is incremented atomically using SQL `download_count = download_count + 1` +- Statistics queries use SQL aggregation with product name enrichment via `wc_get_product()` +- WordPress endpoints require both `add_rewrite_endpoint()` AND `query_vars` filter registration +- Existing installations need to flush rewrite rules (Settings > Permalinks > Save) or reactivate plugin + +**Release v0.3.7:** + +- Created release package: `releases/wc-licensed-product-0.3.7.zip` (827 KB) +- SHA256: `e93b2ab06f6d43c2179167090e07eda5db6809df6e391baece4ceba321cf33f6` +- Tagged as `v0.3.7` and pushed to `main` branch