This allows other extensions to use this too, without needing a hack to detect
ULS's existence and work around it by not loading their copies of j/i18n code.
Preserves backwards-compatibility for archaïc versions of MediaWiki.
Bug: T95666
Change-Id: I25b33437ceddb60570322b9aa51844acc42a3e32
Aforementioned function is faster and available since 1.21 so we
can start using it. In addition it is needed to fix T104987.
Made it so that default value is empty string instead of null
because the language validations barf at null.
Bug: T104987
Change-Id: Ie944f5c8af0c825546f9fab660451f41ab7dde3c
Bits is slated to be decomissioned. Change I8c90977e4 ensures the /geoiplookup
endpoint remains accessible by serving it from all domains. This patch updates
ULS to use http://meta.wikimedia.org/geoiplookup.
Change-Id: I4dc1b135af4ab8a5dcac77e73de5c8c9276bfb52
Tests were failing for two reasons: wrong modules as dependencies of the
test module and test timing out due to incorrect usage of QUnit.asyncTest
and QUnit.start() and QUnit.Stop.
While at it, did some small cleanups and converted the number of
assertions to use non-deprecated QUnit.expect() instead.
Options are saved using postWithToken of mw.API. This also rises minimum
MediaWiki version to 1.22. This allowed removing hundred lines of code.
MLEB is already 1.22 and above.
Change-Id: I46a1674e4ede48a0e331c8d201d1d847db51d9dd
Enforce same conditions on enabling as on showing the BetaFeatures preference
to the user, for the sake of clarity.
Bug: 62362
Change-Id: I11ee32a90ba8ecca9136a6ff33581bf6d72240bd
This commit allows to log tofu detection always,
even if the rest of the webfonts library is not loaded.
By default this is disabled.
To enable it, set the variable $wgULSTofuLoggingChance
to a number between 0 and 100, indicating the chance of it
getting logged. The idea of the lottery is that even a partial
sample can be useful.
Change-Id: Ia08fe0de348b7eebfa95498a6be58ae41608ba3b
Placing a check to not allow feature to appear in beta feature list
if there are no interlanguage links in wiki
Bug: 62361
Change-Id: I8fff949539f40953845c8ee695006ff3f4ea8241
Add new $wgULSCompactLinks feature flag, defaulting to false (as is standard
for Beta Features). Only allow enabling of the feature if ULS position is
'interlanguage'.
Change-Id: Ia268c3a49b5aa14b6a00e33c7f01a61eba48e776
This patch restores the enableWebfonts preference, stored inside
the uls-preferences blob. It existed as 'enable-webfonts' in
the past and was removed in
If735a733717596fae03042c5e277bd538bd8501f
Each wiki can be configured to load the fonts by default
using the new global variable $wgULSWebfontsEnabled.
Its default value is true (to load fonts).
This also removes the preference 'uls-enable', recently added in
I71b70d8ee7c3cad7f49b32e5dc494ef4fc1bdb2f
The initialization of ext.uls.webfonts.js is changed as well,
so that minimal webfonts JS library code is loaded,
and the rest is loaded only if a user requests it.
Bug: 60304
Change-Id: I49e812eae32266f165591c75fd67b86ca06b13f0
Adds an option, 'enable-uls' for users to enable ULS. By default
it is enabled. Wikis can use $wgHiddenPrefs to prevent users from
disabling ULS.
Bug: 46306
Change-Id: I71b70d8ee7c3cad7f49b32e5dc494ef4fc1bdb2f
The ResourceLoaderGetConfigVars hook is intended for static
variables, not ones that depend on the current request.
Change-Id: I596495bd103e5b7735fb454e3b5f12cd4257ee99
Written in pair-programming with Ryan Kaldari.
This adds a version of webfonts initialization that is stripped
of any smart features. It only loads the basic jquery.webfonts
library and the fonts repository in a way that is usable
with the MobileFronted extension.
It is completely disabled by default.
It can be enabled by setting
$wgULSMobileWebfontsEnabled = true;
and even then it will only be enabled for users
who opted in for the mobile beta mode.
Change-Id: I488e411232a1192bbf46ae5675c701366bda9a3e
* Do not load anything unless input field is focused
* Split the setup function to smaller functions
* Introduce $wgULSImeSelectors to allow configuration and avoid
duplication of selectors in two places.
Change-Id: If5a476e66681dde9f0b72f619d35ddf6255246ac
This patch adds a configuration variable, '$wgULSFontRepositoryBasePath', which
specifies the base path to the font repository. By default, the variable is set
to its existing value, which is $wgExtensionAssetsPath +
'/UniversalLanguageSelector/data/fontrepo/fonts/'. However, adding a discrete
configuration variable makes it possible to configure ULS to use a custom URL
scheme that is more suitable for large static assets that change infrequently.
Change-Id: Idbe57072c4f3258757eb691e54cab5429cadcfda
* Updates jquery.webfonts from upstream
* Introduces wgULSNoWebfontsSelectors configuration variable. It
takes an array of jquery selector to which webfonts will not be
applied if defined.
Change-Id: I0dc263f84620af4077f52e18eeb0f986ff0f13b9
Separating event logging out of ULS functionality. Event logging
is now loosely coupled with ULS. ULS core modules can emit an event
whenever EventLogging is required. The eventlogger module will act
on the event if configured.
Change-Id: I59dfcfb25c1acb85376b56239f2355ee7c4aff1e
Add the variable $wgULSNoImeSelectors to allow custom
disabling of IME in specific elements.
Add captcha input field id to the exclusion list.
Bug: 41675
Change-Id: Ib03a20c50a4f473e6a58638b85da16659268eb09
This change introduces a new configuration variable, $wgULSEventLogging. When
set to true, ULS will register an EventLogging schema module for
<http://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector>,
making it possible to log events using `mw.uls.logEvent`. When false, the
schema module is not loaded, and `mw.uls.logEvent` is a no-op.
Change-Id: I7139e67cc2f830a6b4b3c8ff1fc72dfcdec9a699
* Since there is an API to load the i18n json files, avoid sending
list of localizations to client. Previously this list was used to
avoid 404s for json files. Now API takes care of it. Remove the
caching for this list too.
* Preload the i18n files on document ready. This avoids delay in
initializing IME or ULS window after fetch i18n from server.
* ApiULSLocalization can serve messages for all namespaces known if
namespace parameter is not set
Bug: 50391
Change-Id: I6b848da35f57353790bf460983cdf19a11bb238a