Undefined method `sub!' when visiting `/admin/upgrade`

Please could you try running these commands

./launcher enter app
cd /var/www/discourse/plugins
su discourse
for d in *; do echo "$d: $(git -C $d config --get remote.origin.url)"; done 

Every plugin should have a remote URL shown in the list. I suspect, based on the error, that one of them doesn’t :thinking:

Expected output is something like

chat: https://github.com/discourse/discourse.git
discourse-automation: https://github.com/discourse/discourse-automation
discourse-chat-integration: https://github.com/discourse/discourse-chat-integration.git
...