| @@ -76,8 +76,12 @@ | ||
| 76 | 76 | // Per-post cache rules (Phase 3.4) — registers postmeta with |
| 77 | 77 | // REST + meta box on edit screens. |
| 78 | 78 | Cache_Meta_Box::boot(); |
| 79 | 79 | |
| 80 | + // Single-URL purge entry points — row actions, the edit-screen | |
| 81 | + // button and the admin-post handler the admin-bar item also uses. | |
| 82 | + Purge_Ui::boot(); | |
| 83 | + | |
| 80 | 84 | // Phase 0 architecture — managers + Free modules. v1 services |
| 81 | 85 | // (Cache/Minifier/Gzip) are NOT yet Modules; they'll be refactored |
| 82 | 86 | // in a follow-up PR with parity tests. |
| 83 | 87 | Conflict_Registry::boot(); |
| @@ -89,9 +93,17 @@ | ||
| 89 | 93 | // Integrations that clear OTHER plugins' caches of rendered output |
| 90 | 94 | // (Elementor's element cache + generated CSS). Registers a listener |
| 91 | 95 | // only; nothing runs until Cache::purge_render_caches() asks. |
| 92 | 96 | Render_Caches::boot(); |
| 97 | + // Server_Caches needs no boot(): Cache::dispatch_purge_event() calls it | |
| 98 | + // directly so a throwing third-party listener cannot skip it. | |
| 93 | 99 | |
| 100 | + // Forward a full purge to a full-page cache owned by the WEB SERVER | |
| 101 | + // (nginx FastCGI, via the host's Nginx Helper install). Registers a | |
| 102 | + // listener on xspeed_after_purge_all only; it stands down unless | |
| 103 | + // that cache is actually configured. | |
| 104 | + Host_Page_Caches::boot(); | |
| 105 | + | |
| 94 | 106 | // Register Free modules via the same action xspeed-pro uses, so |
| 95 | 107 | // the bootstrap path is symmetric across tiers. |
| 96 | 108 | add_action( 'xspeed_register_modules', array( $this, 'register_free_modules' ) ); |
| 97 | 109 | |
| @@ -274,8 +286,12 @@ | ||
| 274 | 286 | // snapshot is onboarding/diagnostics, not a paid value-add, so every |
| 275 | 287 | // user gets it. The snapshot degrades gracefully without Pro (Pro |
| 276 | 288 | // version/license fields fall back to defaults via defined()/get_option). |
| 277 | 289 | Module_Registry::register( new \XSpeed\Modules\Support\SupportModule() ); |
| 290 | + // The dashboard control for usage-analytics consent. Consent used to | |
| 291 | + // be collectable only in the wizard and withdrawable nowhere, while | |
| 292 | + // the wizard and readme both promised a dashboard switch. (#437) | |
| 293 | + Module_Registry::register( new \XSpeed\Modules\Privacy\PrivacyModule() ); | |
| 278 | 294 | // MCP remote control (AI assistants) — Free. The plugin serves the |
| 279 | 295 | // MCP protocol at the site's own /xspeed/mcp URL; the only gate is |
| 280 | 296 | // the per-site connection token an admin mints via Connect. No |
| 281 | 297 | // license, no hosted infra. See IMPLEMENTATION.md §17. |