I33936a3 didn't introduce a regression but highlighted an issue with the
fixture in the RelatedPagesGateway unit test: the fixture is in the
legacy JSON format despite the API request URL including
formatversion=2.
Change-Id: Id372d022625d88eea685267ea6b6484cf6b28cbc
RelatedArticles tries to load the 'ext.cards' module and if
it succeeds it continues with showing the related articles
on the page.
Dependency: I6661527175eb889cec4193b18fa18207f332b4fc
Bug: T117108
Change-Id: I33936a3e9cd5d1f0296e48fd1c2bba77fff4e466
Leave all public-facing uses of "article" (including classes) because
the extension is remaining named RelatedArticles. Replace all other
instances with "page" for consistency with other extensions.
Bug: T117908
Change-Id: Ib0f258f26b0d11cfe8a598dbd90ff37afbbe36ac
By default, the Read More feature tries to use editor-curated articles
before using the CirrusSearch morelike: feature. Add a configuration
variable that disables the former behaviour but leave the default in
place.
Changes:
* Add the wgReadMoreOnlyUseCirrusSearch configuration variable, which
defaults to false, and pass it in to
mw.relatedArticles.RelatedPagesGateway at construction time
* Add the onlyUseCirrusSearch parameter to
mw.relatedArticles.RelatedPagesGateway, which controls whether to
ignore the editorCuratedArticles parameter
Bug: T117443
Change-Id: I0dfa67f4a68e8dc17302fef7ebf8d23c0c1d892c
* Remove file pattern whitelist for JSHint and JSCS. Instead,
use the ignore list (which we need to specify anyway to avoid
errors when using IDE plugins and/or running these from the
command-line directly.
* Remove redundant '*.json' pattern for banana. '**/*.json' covers
this already as '**' is recursive from the current directory,
otherwise it would be '*/**'.
* Remove redundant 'name' and 'version' property. These were likely
added to suppress warnings by npm-install. However those warnings
are intended for packages published to npmjs.org. For local build
tools, adding private:true also suppress these warnings. For
extensions, name and versions are already maintained in other files
such as extension.json and others.
* Remove redundant '$' entry in jshintrc. There's no need to tolerate
use of global variable '$'. The convention is to use 'jQuery' and
alias it locally, which this extension already does everywhere.
* Set 'jQuery' to false instead of true in jshint globals. True
means it allows and expects this package to assign or expose
the 'jQuery' identifier. However that is not the case. If this
code overwrites jQuery, that should probably trigger a warning,
thus set to false, which means read-only global.
Change-Id: I0b159b6d684f67933e0dae506db1eb3800a6f192
The related pages stored via CustomData will have been migrated to the
cached ParserOutput class over the last 30 days, per I30bd17f, so all
interactions with/references to CustomData can be removed.
Bug: T115019
Change-Id: I36919d2443f0ee02ac6baf9a4d2228b028b2e6ed
* Schema is located at https://meta.wikimedia.org/wiki/Schema:RelatedArticles.
* Track 'ready', 'seen', and 'clicked' events.
* The sampling rate can be set using the RelatedArticlesLoggingSamplingRate variable.
If the variable is not set, sampling will be disabled. The default sampling rate
is 0.01.
* Events are tracked using a unique user session token.
Dependency: Iea00d534371353c3ae5c06c74a08aa10cb60047b
Bug: T114303
Change-Id: I649d0817cbd10ad734989da548d20ad33e7f7360
Changes:
* Extend the definition of all JavaScript files to include those in the
tests directory
* Run JSHint and JSCS against all JavaScript files
* Fix the existing code style errors in the RelatedPagesGateway
test
Change-Id: Ia6d8fa63e0b86760857d4480a0575b57512fa36b