$( '.read-more-container' ).get( 0 ) returns a DOMElement not a
jQuery object so there is no remove method. This will throw a
JavaScript exception.
It seems JavaScript exceptions can impact the loading of Wikidata
Page banners.
Bug: T152185
Change-Id: Ife362f43d061d32fb0441dd1136fb11b46b475ae
Wait until the Document is ready before appending related articles to
avoid the "last edited" link appended in afterwards.
This fix is untested as I've been unable to repro the issue reported.
Bug: T187479
Change-Id: Ieefaf644040ea057a65649a3ce14de3531ec2e72
Align SVG markup across Foundation products by
- unifying XML declaration,
- removing `enable-background` as it's deprecated and
- unifying whitespace.
Bug: T178867
Change-Id: I32972de815484fa89bd7cdacbbcd65f4663a4161
Aligning 'noimage' to overhauled color palette, background-color
equaling footer color and icon color going to closest,
minimally higher contrast color `#72777d`.
Bug: T172850
Change-Id: I949db4983910ef6609124adbfcd3c0d31a7f7eb4
Using MakeGlobalVariablesScript hook will add config variables to
the HTML meaning cached HTML will not be able to access it leaving
it as undefined. This will mess up any existing caching.
Additional changes:
Because I'm paranoid, make sure that value is never undefined.
Bug: T170648
Change-Id: Icb8e34104c57b1e69b7e035ef89d5b4c3371132f
Wikivoyage pages have more than 3 related articles as they make use
of the {{#related:}} magic word.
After speaking with Nirzar we should allow this project to show more than 3.
This change allows this while keeping the existing behaviour on other wikis and
will pave the way for removing a bunch of code from this extension.
Additional changes:
* Cleanup skinStyles definitions
* Limit cards to 30% maximum width and give margin top to account for
situations where the number of cards are multiple of 3
** In Minerva hardcode the max-width to pixels.
* Margins are switched from hardcoded 10px to percentage based. Yes
this changes the right margin slightly but is more maintable and visually
the same.
Bug: T164765
Change-Id: I41119de3228c2df799f740d4bd00082101c21b97
In order to avoid further confusion, clarify that we're bucketing users
for experiments.
Bug: T167236
Depends-On: I752cdf068ca25bffb38229380785e7da1a208049
Change-Id: I6508ab8fa3d436ae295eb047e170fdc5417d25fc
Currently, the mw.eventLog.Schema class samples per pageview. However,
we expect that if a user is bucketed for a session, then all
EventLogging events logged during that session are in the sample.
Unlike Popups in I4f653bba, the RelatedArticles instrumentation does
rely on another mw.eventLog.Schema behavior: distinguishing between
static and dynamic data. This and the use of mw.eventLog.Schema could be
removed in a follow-on change.
Bug: T167236
Change-Id: I9583cb98264efd7dc46b45bbce5323036a100536
* Move across all files
* Rename ext-card- prefix to ext-related-articles- prefix
** Since all code using these prefixes is JS
we do not have to worry about cached HTML
Bug: T137021
Change-Id: I784fd132c36329fa0dcc49fe2804460061940347
We're going to want to use a newer version of JSHint
anyway to support use of ES6 in our browser tests so now
seems a good time to do this.
Bug: T149202
Change-Id: I5526b020cfc12c0e065ad15ed711a0e3a7bff1bc
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
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
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
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 a footer-content element is present prepend there
* If no footer-content element given wrap the component in a container that is known to be compatible
with known skins - this has post-content class (for backwards compatiblity with
old Minerva skins) and a class to apply the correct margin to Vector
Bug: T141002
Change-Id: Iac11948f8f5fdaad45d51b905bb7494a84775710
Combined with the padding top of the footer, this results in a
massive unused white space area between the related articles box
and the footer, which is now removed.
Extra points: Removed unused less import
Bug: T138185
Change-Id: Iaf008977bce3c003fe0fad7c16ed6bf94aef60f9
Add "noprint" class to the <aside> element containing the suggestions and the header.
Bug: T123551
Change-Id: Ie7de692208028fe788ffd3c901ee4649390203a7
* Load skin specific styles only in that skin;
* Vector styles are default for all skins unless overwritten;
* Allow monobook styles to inherit from vector styles;
* Do not load visual editor related rules in minerva;
* Remove an unused CSS rule.
Bug: T126149
Change-Id: I1e657de7a45fb4812c42ca7b99624b585dc4b7dd
* Using nesting in LESS allows you to easily identify in large stylesheets
what to remove/update when changing a component class/removing it entirely
Change-Id: I9190e16c5db9ba0bd6357f8685268af5e1cb93fe
Related articles are loaded when the user scrolls past
half the document height, which used to be calculated on
page load. This height, however, changes after all sections
are collapsed on small screens, thus never loading the
related articles for the page. Calculating the document height
just before showing related articles allows us to correctly
decide whether it's time to load the needed modules.
Bug: T121263
Change-Id: I1266894ab763cfb571b14f067086445fb6be1887