RTC Language Change NPM Resource Changed PR-5.4-dev Pending

User tests: Successful: Unsuccessful:

avatar TLWebdesign
TLWebdesign
12 May 2026

Pull Request resolves # .

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

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.

Scherm­afbeelding 2026-05-12 om 21 06 11

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.

Testing Instructions

  • Install an extension with update server a linkedin url. (this website gives http code 999)
  • Install an extensions with an update server that is a regular website but not xml.
  • Also have extensions with valid xml to make they still work as expected too.
  • After installing extensions you can run the update checker by setting Update channel to "Joomla Next" and check for updates. See yellow error messages.

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

Actual result BEFORE applying this Pull Request

  • When http code is outside of the normal range (1-599) a generic 500 error is returned and update server checking was stopped.
  • When xml could not be parsed it just says "No update information"

Expected result AFTER applying this Pull Request

  • When http code is outside of the normal range (1-599) a message telling you what update site is causing issues is returned AND it still processes the other update sites.
  • When xml could not be parsed it will return a message saying it could not check the update server and it will also list the extension not just as "No update information" but it will be put in the "failed update check" list instead with "Update server error" instead.

Link to documentations

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

avatar TLWebdesign TLWebdesign - open - 12 May 2026
avatar TLWebdesign TLWebdesign - change - 12 May 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 12 May 2026
Category Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change
avatar brianteeman
brianteeman - comment - 12 May 2026

It's very hard to review the changes with all the (incorrect) formatting changes

avatar TLWebdesign
TLWebdesign - comment - 12 May 2026

@brianteeman yes you're right give me couple minutes to fix my screw up! 😳

avatar TLWebdesign TLWebdesign - change - 12 May 2026
Labels Added: Language Change NPM Resource Changed PR-5.4-dev
avatar TLWebdesign
TLWebdesign - comment - 12 May 2026

@brianteeman i cleaned it up now.

avatar tecpromotion tecpromotion - change - 12 May 2026
Title
Better error messages on updateserver errors
[5.4] Better error messages on updateserver errors
avatar tecpromotion tecpromotion - edited - 12 May 2026
avatar brianteeman
brianteeman - comment - 12 May 2026

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

avatar muhme
muhme - comment - 20 May 2026

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.

avatar brianteeman
brianteeman - comment - 12 Jun 2026

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
avatar brianteeman
brianteeman - comment - 12 Jun 2026

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
avatar MacJoom MacJoom - test_item - 12 Jun 2026 - Tested successfully
avatar MacJoom
MacJoom - comment - 12 Jun 2026

I have tested this item ✅ successfully on fde6535

Tested successfully doing the update checker


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar MacJoom
MacJoom - comment - 12 Jun 2026

I have tested this item ✅ successfully on fde6535

Tested successfully doing the update checker


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar TLWebdesign TLWebdesign - change - 21 Jul 2026
Labels Added: Updates Requested
avatar joomla-cms-bot joomla-cms-bot - change - 21 Jul 2026
Category Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change Administration com_joomlaupdate Language & Strings JavaScript Repository NPM Change Libraries
avatar TLWebdesign
TLWebdesign - comment - 21 Jul 2026

@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.

avatar TLWebdesign
TLWebdesign - comment - 4 Aug 2026

Anything needed from me to get this merged?

avatar richard67
richard67 - comment - 4 Aug 2026

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.

avatar dautrich dautrich - test_item - 4 Aug 2026 - Tested successfully
avatar dautrich
dautrich - comment - 4 Aug 2026

I have tested this item ✅ successfully on bd97d92


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar dautrich
dautrich - comment - 4 Aug 2026

I have tested this item ✅ successfully on bd97d92


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar webmasterab
webmasterab - comment - 5 Aug 2026

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

avatar richard67
richard67 - comment - 5 Aug 2026

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.

avatar dautrich
dautrich - comment - 5 Aug 2026

@richard67 Should I test again? Has my test been invalidated by the subsequent change?

avatar webmasterab
webmasterab - comment - 5 Aug 2026

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.

avatar webmasterab
webmasterab - comment - 5 Aug 2026

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.

avatar richard67
richard67 - comment - 5 Aug 2026

@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.

avatar webmasterab webmasterab - test_item - 5 Aug 2026 - Tested successfully
avatar webmasterab
webmasterab - comment - 5 Aug 2026

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.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar webmasterab
webmasterab - comment - 5 Aug 2026

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.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar webmasterab
webmasterab - comment - 5 Aug 2026

I have tested this item ✅ successfully on bd97d92

I tested this on a Joomla 5 website (version 5.4.7).

Before
Before
After
After

After the patch, I got this, which is as expected.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar webmasterab
webmasterab - comment - 5 Aug 2026

@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

avatar TLWebdesign TLWebdesign - change - 5 Aug 2026
Labels Removed: Updates Requested
avatar TLWebdesign
TLWebdesign - comment - 5 Aug 2026

@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.

avatar richard67
richard67 - comment - 5 Aug 2026

@dautrich Now you could test again. Thanks in advance.

avatar dautrich dautrich - test_item - 5 Aug 2026 - Tested successfully
avatar dautrich
dautrich - comment - 5 Aug 2026

I have tested this item ✅ successfully on b5f57a1


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar dautrich
dautrich - comment - 5 Aug 2026

I have tested this item ✅ successfully on b5f57a1


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar richard67 richard67 - alter_testresult - 5 Aug 2026 - webmasterab: Tested successfully
avatar richard67 richard67 - change - 5 Aug 2026
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 5 Aug 2026

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar richard67
richard67 - comment - 5 Aug 2026

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47766.

avatar richard67 richard67 - change - 8 Aug 2026
Labels Added: RTC
avatar richard67 richard67 - change - 8 Aug 2026
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
avatar richard67 richard67 - close - 8 Aug 2026
avatar richard67 richard67 - merge - 8 Aug 2026
avatar richard67
richard67 - comment - 8 Aug 2026

Thanks @TLWebdesign for this PR, @webmasterab and @dautrich for testing, @MacJoom for previous test, and @brianteeman and @roland-d for reviews.

avatar richard67
richard67 - comment - 9 Aug 2026

@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?

avatar richard67
richard67 - comment - 9 Aug 2026

The PR seems to work on a 6.1-dev branch where I have done an upmerge which includes this PR.

avatar richard67
richard67 - comment - 9 Aug 2026

The PR works on a 6.1-dev branch where I have done an upmerge which includes this PR. Sorry for the noise.

Add a Comment

Login with GitHub to post a comment