Updates Requested bug PR-6.1-dev Pending

User tests: Successful: Unsuccessful:

avatar NicolasDerumigny
NicolasDerumigny
16 Dec 2025

Pull Request for .

Summary of Changes

Apply translation to PLG_AUTHENTICATION_COOKIE_ERROR_LOG_LOGIN_FAILED string.

Testing Instructions

Try to log in twice with the exact same cookie using the cookie authentication plugin, triggering a failed login (safety protection).

Actual result BEFORE applying this Pull Request

Joomla's log logs PLG_AUTHENTICATION_COOKIE_ERROR_LOG_LOGIN_FAILED

Expected result AFTER applying this Pull Request

Joomla's log logs Cookie login failed for user <user>

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 NicolasDerumigny NicolasDerumigny - open - 16 Dec 2025
avatar NicolasDerumigny NicolasDerumigny - change - 16 Dec 2025
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 16 Dec 2025
Category ⇒ Front End Plugins
avatar NicolasDerumigny NicolasDerumigny - change - 16 Dec 2025
The description was changed
avatar NicolasDerumigny NicolasDerumigny - edited - 16 Dec 2025
avatar tecpromotion tecpromotion - change - 17 Dec 2025
Title
…
fix(cookie auth): fix error language translation
[6.1] fix(cookie auth): fix error language translation
avatar tecpromotion tecpromotion - edited - 17 Dec 2025
avatar exlemor
exlemor - comment - 18 Jan 2026

@NicolasDerumigny - how exactly do I do this:

"Try to log in twice with the exact same cookie using the cookie authentication plugin, triggering a failed login" ?

I'll gladly test the PR, I just don't know how to do that?

avatar tecpromotion
tecpromotion - comment - 23 Jan 2026

@NicolasDerumigny - how exactly do I do this:

"Try to log in twice with the exact same cookie using the cookie authentication plugin, triggering a failed login" ?

I'll gladly test the PR, I just don't know how to do that?

@NicolasDerumigny Could you define the testing instructions in more detail or provide a screenshot or video? That would be great. Thank you.

avatar NicolasDerumigny
NicolasDerumigny - comment - 23 Jan 2026

Sure !

  1. Log in on the website while checking "remember me"
  2. In Firefox, open developer console -> Storage -> Cookies, right-click and "Delete All Session Cookies"
  3. In the JS console, execute
Promise.all([fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'})])

Which pings ~20 times Joomla, triggering a race issue which should trigger the message.

avatar bembelimen
bembelimen - comment - 24 Jan 2026

Hello @NicolasDerumigny thank you for your PR and your testing description, now it's clear and I can reproduce the issue.

I think you found here two issues:

For the first issue I think your fix can be make easier, because plugins have a $this->loadLanguage() method, which loads the language file for the plugin. So no need to change the code, just add this call a line above. Then probably you could also fix the language string itself? Thank you!

avatar exlemor
exlemor - comment - 24 Jan 2026

Sure !

  1. Log in on the website while checking "remember me"
  2. In Firefox, open developer console -> Storage -> Cookies, right-click and "Delete All Session Cookies"
  3. In the JS console, execute
Promise.all([fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}, {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'}),fetch("/component/ajax/?format=json", {method: 'POST'})])

Which pings ~20 times Joomla, triggering a race issue which should trigger the message.

Hi @NicolasDerumigny, I have done this in 2 different browsers, and I can't seem to find in any logs :

Joomla's log logs PLG_AUTHENTICATION_COOKIE_ERROR_LOG_LOGIN_FAILED

/error_log or /administrator/error_log or /administrator/logs/error.php
(I even turned on Log Deprecated API and Log Almost Everything thinking I needed to do that, and nothing...)

;(

avatar NicolasDerumigny NicolasDerumigny - change - 28 Jan 2026
Labels Added: PR-6.1-dev
avatar NicolasDerumigny
NicolasDerumigny - comment - 28 Jan 2026

That's strange, especially given the fact that @bembelimen seems to have reproduced it. Are you sure to have deleted session-local cookies before each try? Else the browser will authenticate using session cookies and not remember me ones, which will not trigger the bug.

@bembelimen : I will update the string as soon as I can

avatar gioacchino54
gioacchino54 - comment - 31 Jan 2026

I have tried several times, but I cannot find the error in the Joomla log.
Perhaps I did not understand the procedure described.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46576.
avatar tecpromotion tecpromotion - change - 15 May 2026
Labels Added: bug
avatar tecpromotion
tecpromotion - comment - 19 Jun 2026

@NicolasDerumigny please also change the language string as suggested. We’ll then test it again and look forward to merging the PR.

avatar tecpromotion
tecpromotion - comment - 19 Jun 2026

@NicolasDerumigny please also change the language string as suggested. We’ll then test it again and look forward to merging the PR.

We’ve discussed this again and the language string actually needs to be fixed separately in 5.4-dev.

avatar tecpromotion
tecpromotion - comment - 19 Jun 2026

I’ve been looking into this for the last hour, and even in version 5.4 the string isn’t being translated correctly in the log.

2026-06-19T09:04:46+00:00	INFO	127.0.0.1	joomlafailure	Empty password not allowed.
2026-06-19T09:06:49+00:00	WARNING	127.0.0.1	security	PLG_AUTHENTICATION_COOKIE_ERROR_LOG_LOGIN_FAILED

@NicolasDerumigny we now have two quick options.

  1. You close this PR and create a new PR for 5.4, and we’ll handle the upmerge.
  2. I’ll create a new PR for 5.4.

If you’re creating the PR for version 5.4 from scratch, please add
$this->loadLanguage();
to line 110 so that we can translate all the strings in future.

avatar NicolasDerumigny
NicolasDerumigny - comment - 19 Jun 2026

@tecpromotion it will be faster if you handle it, I do not have much time in the short term. However, I'd like to underline that the cookie authentication mechanism also have a concurrency issue that I pointed out in #46587 that you may want to look at after merging the translation fix.

avatar tecpromotion tecpromotion - change - 19 Jun 2026
Status Pending ⇒ Closed
Closed_Date 0000-00-00 00:00:00 ⇒ 2026-06-19 10:31:07
Closed_By ⇒ tecpromotion
Labels Added: Updates Requested
avatar tecpromotion tecpromotion - close - 19 Jun 2026
avatar tecpromotion
tecpromotion - comment - 19 Jun 2026

In consultation with @NicolasDerumigny, this PR will be closed and replaced by #47985.

Add a Comment

Login with GitHub to post a comment