| @@ -452,13 +452,10 @@ | ||
| 452 | 452 | 'sectionCaps' => Capability_Manager::section_map(), |
| 453 | 453 | 'canManageRoles' => Capability_Manager::current_user_can(Capability_Manager::MANAGE_ROLES), |
| 454 | 454 | // Pro detection flag |
| 455 | 455 | 'isPro' => Plan_Config::is_pro(), |
| 456 | - // Data update frequency (Pro: daily, Free: every 3 days) | |
| 457 | - 'dataUpdateFrequency' => Plan_Config::is_pro() ? 'daily' : '3days', | |
| 458 | - // NB: no per-feature capability maps here. Email Reporting reads | |
| 459 | - // its capabilities from GET /thinkrank/v1/email-report/config; | |
| 460 | - // localizing a second copy only invited the two to drift. | |
| 456 | + // NB: no per-feature capability maps here; each screen reads its | |
| 457 | + // own state over REST, so a localized copy cannot drift from it. | |
| 461 | 458 | // MCP (Model Context Protocol) connection details for the MCP page. |
| 462 | 459 | 'mcp' => $this->get_mcp_globals(), |
| 463 | 460 | // Google OAuth: JS only ever gets a nonce-signed admin-post URL. |
| 464 | 461 | // The consent URL, client ID, and scopes are assembled by the proxy, |