You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Plugin does not clean up database table and options on uninstall #690
When the plugin is deleted, it leaves behind a custom database table (wp_wpai_request_logs) and all of its WordPress options (wpai_*) permanently. There is no uninstall.php file and no register_uninstall_hook() call anywhere in the plugin.
The log table stores request and response previews of AI operations user-authored content and AI outputs. Leaving this data behind after uninstall raises data privacy concerns and violates WordPress plugin guidelines which require plugins to clean up their own data on deletion.
The full list of data left behind:
Custom table: wp_wpai_request_logs
Options: wpai_features_enabled, wpai_feature_{id}_enabled, wpai_feature_{id}_field_developer (one set per feature), wpai_version, wpai_failed_upgrade_message, wpai_connector_approvals, wpai_connector_approval_pending, wpai_request_logs_schema_version
What is your proposed solution?
Add an uninstall.php file to the plugin root that drops the custom table and removes all wpai_* options.
add a "Remove all data on uninstall" checkbox to the plugin settings (unchecked by default) so users can choose whether to keep or wipe their data.
Note: cleanup should happen on uninstall only, not on deactivation, since deactivation is reversible and users may reactivate the plugin later.
Activity
hbhalodia commentedon Jun 10, 2026