Skip to content

Clean Perform runtime options during multisite uninstall #85

@mehul0810

Description

@mehul0810

Finding

The uninstall handler removes runtime options on single-site installs, but the multisite branch only deletes the older settings option list for each blog.

Evidence

  • uninstall.php single-site cleanup deletes perform_assets_manager_options, perform_cache_preload_queue, and perform_cache_stats.
  • The multisite loop only deletes entries from $setting_types, so those runtime options remain behind on every site when remove_data_on_uninstall is enabled.

Impact

Network installs can retain Perform asset-manager and cache runtime data after uninstall even when the user explicitly opted into data removal. This is especially visible for the new page-cache queue/stats options introduced for the 1.6.0 release branch.

Suggested fix

Use one consolidated option list for uninstall cleanup, or add the runtime options to the multisite deletion loop while preserving the existing single-site behavior.

Acceptance criteria

  • With remove_data_on_uninstall enabled, multisite uninstall removes all Perform settings and runtime options for each active site.
  • Single-site uninstall behavior remains unchanged except for any consolidated cleanup implementation.
  • Existing option names are preserved; do not rename storage keys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: cachePage cache, menu cache, preload, invalidation, observability, or cache settings.area: compatibilityWordPress, PHP, multisite, WooCommerce, theme, or plugin compatibility.area: settingsSettings schema, storage contracts, migration, import/export, and validation.bugConfirmed or likely defect affecting runtime behavior, UX, compatibility, or data handling.priority: mediumUseful or user-impacting work that should be planned but is not blocking now.status: readyScoped enough for implementation without major open questions.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions