Page MenuHomePhabricator

Unable to log into LinguaLibre due to user-agent / rate limit
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

What happens?:

The following error is shown on the login screen:

OAuth login error: Decoding server response failed: No error (Raw response: Please set a user-agent and respect our robot policy https://w.wiki/4wJS. See also T400119. )

What should have happened instead?:
The form to log in should have been displayed; if correct credentials were entered, it should have been possible to authenticate with OAuth and become logged in.

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):
All browsers (up to date) didn't seem to work, which makes sense, since the error appears to be server-side.

@Aklapper, I believe you mentioned at T402193 that you had been able to reproduce this, and it also seems like the latest recording, [[Commons:File:LL-Q9027 (swe)-Ainali-alp.wav]], was recorded on 17 August 2025, 4 days ago, suggesting that probably everyone is affected. Sorry that I am just stating something you are probably aware of already, and perhaps there's already a report on this for LinguaLibre that I couldn't find, but I wanted to file a report as you mentioned to do so in that thread before. Is it the case that this is because of a new rate limit imposed on non-"internal" projects and on requests with a bad / missing user agent, if I understand T400119 correctly? Is there something which can be done on the LinguaLibre side for this problem?

Thank you for your time,

  • Kiril

Event Timeline

Thx for reporting, i will try to check and fix it today.

Another user reported the following error 2 days ago:

IMG_20250822_113638_239.jpg (1,280×638 px, 105 KB)

IMG_20250822_113633_119.jpg (1,280×592 px, 109 KB)

Maybe it will help.

Thx for reporting, i will try to check and fix it today.

Hi, if you don't manage to fix the issue, we can temporarily allow your traffic, if you provide us with the IPs from which we'll receive it.

Report by user:Fenakhay , using Firefox :

I can't log in to LinguaLibre:

OAuth login error: Decoding server response failed: No error (Raw response: Please set a user-agent and respect our robot policy https://w.wiki/4wJS. See also T400119. )

Screenshot_2025-08-22-13-00-29-21_572064f74bd5f9fa804b05334aa4f912.jpg (720×462 px, 80 KB)

Another by Polish user:Olaf :

Screenshot_2025-08-22-13-05-14-71_40deb401b9ffe8e1df2f1cc5ba480b12.jpg (720×1,044 px, 255 KB)

@Yug thanks, no need to keep appending user reports till @mickeybarber reports back. This is a well-known and expected behavior of the CDN as announced on https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/APW6FQBGIVLCEN7WZ65D4NVZ6XQIWGCW/ back in 2025-07-30

Thanks @Joe for your work, and I completely understand the new policy.
LinguaLibre runs on MediaWiki (1.35), and if I understand correctly, I can't change the User-Agent.
Could you please whitelist these IPs:

  • 152.228.161.167
  • 2001:41d0:304:100::4790

If you have a solution to fix it on a MW, please don’t hesitate to share it.

Hi @mickeybarber,

From Special:Version it appears Lingua Libre is running mediawiki/oauthclient 1.1.0. The ability to set a custom User-Agent (via Config::setUserAgent) was added in 1.2.0 (commit 81edea5f545ef551cb1fb3e8937fd81c549fa94b, task T293609).

You have two paths:

  • Upgrade mediawiki/oauthclient to >= 1.2.0
  • Backport just that upstream commit

After that you need to patch your local copy of OAuthAuthentication to add the custom User-Agent:

diff
diff --git a/utils/Config.php b/utils/Config.php
index d61d793..00f02d6 100644
--- a/utils/Config.php
+++ b/utils/Config.php
@@ -24,6 +24,7 @@ class Config {
                        $wgOAuthAuthenticationUrl, // url to use
                        $validateSSL // do we validate the SSL certificate? Always use 'true' in production.
                );
+               $config->setUserAgent('LinguaLibre/0.1 (https://lingualibre.org; contact@lingualibre.org)');
 
                if ( $wgOAuthAuthenticationCanonicalUrl ) {
                        $config->canonicalServerUrl = $wgOAuthAuthenticationCanonicalUrl;

Recommendation: Plan a broader MediaWiki + extensions refresh; staying on older versions increases exposure to missed security updates.

Thanks a lot @Vgutierrez,

It's fixed now.

Recommendation: Plan a broader MediaWiki + extensions refresh; staying on older versions increases exposure to missed security updates.

We are rewriting LinguaLibre, without MediaWiki behind it, but we are behind schedule :(

Vgutierrez claimed this task.

Thanks, everyone, for such a quick resolution!

For future reference, if a user files a bug about an extension, it would be great to either tag that extension on the ticket or file a new ticket about the particular issue in the extension. Having the user just manually patch their version of the extension's source code does nothing for all the other users of the extension. Maintainers cannot maintain extensions of bug reports are hidden from them.

In any case, I filed T402742 and submitted a patch

For future reference, if a user files a bug about an extension, it would be great to either tag that extension on the ticket or file a new ticket about the particular issue in the extension. Having the user just manually patch their version of the extension's source code does nothing for all the other users of the extension. Maintainers cannot maintain extensions of bug reports are hidden from them.

In any case, I filed T402742 and submitted a patch

Note Lingua Libre Legacy use OAuthAuthentication, which is a different extension from WSOAuth. It is unmaintained and proposed to be archived (T322969: Archive the OAuthAuthentication extension).