Settings fixes:
- MAX_SITES_PER_USER, USER_RATE_LIMIT_PER_MIN/HR now read from DB settings
table (DB > ENV > default), so dashboard/settings changes apply without
restart. Sync cache refreshed on every save or delete.
- /api/me reports the live DB value for max_sites_per_user.
Admin improvements:
- Admin users bypass per-user rate limiting entirely (role=admin or ADMIN_EMAILS).
- Admin Overview now shows platform stats: registered users, new users (7d),
total user sites, available tools.
Plugin cleanup:
- Appwrite and Directus plugins removed from the active registry (8 plugins
now: WordPress, WooCommerce, WordPress Specialist, Gitea, n8n, Supabase,
OpenPanel, Coolify). Plugin code is retained for future re-enabling.
- Settings page plugin visibility list updated to match.
Mobile onboarding:
- Stepper steps on narrow viewports stack vertically with correct full border
and rounded corners on each step.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WordPress client improvements:
- Add ConnectionError exception for network-level failures
- Differentiate DNS, SSL, timeout, and connection refused errors
- Add retry with exponential backoff for transient errors (502, 503, 504, 429)
- Auth/config errors are never retried
- Add request timeout (30s default)
Health check improvements:
- Detect REST API disabled (403/404 on /wp-json)
- Classify errors by type: dns_failure, ssl_error, timeout, connection_refused
Bare except cleanup:
- Replaced all bare except: with except Exception: across 12 files
Tests: 303 passed (13 new tests for error handling)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Community edition generated from private repo via sync pipeline.
Includes 9 plugins (WordPress, WooCommerce, WP Advanced, Gitea, n8n,
Supabase, OpenPanel, Appwrite, Directus) with ~587 tools.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>