This change removes RelatedArticles from beta features.
It repurposes the BlacklistSkins config to be a whitelist that describes
when related pages should be shown in the footer.
To avoid enabling related pages on desktop, this depends on a config
change that makes use of the new configuration option.
Simplify browser tests to reflect the new status quo.
Bug: T146436
Bug: T160076
Depends-On: I522e0182d1c3d9261bd0561c3ec0c789b6431c7a
Change-Id: I84da1fb33a901a6365375d00d192af35422ff0b0
Since we're always depending on the event logging module, we can
make it a dependency in extension.json, rather than loading it
lazily.
Bug: T157375
Change-Id: Ia57f390586e123c6010a7daf23a3d851daf079ce
Log the `feature-enabled` event for users who are eligible to see the
ReadMore feature. Otherwise log the 'feature-disabled' event.
Suporting changes:
* Register the latest version of the RelatedArticles schema.
Bug: T157375
Change-Id: I1557de88c7602aa066833bd55b83e6ee51d27178
This allows us to decouple the event logging code from the
`ext.relatedArticles.readMore' module. As a result we'll be able to
log events without loading the above mentioned module.
Bug: T157375
Change-Id: I55cf4f40cafc88d6baeb5cc1b41fc2d6bcd2fbb9
Additional change:
* Correct how we expose RelatedArticlesEnabledSamplingRate so that
it includes the wg prefix and is consistent with other config values
Bug: T157372
Change-Id: I274de542cf461de60f903ddbc0353a4116016007
On the beta cluster, the browser test should pass.
Add a new test to reflect the two different states.
Bug: T157165
Change-Id: I2a777436dfa3a14d58855449c39cc144b7149a62
This previously passed with a false positive as it replicated
the scenario `ReadMore is not present in minerva stable` by running
on the mobile domain.
This change makes it run on the desktop domain and pass (it now
fails given it runs on Minerva skin)
Bug: T157165
Change-Id: Idb2002b0f2d378cc0b6df73ad1381bfee32448c9
Changes:
- use MediaWikiServices::getConfigFactory() instead of depreacted func
- fix wrong param type for ResourceLoader
Change-Id: Id983f3cc57a4d1d23ef8dd0a52e78320dd51e9ca
Changes:
- introduced new config variable: RelatedArticlesEnabledSamplingRate
- do not trigger RelatedArticles clientside scripts if feature is disabled
- do not log events when navigator.sendBeacon is not available
Bug: T156039
Change-Id: I7e9773131c5b9aea9e9fb554d4508842cdedede7
An empty container was left on the page despite there being no related articles.
This should prevent adding the container on pages with no related articles.
Bug: T147217
Change-Id: I074a12e2d6680403551c436a4b00c3b9ab1c8d09
The ReadMore checkbox on the beta preferences page doesn't have an ID
anymore. It has a name though, which is used from now on.
The regression was introduced in I8636f32330e23814ba3b4c0f5e22e55aaf77883e.
Bug: T148856
Change-Id: Ieb20c8d9e97d53e6afae3a9fc99ce4dea471b0b5
Introduce a new config variable `RelatedArticlesFooterBlacklistedSkins`
to control skins that are allowed to show ReadMore in the footer.
As before Minerva beta mode is always allowed to show.
Depends-on: I366c8656a0f14a7069053b2e6199caac20471ea4
Depends-on: Ie4ac3c11e81eeea9f5b4a7161a64477cb5d60f07
Bug: T144047
Change-Id: I1663ab25083d9d907f288e60d506831bebb67945
Move logic that loads related articles in the footer to PHP from JS.
This prevents us from shipping an RL module to a client and not showing
related articles.
Also, make sure not to load related articles in footer on
Special:MobileDiff.
Bug: T144047
Change-Id: I73e39ee6b1223699cd8ac739902315d163d98c3b
The threshold used to test whether related articles need to be
loaded has been changed to the viewport height * 1.5 from the more
complicated formula used earlier.
The change should help with loading related articles more smoothly.
To eliminate the lag completely the related articles need to be
rendered in the back-end.
Bug: T144822
Change-Id: I9d189163b95533ca43fa3d8632f65b280470f12a
This old classic returns again.
A browser test fails when this is not enabled as it asserts that
the user is in beta.
Bug: T120715
Change-Id: I2c5339ba959318a3b995a28e22f3df375ae53103
In order to minimize loading time of RA for as many users as possible,
we need to maximize the number of users that can be served by our edge
caches.
Currently, if you're logged in, then the API uses your language by
default and so responses are always private, i.e. they shouldn't be
cached by a shared cache and can be cached by the browser.
By requesting that the response be in the language of the content, the
API ignores your language and responses become public, i.e. they can be
cached in a shared cache and can be cached by the browser.
Changes:
* Add the `uselang=content` parameter to the morelike request
* Add the `maxage=86400` parameter to the morelike request, allowing the
browser to cache the response for 24 hours, which'll save the device
even making the request
Bug: T126455
Change-Id: I6216a088d865f27f7cc3725fc311191da42a27ba
This CSS rule exists for Minerva's old footer. Considering Related
pages is currently only in mobile beta and the new footer should go
live before related pages does. The cost of maintaining 2 related
pages Minerva designs is not worth it.
In a follow up patch the read more container class will be reintroduced
to Minerva
Change-Id: I2d5c4e73c0cfa3f1107a0fd195d3e09f4e14ef2a
If $wgRelatedArticlesShowInFooter is false, then we'll still test
whether or not the page is a disambiguation page with the Disambiguator
extension. Unfortunately, DisambiguatorHooks::isDisambiguationPage hits
the DB.
Order the tests in RelatedArticles\FooterHooks::onBeforePageDisplay from
least expensive to most expensive so that the DB is queried only when it
must be.
This version of the patch takes into account namespace.
Bug: T127068
Bug: T144409
Change-Id: Ie6ddaa4e9bd8326c8b84dc400b78e9a4f4d0d78d