I was updating JetPack to the latest version when it just hung. I left it an hour and it just said “unpacking” so I refreshed the page and received the following error at the top of every page in the WordPress dashboard: “An automated WordPress update has failed to complete”.
I attempted to run the update repeatedly but it just kept failing, so I manually downloaded the new JetPack and used FTP to upload it. Unfortunately the error remained. Looking around the internet revealed something I should have known: delete the .maintenance file in the root of your website to get rid of the error.
While poking around I also checked the /wp-content/upload directory and spotted jetpack-tmp folder, where the new plugin had failed to fully install. Deleted that as well, and that explained why running the update repeatedly had no effect.