Implement version 0.0.3 features

- Add file attachment support for product versions (Media Library)
- Add version auto-detection from uploaded filenames
- Implement secure customer downloads with hash verification
- Add license key copy-to-clipboard functionality
- Redesign customer licenses page with card-based UI
- Fix product versions meta box visibility for non-licensed types
- Add DownloadController for secure file delivery
- Update CLAUDE.md roadmap and session history

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 19:46:50 +01:00
parent 41e5f8d467
commit 78e43b9aea
15 changed files with 1036 additions and 133 deletions

View File

@@ -36,12 +36,11 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
_No known bugs at this time._
### Version 0.0.3 (Next)
### Version 0.0.4 (Next)
- Add download file attachment support for product versions
- Implement customer download page for purchased licenses
- Add license key copy-to-clipboard functionality in emails and account page
- Consider adding license usage statistics/analytics
- Consider adding bulk license operations in admin
- Consider adding license renewal/extension functionality
## Technical Stack
@@ -289,3 +288,31 @@ Base: `/wp-json/wc-licensed-product/v1/`
- Rate limiting uses WordPress transients
- IP detection supports Cloudflare and proxies
- Version management uses AJAX for smooth UX
### 2026-01-21 - Version 0.0.3 Features
**Implemented:**
- File attachment support for product versions (WordPress Media Library integration)
- Version auto-detection from uploaded filenames (e.g., `plugin-v1.2.3.zip`)
- Customer download page for purchased licenses with secure authenticated downloads
- License key copy-to-clipboard functionality on account page
- New card-based UI for customer licenses page with download section
- Product versions meta box visibility fix (now hidden for non-licensed product types)
**New classes:**
- `DownloadController` - Secure file delivery with hash-based URL verification
**Technical notes:**
- Secure download URLs use hash verification (license_id-version_id-hash format)
- Database schema updated: `attachment_id` column added to versions table
- ProductVersion model extended with `getEffectiveDownloadUrl()` and `getDownloadFilename()`
- Media uploader filters for zip files only
- Clipboard API with fallback for older browsers
- Card-based responsive UI design for licenses page
**Bug fixes:**
- Fixed product versions meta box visibility for non-licensed product types (targets `#wc_licensed_product_versions` container)