Make WordPress Core

Opened 18 months ago

Last modified 7 months ago

#62212 new defect (bug)

Plugin update via modal does not update plugins list until page reload

Reported by: siliconforks's profile siliconforks Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 6.5
Component: Plugins Keywords: needs-patch
Focuses: administration Cc:

Description

If you visit the "Plugins" page in the admin section and there is a plugin update available, the following text will be displayed:

There is a new version of [the plugin's name] available. View version [the plugin's latest version] details or update now.

If you click the "View version ... details" link, a modal dialog box (using an iframe) will be displayed with a button to perform the update.

Before WordPress 6.5, this button was labeled "Install Update Now". If you clicked the button, the modal would close, the text on the main page would change to "Updating..." and then finally this text would change to "Updated!" when the update was completed.

In WordPress 6.5 and later, the button is labeled "Update Now" (and has a different appearance). If you click the button, the modal does not close, but the text on the button changes to "Updating..." and then finally "Updated!" If you close the modal, you will see that the main page has not changed at all: the plugin still displays the old version with the same "There is a new version of [the plugin's name] available..." text. You have to manually reload the page in order to see that the plugin has been updated to the new version.

Is this behavior intentional? Probably the change in the button label and appearance was intentional (but that's not very important). Keeping the modal open during the update might be intentional (although I preferred the old behavior). But failing to update the main page seems like a bug, or at least a significant regression in functionality compared to earlier versions.

Change History (3)

#1 @siliconforks
18 months ago

Note that the old JavaScript code for handling the click on the "Install Update Now" button was never removed - it is still present in 6.5 and later (including the latest trunk version), even though the code never gets executed any more.

https://github.com/WordPress/wordpress-develop/blob/6e7acb0103ce64bcd0b66d22cb0efb6249028004/src/js/_enqueues/wp/updates.js#L3212

That is just dead code now, since the plugin_update_from_iframe ID no longer exists.

#2 @nikunj8866
7 months ago

  • Keywords needs-patch added

Reproduction Report

Description

✅ This report validates that the issue can be reproduced.

Environment

  • WordPress: 6.8.2
  • PHP: 8.4.10
  • Server: nginx/1.26.1
  • Database: mysqli (Server: 8.0.35 / Client: mysqlnd 8.4.10)
  • Browser: Chrome 139.0.0.0
  • OS: Windows 10/11
  • Theme: ModernPress 1.0.0
  • MU Plugins: None activated
  • Plugins:
    • Test Reports 1.2.0
    • WP Crontrol 1.19.1

Testing Instructions

  1. Add any other version of plugin in your site.
  2. Go to the Plugins page in admin.
  3. Click on the "View version ... details" link.
  4. From the popup click on the Update Now button.
  5. Once the update process finished, button text changed to 'Updated'.
  6. When you close the popup, you can still see the update text in the plugin list untill you refresh the page.

Actual Results

  1. ✅ Error condition occurs (reproduced).

Additional Notes

In previous versions (≤ 6.4), the modal would close after clicking Install Update Now, and the list table was updated automatically without a manual reload.

Version 0, edited 7 months ago by nikunj8866 (next)

#3 @nikunj8866
7 months ago

  • Focuses administration added
  • Summary changed from If you update a plugin from the details modal, it no longer updates the main page to Plugin update via modal does not update plugins list until page reload
Note: See TracTickets for help on using tickets.