Language Change PR-6.3-dev Pending

User tests: Successful: Unsuccessful:

avatar brianteeman
brianteeman
24 Sep 2026

Pull Request resolves #47543 .

  • 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

Adds a previousvisitDate field to Joomla users to preserve the previous value of lastvisitDate.

Currently, when Joomla updates a user's lastvisitDate, the previous value is overwritten. This means extensions cannot determine when a user last visited before their most recent visit without maintaining their own history.

This change copies the existing lastvisitDate to previousvisitDate before updating lastvisitDate.

The change includes a new nullable previousvisitDate column in the users table for MySQL and PostgreSQL, the corresponding database update SQL, and a new previousvisitDate property on the User class.

The previousvisitDate is displayed in both the users and user views in the admin

Testing Instructions

  1. Install Joomla 6.3 with this Pull Request applied.
  2. Log in to the Joomla Administrator.
  3. Go to Users → Manage.
  4. Create a new test user.
  5. Open a separate browser window or private/incognito browser window.
  6. Log in to the frontend using the new test user's account.
  7. Log out of the test user's account.
  8. Wait at least one minute so that the login timestamps are clearly distinguishable.
  9. Log in again using the same test user.
  10. Log out.
  11. Log in for a third time and then log out.
  12. Return to the Administrator and go to Users → Manage.
  13. Locate the test user and confirm that the Last Visit column shows the timestamp of the most recent login.
  14. Confirm that the Previous Visit column shows the timestamp of the login immediately before the most recent login.
  15. Log in again as the test user, then return to Users → Manage.
  16. Confirm that Last Visit has been updated to the new login time and Previous Visit now contains the previous Last Visit value.
  17. Click the test user to edit the user.
  18. Confirm that the user edit screen displays both Last Visit and Previous Visit.
  19. Confirm that both fields are read-only and that the dates displayed correspond to the values shown in the Users list.
  20. Create another test user, or use an existing user that was created before applying this Pull Request.
  21. Log in with that user once.
  22. Return to the Administrator and edit the user.
  23. Confirm that Last Visit contains the new login timestamp and Previous Visit is empty.
  24. Log out and log in again.
  25. Return to the user edit screen and confirm that Previous Visit now contains the timestamp from the first login.
  26. Return to Users → Manage and use the Previous Visit column heading to sort the users.
  27. Confirm that ascending and descending sorting work correctly.
  28. Verify that users with no previous visit can still be displayed correctly and that JNEVER is shown where appropriate.
  29. Repeat the database upgrade and functional tests using PostgreSQL if PostgreSQL testing is available.

Actual result BEFORE applying this Pull Request

Joomla stores the timestamp of the user's most recent visit in lastvisitDate.

When the user visits again, the existing value is overwritten with the new timestamp. The previous value is therefore no longer available from the user record.

Expected result AFTER applying this Pull Request

Joomla preserves the previous value of lastvisitDate in previousvisitDate before updating lastvisitDate.

The Users Administrator list displays both Last Visit and Previous Visit, with Previous Visit supporting sorting.

The user edit screen also displays both dates as read-only fields.

After the first recorded visit, previousvisitDate remains empty because there is no known previous visit. On subsequent visits, it contains the timestamp of the visit immediately preceding the current Last Visit value.

This also makes the previous visit date available to extensions through the User object.

image image

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

b0fa6c7 24 Sep 2026 avatar brianteeman sql
avatar brianteeman brianteeman - open - 24 Sep 2026
avatar brianteeman brianteeman - change - 24 Sep 2026
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 24 Sep 2026
Category ⇒ SQL Administration com_admin Postgresql com_users Language & Strings Installation Libraries
avatar brianteeman brianteeman - change - 24 Sep 2026
Labels Added: Language Change PR-6.3-dev
avatar brianteeman brianteeman - change - 24 Sep 2026
The description was changed
avatar brianteeman brianteeman - edited - 24 Sep 2026
79cc0c6 24 Sep 2026 avatar brianteeman null
avatar QuyTon
QuyTon - comment - 26 Sep 2026

Clicking the Previous Visit heading does not change the ascending/descending icon.

avatar brianteeman
brianteeman - comment - 26 Sep 2026

Clicking the Previous Visit heading does not change the ascending/descending icon.

good spot - should be fixed now

Add a Comment

Login with GitHub to post a comment