Page MenuHomePhabricator

Default user options in MessagesXx files have no effect
Closed, ResolvedPublic

Description

The settings in the default user options in MessagesXx.php files (where xx is the wiki content language), have no effect. The value is overridden by the values in DefaultSettings.php. When removing an option from DefaultSettings, it uses the value again from MessagesXx.php

This bug is present for quite some time, since the defaultUserOptionOverrides are almost only used for quickbar (used by some legacy skins) by RTL languages, which is a small userbase so it didn't get noticed.

(Interesting side-note: in the case of quickbar for RTL languages, this bug is being "corrected" by another bug: CSS for RTL languages is flipped, so where "left" is the default option, it's flipped to "right", so your preferences will say you have left, while it's right, which it should be, but because of MessagesXx options and not because the CSS it's flipped)


Version: 1.20.x
Severity: major

Details

Reference
bz29712

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 21 2014, 11:29 PM
bzimport set Reference to bz29712.
bzimport added a subscriber: Unknown Object (MLST).

I am going to remove this (broken) feature, because depending on wgLang for defaultUserOptionOverrides makes much more sense than wgContLang (as it currently is), but is not possible because wgLang depends on the preferences itself.

Secondly, the only three prefs set in MessagesXx files are:

  • 'underline' => 0 by languages written in scripts that are hard to read with underlines -> can be set in CSS
  • 'quickbar' => 2 by RTL languages, this can be done differently (in SkinLegacy->qbSetting(à for example)
  • 'editfont' => 'sans-serif' -> can be set in CSS