mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-24 07:34:11 +00:00
190962cc5b
An "advanced" option was first introduced in 2014 via patch I374805e (originally named "monitor-or-edit", renamed via patch I7b4f6d2). The isNavPopupsEnabled() function was added in 2016 via patch Ic660f48. The code that disables the extension entirely the moment the NavPopups gadget is enabled was added in 2017 via patch Ia474b1b (T151058) and patch Ia837816 (T160081). As of now, the "advanced" option can only be seen in an extreme edge case: * Only for anonymous users. * Only if NavPopups is enabled by default for anonymous users. * Only if the $wgPopupsConflictingNavPopupsGadgetName setting is misconfigured. * … or if NavPopups is not a gadget in the first place, but e.g. loaded via Common.js. In this situation the settings dialog opens with all *3* options. This is broken for several reasons: * The "simple" option enables the extension, but doesn't disable NavPopups. Both trigger, resulting in both popups being displayed the same time. * Since "simple" is the default, this bogus behavior is the default for anonymous users. * The "off" option doesn't stick. Every time the settings dialog opens "advanced" is checked instead. * "Off" can't work anyway. There is no code to disable the gadget. * Only the "advanced" option "works", but more by accident. It's unclear how to fix this: * There is no code that does anything with the "advanced" option. It's not even stored. The behavior of the option is identical to "off". * The code appears as if "advanced" was meant to be shown instead of "off". I.e. anonymous users can only choose one of the popups, but not disable both. But there is no code to hide the "off" option. * The bug when both popups are displayed was fixed in 2017 via an entirely different mechanism. Re-introducing "advanced" does not only mean duplication, it's unclear how the 2 mechanisms are meant to work together. It really, really feels like this was just forgotten. Bug: T278949 Change-Id: Iab21f3a649a5b2f19ebb0d0dbb45ce1450c65678 |
||
---|---|---|
.. | ||
.eslintrc.json | ||
index.js | ||
index.js.map.json |