Skip to content
Learnomy

API and Performance

The API and Performance section controls rate limiting and caching for the REST API, the Progressive Web App (offline) mode, and two maintenance tools. It lives under the Advanced group in the Settings sidebar.

What you can do

  • Set a per-user rate limit on sensitive write endpoints (login, password reset, and more).
  • Set the object-cache lifetime for read endpoints, or disable caching entirely.
  • Turn the Progressive Web App (service worker and offline mode) on or off.
  • Send a test email to confirm your mail configuration works.
  • Flush WordPress rewrite rules without visiting Settings > Permalinks.

API and Performance first view

How to use it

Step 1 -- open API and Performance

Go to Learnomy Settings and click API & Performance in the sidebar.

Step 2 -- set the API limits

In the API & Performance card:

  • Sensitive endpoint limit (req/min per user) -- the per-minute cap for write endpoints flagged sensitive: login, password reset, instructor application, withdrawal request, coupon validate, quiz start, and comment post. Set to 0 to disable. Maximum 10000.
  • Cache TTL (seconds) -- the object-cache lifetime for read endpoints. Set to 0 to disable caching. Maximum 86400 (24 hours).

Step 3 -- choose whether to enable the PWA

In the Progressive Web App card, toggle Register the service worker and offline mode on Learnomy pages. Turn this off when Learnomy is only one section of a larger site (such as a community) where a site-wide service worker is unwanted.

Step 4 -- save

Click Save Changes to store the settings above.

Step 5 -- use the Tools (optional)

The Tools card has two buttons that run immediately:

  • Send Test Email -- dispatches a test notification to the admin email address.
  • Flush Rewrite Rules -- regenerates permalink rules without a visit to Settings > Permalinks.

Settings and options

Field Option key Notes
Sensitive endpoint limit api_rate_limit Requests per minute per user. 0 disables. Max 10000. Default 60.
Cache TTL (seconds) cache_ttl Read-endpoint object-cache lifetime. 0 disables. Max 86400. Default 3600.
Enable PWA enable_pwa Toggle. Defaults to on when the key is unset.

The Tools buttons are one-off actions, not saved settings.

For developers

  • \Learnomy\pwa_enabled() -- resolves whether the PWA is active, combining the enable_pwa setting with the filter below.
  • learnomy_enable_pwa -- filter that overrides the PWA on/off state in code. When false, the service-worker registration, /learnomy-sw.js, the manifest, and the offline routes are not loaded.