RTC Composer Dependency Changed PR-5.3-dev Pending

User tests: Successful: 2 brianteeman, muhme Unsuccessful: 0

avatar laoneo
laoneo
15 Mar 2025

Summary of Changes

When running the API tests, sometimes a implicit warning is displayed because of the outdated idna version.

Testing Instructions

  • Save an article with an url, a correct url and an invalid url like http:/google.c
  • Save a contact with a valid and invalid email

Actual result BEFORE applying this Pull Request

  • Article can be saved or an error is shown when the url is invalid.
  • Contact can be saved or an error is shown when the email is invalid.

Expected result AFTER applying this Pull Request

  • Article can be saved or an error is shown when the url is invalid.
  • Contact can be saved or an error is shown when the email is invalid.

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar laoneo laoneo - open - 15 Mar 2025
avatar laoneo laoneo - change - 15 Mar 2025
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 15 Mar 2025
Category External Library Composer Change
avatar laoneo laoneo - change - 15 Mar 2025
The description was changed
avatar laoneo laoneo - edited - 15 Mar 2025
avatar laoneo laoneo - change - 15 Mar 2025
Labels Added: Composer Dependency Changed PR-5.3-dev
avatar richard67
richard67 - comment - 15 Mar 2025

Unit tests are failing with error "Class "IntlChar" not found" here: https://github.com/joomla/joomla-cms/blob/5.3-dev/libraries/src/String/PunycodeHelper.php#L44

E.g.:

1) Joomla\Tests\Unit\Libraries\Cms\Mail\MailHelperTest::testIsEmailAddress with data set #1 ('joe@home', true)
Error: Class "IntlChar" not found
C:\projects\joomla-cms\libraries\vendor\algo26-matthias\idna-convert\src\NamePrep\NamePrep.php:69
C:\projects\joomla-cms\libraries\vendor\algo26-matthias\idna-convert\src\NamePrep\NamePrep.php:58
C:\projects\joomla-cms\libraries\vendor\algo26-matthias\idna-convert\src\Punycode\ToPunycode.php:33
C:\projects\joomla-cms\libraries\vendor\algo26-matthias\idna-convert\src\ToIdn.php:55
C:\projects\joomla-cms\libraries\src\String\PunycodeHelper.php:44
C:\projects\joomla-cms\libraries\src\Mail\MailHelper.php:163
C:\projects\joomla-cms\tests\Unit\Libraries\Cms\Mail\MailHelperTest.php:287
avatar laoneo
laoneo - comment - 15 Mar 2025

This update would require the intl extension of PHP, which probably is installed on a default web server. But it is a requirement change which can be counted as bc break.

avatar laoneo
laoneo - comment - 15 Mar 2025

I'v opened an issue on upstream algo26-matthias/idna-convert#47.

avatar laoneo
laoneo - comment - 16 Mar 2025

Once algo26-matthias/idna-convert#49 will be merged and a new release shipped, then this is upgrade safe.

avatar brianteeman
brianteeman - comment - 18 Mar 2025

tested that the deprecation notice is resolved by this update.

Unable to follow your test instructions as I dont understand what you mean by " and an invalid one like http:/google.c"

avatar brianteeman brianteeman - test_item - 18 Mar 2025 - Tested successfully
avatar brianteeman
brianteeman - comment - 18 Mar 2025

I have tested this item ✅ successfully on f1ff2fd


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

avatar laoneo laoneo - change - 18 Mar 2025
The description was changed
avatar laoneo laoneo - edited - 18 Mar 2025
avatar laoneo
laoneo - comment - 18 Mar 2025

Updated the instructions, it should be tested with a valid and invalid url.

avatar brianteeman
brianteeman - comment - 18 Mar 2025

i didnt spot the single slash in the url

avatar brianteeman
brianteeman - comment - 18 Mar 2025

this is needed for php 8.4.5 or Joomla can not be installed if your admin email address is in the form abc@example

avatar muhme muhme - test_item - 19 Mar 2025 - Tested successfully
avatar muhme
muhme - comment - 19 Mar 2025

I have tested this item ✅ successfully on f1ff2fd

* Tested with current 5.3-dev and PHP 8.4.4 on macOS

  • Before applying the PR, after fresh apache restart once the deprecated is shown in Joomla administrator backend
Deprecated: Algo26\IdnaConvert\Punycode\PunycodeInterface::__construct(): Implicitly marking parameter $idnVersion as nullable is deprecated, the explicit nullable type must be used instead in
/Users/hlu/Desktop/no_backup/joomla-cms/53/libraries/vendor/algo26-matthias/idna-convert/src/Punycode/PunycodeInterface.php 
on line 6
  • Patch applied with gh pr checkout 45140 and checked in composer* that idna-converser version is updated from ^3.1.1 to ^4.0.4, did composer i and restarted apache, no deprecated error message anymore
  • Tested article with valid, invalid and Umlaut-URL; invalid URL is not passing, it is getting Invalid field until it is fixed
    This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45140.
  • Tested contact email-adress with valid address and Umlaut-domain
  • ⚠️ Invalid email adresses like heiko@bla are passing without error, same behavier as before the patch
avatar richard67 richard67 - change - 19 Mar 2025
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 19 Mar 2025

RTC


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

avatar rdeutz rdeutz - change - 19 Mar 2025
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2025-03-19 15:33:24
Closed_By rdeutz
Labels Added: RTC
avatar rdeutz rdeutz - close - 19 Mar 2025
avatar rdeutz rdeutz - merge - 19 Mar 2025
avatar brianteeman
brianteeman - comment - 19 Mar 2025

thank you

Add a Comment

Login with GitHub to post a comment