Collect EventLogging metrics for footnote and reference link
interactions, so that we can compare behavior with and without
Reference Previews enabled.
This tracking will be reverted once analysis is complete.
A mostly arbitrary sample rate of 1/1000 is hardcoded here. This is
loosely based on the latest tuning of Popups sampling at 1/100,
divided by a conservative factor of 10 to ensure headroom.
The sample is skewed by skipping clients without sendBeacon support,
but we're avoiding the mw.track synchronous fallback, which injects an
image tag and introduces lag any time the user clicks external links
in the references.
Bug: T231529
Change-Id: Iad32b64114f88675eecbb01712418c968e3cf661
The ve-mw change I0479116b51cc3135a992fdf36b8edfb2c44916ba removes the
stripping of solitary paragraph wrappers (which is moved into
ve.ce.Surface in VE core).
Depends-On: I0479116b51cc3135a992fdf36b8edfb2c44916ba
Change-Id: I2429b5291d8505d586cf4edc4cae9875f8abc347
This stopped working correctly after T218946, when we merged
MobileFrontendArticleTarget with its parent class MobileArticleTarget.
Bug: T233181
Change-Id: I9ec3f42508809431aef86157c20d8d6bb2fb12e5
The ve-mw change I0479116b51cc3135a992fdf36b8edfb2c44916ba removes the
stripping of solitary paragraph wrappers (which is moved into
ve.ce.Surface in VE core). We can't merge it without removing the
failing tests here for a moment.
Change-Id: I8799d51958b966c99307f4c70546ea326e67385c
* We could potentially also exclude regexps for node name checks
* A few additions looks like could potentially have caused subtle
failures in edge cases.
* Unrelated changes: Used # regexp terminator in a number of regexps
to eliminate escaping of / character.
Bug: T231980
Change-Id: Ie2451349684c248d93e064e3e7009d0d2d60acf3
Core now uses the extension name to check if the Cite extension is
loaded. Therefore the class name could be changed in that regard.
Change-Id: Ibdc0725045f7a0b0afcbf6cb94ccdab9509ad672
Depend-On: I35e5aa9955141b575de68a5be2c0d5b87585eb77
The extension handler expects a `null` for this, `false` is an
indication not to use the toDOM handler.
php bin/parserTests.php tests/citeParserTests.txt --filter "CircularRef" --wt2html
Change-Id: I849a9aca1133f8a793c9d77e05f192a6af5d78f9
Introduce PHPUtils::arrayToObject() which duplicates the array before
converting it to an object. Workaround for
https://bugs.php.net/bug.php?id=78379
Bug: T228346
Change-Id: If9ef35e9e5183117025bc9cd705b695f270aa244
Two classic PHP errors
- string '0' is a falsy value in if conditions and so we need an
explicit === '' check for empty strings
- arrays need to be passed by reference to capture modifications
in callers.
Change-Id: I07d0e39c44a923ac1faeb2de01433e951c3de914