feat(v3.13.0): settings live DB reads, remove Directus/Appwrite, admin stats
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>
This commit is contained in:
@@ -3,37 +3,44 @@ Plugins package
|
||||
|
||||
All project type plugins are here.
|
||||
|
||||
F.19.3.2-.3 (2026-05-04): wordpress_advanced sunset — the deprecated
|
||||
Docker-socket / WP-CLI plugin was removed once
|
||||
wordpress_specialist absorbed db inspection +
|
||||
bulk fan-out (companion v2.18.0).
|
||||
F.19.1 (2026-05-01): WordPress Specialist Plugin added (companion-backed,
|
||||
no Docker socket).
|
||||
v2.8.0 (Phase J): Directus CMS Plugin added
|
||||
v2.6.0 (Phase I): Appwrite Backend Plugin added
|
||||
v2.5.0 (Phase H): OpenPanel Analytics Plugin added
|
||||
v2.3.0 (Phase G): Supabase Self-Hosted Plugin added
|
||||
|
||||
Note: Appwrite and Directus plugins are retained in the codebase but are
|
||||
no longer registered by default. They require review and testing before
|
||||
re-enabling. To restore them, add their imports and registry.register()
|
||||
calls below.
|
||||
"""
|
||||
|
||||
from plugins.appwrite.plugin import AppwritePlugin
|
||||
from plugins.base import BasePlugin, PluginRegistry
|
||||
from plugins.coolify.plugin import CoolifyPlugin
|
||||
from plugins.directus.plugin import DirectusPlugin
|
||||
from plugins.gitea.plugin import GiteaPlugin
|
||||
from plugins.n8n.plugin import N8nPlugin
|
||||
from plugins.openpanel.plugin import OpenPanelPlugin
|
||||
from plugins.supabase.plugin import SupabasePlugin
|
||||
from plugins.woocommerce.plugin import WooCommercePlugin
|
||||
from plugins.wordpress.plugin import WordPressPlugin
|
||||
from plugins.wordpress_advanced.plugin import WordPressAdvancedPlugin
|
||||
from plugins.wordpress_specialist.plugin import WordPressSpecialistPlugin
|
||||
|
||||
# Create global registry
|
||||
registry = PluginRegistry()
|
||||
|
||||
# Register available plugins
|
||||
# Register available plugins (8 active plugins)
|
||||
registry.register("wordpress", WordPressPlugin)
|
||||
registry.register("woocommerce", WooCommercePlugin)
|
||||
registry.register("wordpress_advanced", WordPressAdvancedPlugin)
|
||||
registry.register("wordpress_specialist", WordPressSpecialistPlugin)
|
||||
registry.register("gitea", GiteaPlugin)
|
||||
registry.register("n8n", N8nPlugin)
|
||||
registry.register("supabase", SupabasePlugin)
|
||||
registry.register("openpanel", OpenPanelPlugin)
|
||||
registry.register("appwrite", AppwritePlugin)
|
||||
registry.register("directus", DirectusPlugin)
|
||||
registry.register("coolify", CoolifyPlugin)
|
||||
|
||||
__all__ = [
|
||||
@@ -42,12 +49,10 @@ __all__ = [
|
||||
"registry",
|
||||
"WordPressPlugin",
|
||||
"WooCommercePlugin",
|
||||
"WordPressAdvancedPlugin",
|
||||
"WordPressSpecialistPlugin",
|
||||
"GiteaPlugin",
|
||||
"N8nPlugin",
|
||||
"SupabasePlugin",
|
||||
"OpenPanelPlugin",
|
||||
"AppwritePlugin",
|
||||
"DirectusPlugin",
|
||||
"CoolifyPlugin",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user