RTC bug PR-5.4-dev Pending

User tests: Successful: Unsuccessful:

avatar laoneo
laoneo
15 Jan 2026

Summary of Changes

The global checkin action, resets the checked_out column with the default value, but the "Checking" task sets it to null. If a 3rd party extension doesn't accept null and uses a default value of 0 instead. The task exits with a -2 exit code. This pr resets the checked_out column the same way in the plugin as the core does in the model, when doing a global checkin.

Testing Instructions

  • Install DPCalendar free
  • Create an event
  • Close the browser tab
  • Create a checkin task
  • Run that task manually

Actual result BEFORE applying this Pull Request

It returns with exit code -2.

Expected result AFTER applying this Pull Request

All items are checked in.

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 Jan 2026
avatar laoneo laoneo - change - 15 Jan 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 15 Jan 2026
Category Front End Plugins
avatar laoneo laoneo - change - 15 Jan 2026
Labels Added: PR-5.4-dev
avatar laoneo laoneo - change - 15 Jan 2026
The description was changed
avatar laoneo laoneo - edited - 15 Jan 2026
avatar sidd19898
sidd19898 - comment - 15 Jan 2026

I tested this on a local Joomla 5.4-dev setup (PHP 8.x, MySQL, XAMPP).

I installed DPCalendar Lite via Install from Web and created a Global Check-in scheduled task using the default values.

Result:

The task completed successfully on 5.4-dev (before applying the PR).

After applying this PR, the task still completed successfully.

No errors or regressions were observed.

This indicates that DPCalendar Lite correctly accepts null values and therefore does not reproduce the edge case described in the PR.

Testing with a third-party extension that does not accept null values (and instead enforces a default like 0) would be required to reproduce the original issue, if such an extension is known.

avatar richard67
richard67 - comment - 15 Jan 2026

@laoneo What happens if the column does not have a default value (which is absolutely possible)? Can we be sure that neither MySQL nor MariaDB nor PostgreSQL throw an error in that case?

avatar laoneo
laoneo - comment - 15 Jan 2026

It happens the same as with the global checkin code, which exists since ages. If it works there it will also work here. This pr does make sure that it is the same behavior and doesn't break extensions.

avatar laoneo
laoneo - comment - 16 Jan 2026

@sidd19898 did you create an event also and closed the browser window before you run the task?

avatar sidd19898
sidd19898 - comment - 16 Jan 2026

Hi @laoneo — thanks for the clarification.

In my earlier test, I created the DPCalendar event but did not explicitly close the browser tab before running the Global Check-in task, which likely explains why I could not reproduce the issue.

I’ll re-run the test following your exact steps (create event → close browser → run check-in task) and report back with the results.

avatar sidd19898
sidd19898 - comment - 16 Jan 2026

I tested this PR on a local Joomla 5.4-dev setup (PHP 8.x, MySQL, XAMPP).

Steps followed:

Installed DPCalendar Lite

Created an event

Opened the event and closed the browser tab without saving

Created and manually ran the Global Check-in scheduled task

Result:
The task completed successfully both before and after applying this PR.

This suggests that DPCalendar Lite correctly accepts NULL values for the checked_out column, so the edge case described in the PR could not be reproduced with this extension.

Testing with another third-party extension that enforces a default value of 0 instead of NULL would be needed to fully validate the bug scenario.

avatar webgras
webgras - comment - 16 Jan 2026

I checked with DP Calender Core:
Without the patch, I get an error code "-2". but success shows in the window:
grafik

With the patch, error code 5 "no content was returned"
grafik
grafik

Then I checked with another extension (SP Pagebuilder).
Without the patch, I get an error code "-2". but success shows in the window.
grafik

grafik

With the patch, I get an error code "5": "no content was returned"

grafik
avatar laoneo
laoneo - comment - 27 Jan 2026

Put error reporting to maximum and try again. Do you see an error message in the XHR request in the developer console?

avatar laoneo laoneo - change - 27 Jan 2026
Labels Added: bug
avatar crimle crimle - test_item - 30 Jan 2026 - Tested successfully
avatar crimle
crimle - comment - 30 Jan 2026

I have tested this item ✅ successfully on d90c478


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

avatar ChrisHoefliger ChrisHoefliger - test_item - 30 Jan 2026 - Tested successfully
avatar ChrisHoefliger
ChrisHoefliger - comment - 30 Jan 2026

I have tested this item ✅ successfully on d90c478


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

avatar rbuelund rbuelund - test_item - 31 Jan 2026 - Tested successfully
avatar rbuelund
rbuelund - comment - 31 Jan 2026

I have tested this item ✅ successfully on d90c478


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

avatar alikon alikon - change - 31 Jan 2026
Status Pending Ready to Commit
avatar alikon
alikon - comment - 31 Jan 2026

RTC


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

avatar richard67
richard67 - comment - 31 Jan 2026

@crimle @ChrisHoefliger @rbuelund Which database(s) (type and version) have you used for testing?

avatar rbuelund
rbuelund - comment - 1 Feb 2026

We used: 10.5.29-MariaDB

avatar alikon
alikon - comment - 1 Feb 2026

i'm unable to install DPCalendar free on pgsql

image
avatar laoneo
laoneo - comment - 1 Feb 2026

It doesn't support it. You need to look for an extension who does.

avatar laoneo
laoneo - comment - 1 Feb 2026

It doesn't support it. You need to look for an extension who does.

avatar crimle
crimle - comment - 2 Feb 2026

@crimle @ChrisHoefliger @rbuelund Which database(s) (type and version) have you used for testing?
MySQLi 11.4.9-MariaDB

avatar richard67
richard67 - comment - 4 Feb 2026

Pity. Would be really good to have a test with PostgreSQL (and also with MySQL 8 as it seems it has been tested only with MariaDB).

avatar laoneo
laoneo - comment - 4 Feb 2026

As stated in the description, this code runs since ages in the model already. This pr just hormonizes it and fixes a bug.

avatar richard67
richard67 - comment - 4 Feb 2026

@laoneo Could you trigger a branch update? As you know, we don't have that button for your PRs.

avatar laoneo laoneo - change - 4 Feb 2026
Labels Added: RTC
avatar richard67
richard67 - comment - 4 Feb 2026

As stated in the description, this code runs since ages in the model already.

@laoneo Yes, I've missed that part. Thanks for pointing me to it.

avatar richard67
richard67 - comment - 4 Feb 2026

Thanks @laoneo for this PR, and @crimle , @ChrisHoefliger and @rbuelund for testing.

avatar richard67 richard67 - change - 4 Feb 2026
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2026-02-04 19:48:55
Closed_By richard67
avatar richard67 richard67 - close - 4 Feb 2026
avatar richard67 richard67 - merge - 4 Feb 2026

Add a Comment

Login with GitHub to post a comment