https://bugzilla.wikimedia.org/show_bug.cgi?id=55473

--- Comment #7 from Tisza Gergő <gti...@wikimedia.org> ---
MediaWiki:Licenses is a special message that only exists in the English
messages file, with a '-' value. Before 86b54375de7e, MessageCache::get() had
special handling for messages whose value was exactly '-', so the lookup went
like this:

* check DB for current lang (miss)
* check CDB ('-')
* special handling for '-': check DB for default lang (returns the english
license list)

Since 86b54375de7e, lookup goes like this:

* check DB for current lang (miss)
* check CDB ('-')
* use '-' as the license list (lines not starting with '*' are ignored, so this
is the same as an empty list)

The root problem is that DB lookups return the current language or null, while
CDB lookups include fallbacks, so a CDB fallback will take precedence over a DB
fallback which is at the same or higher position in the fallback chain. This
causes a lot of other problems apart from this bug, and a patch is already
pending: https://gerrit.wikimedia.org/r/#/c/72867/ 

Once that gets merged, the lookup will look like this:
* check DB for current lang (miss)
* check CDB for current lang (miss)
* walk back fallback chain, check first DB then CDB for each (eventually gets
English license list or a localization)

which fixes this bug and is actually an improvement over the old (which
returned English and not German license list for 'de-at').

It seems that that patch is stuck in review limbo, though.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to