Update CLAUDE.md with v0.0.10 session history

- Document inline editing features for licenses
- Document live search and copy license key functionality
- Document AJAX handlers and new LicenseManager methods
- Record release v0.0.10 details with checksums
- Note known bug about version uploads

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 23:24:47 +01:00
parent b3cf3e114b
commit 0e3b57482e

View File

@@ -34,7 +34,7 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
### Known Bugs
None currently known.
- Version uploads not appearing in list (under investigation - may require plugin reactivation to ensure database tables exist)
### Version 0.0.11 (planned)
@@ -554,17 +554,46 @@ Full API documentation available in `openapi.json` (OpenAPI 3.1 specification).
- Inline edit UI with save/cancel for license domains
- Links to full licenses management page for advanced actions
**Bug fix (post v0.0.10):**
**Additional features added in this session:**
- Inline editing for license fields (status, expiry date, domain) in admin licenses overview
- Copy license key button with clipboard API and fallback for older browsers
- Live search for licenses in admin overview with AJAX-powered results dropdown
- Settings link added to plugin action links in Plugins list
- Fixed 404 error on licenses menu item in customer account
- Fixed Twig template cache issues with `auto_reload` option
**New files:**
- `assets/js/admin-licenses.js` - JavaScript for live search, inline editing, and copy functionality
**New methods in LicenseManager:**
- `updateLicenseExpiry()` - Update license expiry date with auto-reactivation for expired licenses
**AJAX handlers added to AdminController:**
- `handleAjaxStatusUpdate()` - Update license status via AJAX
- `handleAjaxExpiryUpdate()` - Update license expiry date via AJAX
- `handleAjaxDomainUpdate()` - Update license domain via AJAX
- `handleAjaxRevoke()` - Revoke license via AJAX
**Technical notes:**
- Live search uses 300ms debounce and keyboard navigation (arrows, enter, escape)
- Inline editing shows edit icons on hover, supports enter to save and escape to cancel
- Copy button uses Clipboard API with textarea fallback for older browsers
- All AJAX handlers use nonce verification (`wclp_inline_edit` nonce)
- Twig configured with `auto_reload => true` for development to always check template changes
**Bug fix:**
- Fixed: Licenses menu item in customer account page resulted in 404 error
- Root cause: WooCommerce My Account endpoints require both `add_rewrite_endpoint()` AND registration with `woocommerce_get_query_vars` filter
- Fix: Added `addLicensesQueryVar()` method to register the endpoint query var with WooCommerce
**Root cause:**
**Release v0.0.10:**
- WooCommerce My Account endpoints require both `add_rewrite_endpoint()` AND registration with `woocommerce_get_query_vars` filter
- The endpoint also needs to be registered before rewrite rules are flushed during activation
**Fix:**
- Added `addLicensesQueryVar()` method to register the endpoint query var with WooCommerce
- Updated Installer to register endpoint before flushing rewrite rules on activation
- Existing installations may need to visit Settings > Permalinks and click Save to regenerate rewrite rules
- Created release package: `releases/wc-licensed-product-0.0.10.zip` (472 KB)
- SHA256: `3f4a093f6d4d02389082c3a88c00542f477ab3ad4d4a0c65079e524ef0739620`
- Tagged as `v0.0.10` and pushed to `main` branch