User tests: Successful: Unsuccessful:
Pull Request resolves # .
I improved error reporting when the http code of the updateserver is outside the normal range or when the xml could not be parsed. Instead of breaking out (in http code issue case) it will continue with the rest of the update sites. And it will return clear messages telling you what is wrong.
It will also clearly show in the logs when something is wrong (if you enable "Log almost everything"). Where it was not clear before which updatesite was at fault.
Why this PR? Because over time i've seen people reporting issues updating and they only see a 500 error. They don't know what to do. This way people will know whats going on. I had it before and it cost me a ton of time to figure it out.
To make it easier to install the extensions i created two file packages to test it with.
These install an empty html file in your root/media folder. After testing just uninstall them and the html file will be removed again. Download here: https://share.tlwebdesign.nl/s/test-installation-package
Please select:
Documentation link for guide.joomla.org:
No documentation changes for guide.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change |
@brianteeman yes you're right give me couple minutes to fix my screw up! 😳
| Labels |
Added:
Language Change
NPM Resource Changed
PR-5.4-dev
|
||
@brianteeman i cleaned it up now.
| Title |
|
||||||
surely as this contains a new function it is by very definition a new feature and not a bug fix and therefore should be made agains 6.2
Discussed in today’s Maintainers Meeting: since an HTTP 500 Internal Server Error is a bug and Joomla 5.4 is a long-term support release, we have agreed that this PR can be merged into the 5.4-dev branch.
Before merging, the alphabetical sorting issue must be fixed and all the code changes must be well tested.
On joomla update I still have the same 500 error after the patch and I have a new error when I try to check for extension updaye from index.php?option=com_installer&view=update
0 Invalid status code "999"; must be an integer between 100 and 599, inclusive
| id | Function | Location |
|---|---|---|
| 1 | () | JROOT\libraries\vendor\laminas\laminas-diactoros\src\Response.php:169 |
| 2 | Laminas\Diactoros\Response->setStatusCode() | JROOT\libraries\vendor\laminas\laminas-diactoros\src\Response.php:123 |
| 3 | Laminas\Diactoros\Response->__construct() | JROOT\libraries\src\Http\Transport\CurlTransport.php:267 |
| 4 | Joomla\CMS\Http\Transport\CurlTransport->getResponse() | JROOT\libraries\src\Http\Transport\CurlTransport.php:192 |
| 5 | Joomla\CMS\Http\Transport\CurlTransport->request() | JROOT\libraries\vendor\joomla\http\src\Http.php:305 |
| 6 | Joomla\Http\Http->makeTransportRequest() | JROOT\libraries\vendor\joomla\http\src\Http.php:150 |
| 7 | Joomla\Http\Http->get() | JROOT\libraries\src\Updater\UpdateAdapter.php:264 |
| 8 | Joomla\CMS\Updater\UpdateAdapter->getUpdateSiteResponse() | JROOT\libraries\src\Updater\Adapter\ExtensionAdapter.php:272 |
| 9 | Joomla\CMS\Updater\Adapter\ExtensionAdapter->findUpdate() | JROOT\libraries\src\Updater\Updater.php:293 |
| 10 | Joomla\CMS\Updater\Updater->getUpdateObjectsForSite() | JROOT\libraries\src\Updater\Updater.php:164 |
| 11 | Joomla\CMS\Updater\Updater->findUpdates() | JROOT\administrator\components\com_installer\src\Model\UpdateModel.php:271 |
| 12 | Joomla\Component\Installer\Administrator\Model\UpdateModel->findUpdates() | JROOT\administrator\components\com_installer\src\Controller\UpdateController.php:113 |
| 13 | Joomla\Component\Installer\Administrator\Controller\UpdateController->find() | JROOT\libraries\src\MVC\Controller\BaseController.php:730 |
| 14 | Joomla\CMS\MVC\Controller\BaseController->execute() | JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143 |
| 15 | Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() | JROOT\libraries\src\Component\ComponentHelper.php:361 |
| 16 | Joomla\CMS\Component\ComponentHelper::renderComponent() | JROOT\libraries\src\Application\AdministratorApplication.php:150 |
| 17 | Joomla\CMS\Application\AdministratorApplication->dispatch() | JROOT\libraries\src\Application\AdministratorApplication.php:206 |
| 18 | Joomla\CMS\Application\AdministratorApplication->doExecute() | JROOT\libraries\src\Application\CMSApplication.php:304 |
| 19 | Joomla\CMS\Application\CMSApplication->execute() | JROOT\administrator\includes\app.php:58 |
| 20 | require_once() | JROOT\administrator\index.php:32 |
I ahve confirmed the issue on the joomla update page and I can confirm that after applying the patch there it is successful.
However there is still an issue when I go to the update components page index.php?option=com_installer&view=update
You might need to go to the update sites tab and rebuild the manifests and then go and check the updates.
0 Invalid status code "999"; must be an integer between 100 and 599, inclusive
| id | Function | Location |
|---|---|---|
| 1 | () | JROOT\libraries\vendor\laminas\laminas-diactoros\src\Response.php:169 |
| 2 | Laminas\Diactoros\Response->setStatusCode() | JROOT\libraries\vendor\laminas\laminas-diactoros\src\Response.php:123 |
| 3 | Laminas\Diactoros\Response->__construct() | JROOT\libraries\src\Http\Transport\CurlTransport.php:267 |
| 4 | Joomla\CMS\Http\Transport\CurlTransport->getResponse() | JROOT\libraries\src\Http\Transport\CurlTransport.php:192 |
| 5 | Joomla\CMS\Http\Transport\CurlTransport->request() | JROOT\libraries\vendor\joomla\http\src\Http.php:305 |
| 6 | Joomla\Http\Http->makeTransportRequest() | JROOT\libraries\vendor\joomla\http\src\Http.php:150 |
| 7 | Joomla\Http\Http->get() | JROOT\libraries\src\Updater\UpdateAdapter.php:264 |
| 8 | Joomla\CMS\Updater\UpdateAdapter->getUpdateSiteResponse() | JROOT\libraries\src\Updater\Adapter\ExtensionAdapter.php:272 |
| 9 | Joomla\CMS\Updater\Adapter\ExtensionAdapter->findUpdate() | JROOT\libraries\src\Updater\Updater.php:293 |
| 10 | Joomla\CMS\Updater\Updater->getUpdateObjectsForSite() | JROOT\libraries\src\Updater\Updater.php:164 |
| 11 | Joomla\CMS\Updater\Updater->findUpdates() | JROOT\administrator\components\com_installer\src\Model\UpdateModel.php:271 |
| 12 | Joomla\Component\Installer\Administrator\Model\UpdateModel->findUpdates() | JROOT\administrator\components\com_installer\src\Controller\UpdateController.php:113 |
| 13 | Joomla\Component\Installer\Administrator\Controller\UpdateController->find() | JROOT\libraries\src\MVC\Controller\BaseController.php:730 |
| 14 | Joomla\CMS\MVC\Controller\BaseController->execute() | JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143 |
| 15 | Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() | JROOT\libraries\src\Component\ComponentHelper.php:361 |
| 16 | Joomla\CMS\Component\ComponentHelper::renderComponent() | JROOT\libraries\src\Application\AdministratorApplication.php:150 |
| 17 | Joomla\CMS\Application\AdministratorApplication->dispatch() | JROOT\libraries\src\Application\AdministratorApplication.php:206 |
| 18 | Joomla\CMS\Application\AdministratorApplication->doExecute() | JROOT\libraries\src\Application\CMSApplication.php:304 |
| 19 | Joomla\CMS\Application\CMSApplication->execute() | JROOT\administrator\includes\app.php:58 |
| 20 | require_once() | JROOT\administrator\index.php:32 |
I have tested this item ✅ successfully on fde6535
Tested successfully doing the update checker
I have tested this item ✅ successfully on fde6535
Tested successfully doing the update checker
| Labels |
Added:
Updates Requested
|
||
| Category | Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change | ⇒ | Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change Libraries |
@brianteeman That other issue you mentioned should now also be fixed. I widened the Error catching to also catch the Error that comes from laminas library when http code is not within range.
Anything needed from me to get this merged?
Anything needed from me to get this merged?
@TLWebdesign It needs 2 human tests again (@MacJoom 's test is not valid anymore due to a later code change). Of course you can help with finding testers by pinging people in diverse mattermost channels.
I have tested this item ✅ successfully on bd97d92
I have tested this item ✅ successfully on bd97d92
Thanks for this; I had already raised an issue about it, but this is better. Thanks for this, and hopefully it gets incorporated into the code soon. #48093
@webmasterab If you want to help with that: Test this PR. Each PR needs 2 successful human tests before it can be merged.
@richard67 Should I test again? Has my test been invalidated by the subsequent change?
Thanks for this; I had already raised an issue about it, but this is better. Thanks for this, and hopefully it gets incorporated into the code soon. #48093
@webmasterab If you want to help with that: Test this PR. Each PR needs 2 successful human tests before it can be merged.
I'd need to set up a test environment for that.
And then do this.
Unfortunately, I don't have that ready to go right now.
Thanks for this; I had already raised an issue about it, but this is better. Thanks for this, and hopefully it gets incorporated into the code soon. #48093
@webmasterab If you want to help with that: Test this PR. Each PR needs 2 successful human tests before it can be merged.
I'd need to set up a test environment for that.
And then do this.
Unfortunately, I don't have that ready to go right now.
Update: I managed to set this up and test it quickly; see my comment.
@richard67 Should I test again? Has my test been invalidated by the subsequent change?
@dautrich Your test is still valid as there has not been made any subsequent change yet.
However there is a review suggestion, so maybe wait a bit until that has been implemented.
@TLWebdesign Could you check @roland-d 's review suggestion above (strict comparison) and apply if ok? Thanks in advance.
I have tested this item ✅ successfully on bd97d92
I tested this on a Joomla 5 website (version 5.4.7).
Beforehand, I got this.
After the patch, I got this, which is as expected.
I have tested this item ✅ successfully on bd97d92
I tested this on a Joomla 5 website (version 5.4.7).
Beforehand, I got this.
After the patch, I got this, which is as expected.
I have tested this item ✅ successfully on bd97d92
I tested this on a Joomla 5 website (version 5.4.7).
After the patch, I got this, which is as expected.
@richard67 Should I test again? Has my test been invalidated by the subsequent change?
The two tests can be viewed here: https://issues.joomla.org/tracker/joomla-cms/47766
| Labels |
Removed:
Updates Requested
|
||
@TLWebdesign Could you check @roland-d 's review suggestion above (strict comparison) and apply if ok? Thanks in advance.
Yes i changed as he suggested.
I have tested this item ✅ successfully on b5f57a1
I have tested this item ✅ successfully on b5f57a1
| Status | Pending | ⇒ | Ready to Commit |
RTC
RTC
| Labels |
Added:
RTC
|
||
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-08-08 10:24:08 |
| Closed_By | ⇒ | richard67 |
Thanks @TLWebdesign for this PR, @webmasterab and @dautrich for testing, @MacJoom for previous test, and @brianteeman and @roland-d for reviews.
@TLWebdesign Maybe we have a problem now when merging this up into 6.1-dev. In 6.0, the method fetchExtensionCompatibility which is modified with this PR here has been removed necause it was deprecated, see PR #45436 .
But the batchextensioncompatibility method of the controller which shall be used instead of the removed method is not modified by this PR here.
Is there anything we have to do in 6.1-dev with that method?
The PR seems to work on a 6.1-dev branch where I have done an upmerge which includes this PR.
The PR works on a 6.1-dev branch where I have done an upmerge which includes this PR. Sorry for the noise.
It's very hard to review the changes with all the (incorrect) formatting changes