User tests: Successful: Unsuccessful:
EDIT 2026-04-22: Added fix for RTL
Pull Request resolves #45933, #46013 and #47645.
When opening the calendar picker in calendar input field, modifying manually the input won't update the datetime value for data-alt-value attribute, resulting in input manual changes for date and or time not saved.
Note for Jalali: the Jalali date-helper.js does not manage the seconds, and is always then reverted to 00 even if you enter seconds in the input field. This is not related to the core calendar.js, but to the local datetime helper for Jalali. IMO, seconds is not really useful in majority of cases, but better to mention this specific difference between gregorian and Jalali calendar type.
Manual edit of date in input is not stored if calendar picker is open.
See #46013 (video)
Hour and minutes fields inconsistency and issue in a RTL language.
See #47645 (video)
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 | ⇒ | JavaScript Repository NPM Change |
did you also test this with non-gregorian calendars such as jalali with the farsi language pack
did you also test this with non-gregorian calendars such as jalali with the farsi language pack
The code change should not affect non-gregorian calendars, as same issue, and same check for non-gregorian calendar for input event handler.
But i just tested with Farsi. Same issue before. After applying the patch, the issue is fixed as well (eg. you can pick a day in the calendar, set manually the time (for example, enter for the first 2 digits "۰۰") and on save, it keeps now the manual edit from the input.
Of course, another test with a non-gregorian calendar would be better ;-)
I have tested this item ✅ successfully on 9769b06
Manual time edits in the Jalali(farsi) calendar saves successfully with patch.
I have tested this item 🔴 unsuccessfully on 9769b06
Changing my test result to Unsuccessful.
I previously marked this as a successful test but I need to retract that. Due to my lack of familiarity with Farsi and the Jalali calendar numerals, I misinterpreted the output during my testing and incorrectly thought it had saved properly.
To be safe I am changing my vote to unsuccessful for now. I highly recommend that someone who better understand Farsi gives this a proper test.
Sorry for the confusion!
I have tested this item 🔴 unsuccessfully on 9769b06
Changing my test result to Unsuccessful.
I previously marked this as a successful test but I need to retract that. Due to my lack of familiarity with Farsi and the Jalali calendar numerals, I misinterpreted the output during my testing and incorrectly thought it had saved properly.
To be safe I am changing my vote to unsuccessful for now. I highly recommend that someone who better understand Farsi gives this a proper test.
Sorry for the confusion!
@krishnagandhicode If that means that you were not able to test, then please change to "Not tested". Unsuccessful should only be used if a human test fails for a PR or if the PR breaks something.
I have not tested this item.
@krishnagandhicode If that means that you were not able to test, then please change to "Not tested". Unsuccessful should only be used if a human test fails for a PR or if the PR breaks something.
Alright - but According to me this does not work for farsi/jalali calendar.
I have not tested this item.
@krishnagandhicode If that means that you were not able to test, then please change to "Not tested". Unsuccessful should only be used if a human test fails for a PR or if the PR breaks something.
Alright - but According to me this does not work for farsi/jalali calendar.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47626.
My test with Farsi (and the patch applied):
@krishnagandhicode could you explain what according to you, does not work with Farsi?
And did you test it as well with a gregorian calendar (English for example) to compare your result?
Thanks!
Note: the code change is not supposed to affect non-gregorian calendar, so i'm a bit surprized about the result of not working with a Farsi calendar.
@krishnagandhicode could you explain what according to you, does not work with Farsi? And did you test it as well with a gregorian calendar (English for example) to compare your result? Thanks!
Note: the code change is not supposed to affect non-gregorian calendar, so i'm a bit surprized about the result of not working with a Farsi calendar.
I completely agree on that and most probably it's something not okay on my side : (
( Well my test for gregorian calendar was a Successful test)
Okay I will give it another try.
I have tested this item ✅ successfully on 9769b06
| Status | Pending | ⇒ | Ready to Commit |
| Labels |
Added:
NPM Resource Changed
bug
PR-5.4-dev
|
||
RTC
I have tested this item 🔴 unsuccessfully on 9769b06
Final test before merge with JBT and installed fa-IR
npm run build:js
| Labels |
Added:
RTC
|
||
@muhme @exlemor @brianteeman @richard67 @krishnagandhicode, after Heiko advanced test, an issue was found with datetime stored, not converted to Gregorian SQL format in Jahali calendar.
I've updated the PR to fix that, adding a correct conversion for date.
In the same time, Heiko reported a RTL issue for hour and minute selector #47645 which is not related to this PR, but as i was digging into the code, i've fixed it as well.
The issue is hour and minutes fields were swapped byt line 718 row.insertBefore(minutesCell, hoursCell); in RTL, but when getting the field values, the hour was getting minutes field and vice-versa for the minutes field getting the hour. To fix it, added additionnal check for RTL to reverse hour and minutes childnodes.
So that means this PR will need 3 test contexts:
I've done many test since yesterday since with this updated PR (LTR, RTL, Gregorian, Jahali) and it seems to fix the 2+1 issues reported).
Thank you for testing back this PR! 👍
| Status | Ready to Commit | ⇒ | Pending |
Set back to Pending, as code is changed and new tests are required
Set back to Pending, as code is changed and new tests are required
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks Brian, but maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jahali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long tiem...), as the issue reported by @muhme is with Jahali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jahali (which is not only for Jahali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes seems a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks Brian, but maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jahali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long tiem...), as the issue reported by @muhme is with Jahali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jahali (which is not only for Jahali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes seems a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks Brian, but maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jahali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long tiem...), as the issue reported by @muhme is with Jahali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jahali (which is not only for Jahali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes is a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks @brianteeman, maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jahali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long tiem...), as the issue reported by @muhme is with Jahali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jahali (which is not only for Jahali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes is a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks @brianteeman, maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jalali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long tiem...), as the issue reported by @muhme is with Jalali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jalali (which is not only for Jalali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes is a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
The test instructions are wrong. There is a difference between testing and RTL language such as Hebrew or Arabic and testing with Persian (farsi). Hebrew and Arabic both use the Gregorian calendar but Persian uses the very different jalali calendar. Please don't confuse the two.
Thanks @brianteeman, maybe my English is not perfect. I would be happy if you can help me to improve testing instruction.
I've mentionned "Jalali" for RTL with a eg. before (i think it means example in English, if not, i'm doing this error since a long time...), as the issue reported by @muhme is with Jalali calendar.
Of course, i can edit to improve the instruction to add mention of Gregorian calendar with RTL language.
I am surprised to hear that there is a problem with time on the jalali calendar as this was tested by native speakers. Unfortunately they are unable to retest at the moment as internet access is not currently available in their country.
I'm surprised too after @muhme issue report #47645 about RTL issue with Jalali (which is not only for Jalali, but for RTL languages) to not have been catched earlier, as mixing hours and minutes is a confusing behavior.
But with advanced and thorough testing of this PR, we could potentially fix all of this. ;-)
I've updated the testing instructions to prevent confusion.
I have tested this item ✅ successfully on 521376d
verified the bug in arabic and farsi
confirmed this pr fixes the bug in both arabic and farsi
I have tested this item ✅ successfully on 521376d
verified the bug in arabic and farsi
confirmed this pr fixes the bug in both arabic and farsi
Thanks a lot @cyrez for fixing the reported issues.
I was able to all the situations successfully - So this PR does what it says.
But unfortunately ;( there's a small issue I noticed that HAPPENS ONLY AFTER APPLYING THE PATCH.
while using Persian Language for Admin and selecting a date a date in date picker it also highlights it's adjacent date in calendar : see Screen Recording.
Thanks a lot @cyrez for fixing the reported issues.
I was able to test all the situations successfully - So this PR does what it says.
But unfortunately ;( there's a small issue I noticed that HAPPENS ONLY AFTER APPLYING THE PATCH.
while using Persian Language for Admin and selecting a date a date in date picker it also highlights it's adjacent date in calendar : see Screen Recording.
Thanks a lot @cyrez for fixing the reported issues.
I was able to test all the situations successfully - So this PR does what it says.
But unfortunately ;( there's a small issue I noticed that HAPPENS ONLY AFTER APPLYING THE PATCH.
while using Persian Language for Admin and selecting a date in date picker it also highlights it's adjacent date in calendar : see Screen Recording.
Thanks a lot @cyrez for fixing the reported issues.
I was able to test all the situations successfully - So this PR does what it says.
But unfortunately ;( there's a small issue I noticed that HAPPENS ONLY AFTER APPLYING THE PATCH.
while using Persian Language for Admin and selecting a date in date picker it also highlights it's adjacent date in calendar : see Screen Recording.
Recording.2026-04-27.221616.mp4
Hi @krishnagandhicode , i'm not able to reproduce your strange issue.
Could you turn on your browser javascript console to check if any script errors on the page?
Can someone else test with Persian language and check if same issue or not as the one reported in the video?
Yes, I can confirm @krishnagandhicode finding, using Chrome browser. See https://github.com/user-attachments/assets/9aa7e402-a9f7-4db9-928c-477606366583
Yes, I can confirm @krishnagandhicode finding, using Chrome browser. See https://github.com/user-attachments/assets/9aa7e402-a9f7-4db9-928c-477606366583
Before PR selecting one day is working and results in the selected day.
@mortezahonar can you take a look please
Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
No issues were observed when selecting subsequent months.
Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
- When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
- When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
No issues were observed when selecting subsequent months.
Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
In other words, any day can be selected, but selecting the first month is not possible.
No issues were observed when selecting subsequent months.
Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
In other words, any day can be selected, but selecting the first month is not possible.
No issues were observed when selecting subsequent months.
I hope my testing method is correct.
Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
In other words, any day can be selected, but selecting the first month is not possible.
This issue was not observed when the language was English.
No issues were observed when selecting subsequent months.
I hope my testing method is correct.
Joomla Version 5.4.4-dev installed
In English (Date & Time):
Next step:
Persian language pack version 5.4.2v1 was installed and set as the backend language.
In the following path:
\media\system\js\fields
The contents of two files:
calendar.jscalendar.min.jswere replaced with the files from this PR.
All tests for 5 date/time fields were successful , which is greatly appreciated.
The only issue relates to going back to a date before the 11th day of the second month:
When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
In other words, any day can be selected, but selecting the first month is not possible.
This issue was not observed when the language was English.
No issues were observed when selecting subsequent months.
I hope my testing method is correct.
In the date field, when we type 01 for the month, after saving, 02 is displayed.
The only issue relates to going back to a date before the 11th day of the second month:
- When navigating backward with the mouse, it does not go beyond the 11th day of the second month.
- When navigating backward with the keyboard, you can reach any day of the first month, but upon saving, the second month is restored again.
- In other words, any day can be selected, but selecting the first month is not possible.
This issue was not observed when the language was English.
No issues were observed when selecting subsequent months.
Should I open a new issue for this?
Or does this issue belong within this PR?
Should I open a new issue for this? Or does this issue belong within this PR?
@mortezahonar IF you can reproduce the issue (you reported) WITHOUT applying the patch(code changes) from this PR - then YES Create a new issue.
With this patch:
It is not possible to select the first month using the mouse.
Using the keyboard (arrow keys) on the calendar, you can go back to the first month, but after selecting any day from the first month (the one we reached with the keyboard) and saving, it does not apply, and the second month will appear in the date field.
Without this patch:
You can select the first month and save successfully.
With this patch:
It is not possible to select the first month using the mouse.
Using the keyboard (arrow keys) on the calendar, you can go back to the first month, but after selecting any day from the first month (the one we reached with the keyboard) and saving, it does not apply, and the second month will appear in the date field.
Without this patch:
It is possible to select the first month and save it.
| Labels |
Removed:
RTC
|
||
Thanks @mortezahonar for your testing, i was then able to reproduce and understand the issue @krishnagandhicode reported: related to change month.
There was a conflict with 'change' event handler on Jalali, and i changed it to 'blur'.
On my test in Persian, both issue of double select on first month reported by @krishnagandhicode (and confirmed by @muhme ) and issue to navigate in months reported by @mortezahonar seems to be fixed with the blur event.
On Gregorian calendar, works as before this last change.
So, this PR would need a reset of testing, and to test back in gregorian and non-gregorian, and as well with LTR and RTL languages.
Thank you @ALL for your detailed test and reports, helping to improve it! 👍
If we change the date to the first month and set one of the hour or minute fields, then check again whether the month has reverted to the second month; if it has changed to the second month, we change it back to the first month (after selecting the hour or minute) it is applied, and the first month is replaced with the selected day.
But if we try to change it again, the second month is selected by default.
In this case, even if we change to the first month, the second month is still saved unless we fill in the hour or minute and check whether it jumped to the second month; if it did, we revert it to the first month. This way, it is saved with the first month.
I have tested this item ✅ successfully on 9769b06
I have successfully tested this! Merci @cyrez ;)
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47626.