Commit Graph
11 Commits
Author SHA1 Message Date
kevin.bataille f35ea19455 test: standalone drop-in test and docker-based integration test 2026-09-13 18:08:58 +02:00
kevin.bataille 10a2f05c31 chore: update Dockerfile and docker-compose for local dev 2026-09-13 17:21:42 +02:00
kevin.bataille 22230d188b refactor: extract DEFAULT_REJECTED_COOKIES constant and rename create_cache_server 2026-09-13 17:21:36 +02:00
kevin.bataille 94eea83d60 fix: phpstan config and missing wordpress stubs dependency 2026-09-13 16:35:58 +02:00
kevin.bataille 65657276f6 feat: rejected-cookie cache exclusions for WooCommerce cart
Add wp_recache_rejected_cookies option (defaults: woocommerce_items_in_cart,
wp_woocommerce_session_*, wp-postpass, comment_author_*, wordpress_*) that
bypasses page cache when any listed cookie is present. Both the WP-level
check (wp_recache_should_exclude) and the standalone drop-in apply the
same exact/prefix matching logic. Editing the option regenerates the
drop-in and purges all cache.
2026-09-13 15:43:20 +02:00
kevin.bataille 43081d6e5d chore: Add SDD skills 2026-09-13 14:04:57 +02:00
kevin.bataille 4784f27a4b chore: gitignore local third-party reference copies 2026-09-13 14:01:57 +02:00
kevin.bataille 5b014b589c docs: remove third-party plugin name from design doc
Specification-first wording: features are specified from user behavior,
not benchmarked against a named product.
2026-09-13 13:59:23 +02:00
kevin.bataille d2be239c3f fix: address Phase 1 code review findings
- Serve cache via template_redirect so feeds/404/REST are excluded and
  query conditionals work
- Bypass cache on query strings; key files by md5(host+path) to avoid
  collisions and support multisite
- Write wp-content/wp-recache-cache.php drop-in server and set WP_CACHE
  in wp-config.php so advanced-cache.php actually runs
- Only remove advanced-cache.php on deactivation when it is ours
- Respect DONOTCACHEPAGE, non-200 responses; bots read but never warm
  cache
- Fix comment purge (comment_post_ID) and heartbeat purge ($data arg)
- Fix exclude URLs textarea parsing; purge all when exclusions change
- Enqueue admin purge script on every admin-bar page, not just settings
- Sync tests, add TESTING.md manual test guide
2026-09-13 13:44:30 +02:00
kevin.bataille 33099591f5 feat: implement Phase 1 - Core Page Cache and Admin Settings UI
Implement the core page caching functionality and admin settings interface
for WP Recache plugin. This includes:

- Plugin bootstrap with activation/deactivation handlers
- Admin settings page with tabbed interface (Cache, Optimization, Advanced)
- Admin bar integration for quick cache purging
- Core page cache using output buffering
- Cache file management with mobile device separation
- Cache purge on post update/comment
- Default URL exclusions (cart, checkout, account)
- Cache statistics display
- PHPUnit test suite setup
- Docker-based development environment
- PHPStan configuration for static analysis

References:
- Closes #1 (Core Page Cache)
- Closes #8 (Admin Settings UI)
2026-09-13 09:56:35 +02:00
kevin.bataille 88a0531d90 Add initial design document for WP Recache 2026-09-13 09:20:32 +02:00