Commit graph

4509 commits

Author SHA1 Message Date
jenkins-bot ee5959a6fb Merge "Get rid of ICustomizableSkin" 2018-09-21 16:03:47 +00:00
jenkins-bot 1ad76e7d13 Merge "Users can request new treatment via query string" 2018-09-20 19:02:59 +00:00
jdlrobson 2f3fed5f4a Users can request new treatment via query string
Bug: T204746
Change-Id: Icea989a401a5de8772fdcd9f25f100899bc1c6f3
2018-09-19 15:21:32 -07:00
jdlrobson 01dc9de92e Minerva is responsible for turning on WikimediaEvents itself
Unlike other skins, Minerva wants to be in charge of when WikimediaEvents
is loaded, so that it can guarantee load order happens at a time that
suits it.

WikimediaEvents will be loaded after initialisation of the interface.
This allows Minerva to enable schemas such as ReadingDepth conditionally.

Upon merging this patch, Ibb45f40ea301727c0c6480043760bd9426106845 can
be merged which will revoke WikimediaEvent's ownership.
Merging in this order will ensure that ReadingDepth  is never
removed from production.

Bug: T204144
Change-Id: If8395033f31485aca0ca3b38fda1be985369b481
2018-09-19 22:09:26 +00:00
Jan Drewniak 2163d5f965 Rename QUnit test files from "test_" to "test.js"
Updates QUnit test files from starting with "test_" to ending with
"test.js" in accordance with the Readers Wed coding conventions.

https://www.mediawiki.org/wiki/Reading/Web/Coding_conventions

Bug: T197884
Change-Id: I98877e3fc432b6edd0c53d834ef23b3ef8fb7d6a
2018-09-19 08:01:31 -06:00
jdlrobson 03bc2518d4 Red links are linked separately
In I1a471f81cc9390fc9e8665a7a336cf2dd7a063ab we excluded
edit events that led to the creation of a new page.

This restores them by providing a dedicated home for this data
in the schema.

Additional changes:
* Address some line length warnings

Bug: T204073
Change-Id: Ie7eb95f15737e94b7926d38ed6411bc0e5df2404
2018-09-18 13:43:56 -06:00
T. Bayer 287a2aafe9 Exclude redlink clicks from modalEditClicked event
This event is meant to track attempts to edit the page we are on,
but also happened to catch clicks on "see talk page" links, in
case that talk page doesn't exist yet.

Bug: T204073
Change-Id: I1a471f81cc9390fc9e8665a7a336cf2dd7a063ab
2018-09-18 13:37:34 -06:00
Stephen Niedzielski 8ac5b9c663 Hygiene: remove unused pre-commit script
dev-scripts/pre-commit is unused since 5037568 which added the
pre-commit NPM package. Remove the script.

Change-Id: I7b7e11415dc6ada17a5fe6bc1a390cc5de80851a
2018-09-18 17:01:31 +00:00
jenkins-bot 1e246029fa Merge "Remove 'mobile.editor.ve' styles (move to MobileFrontend)" 2018-09-18 16:45:40 +00:00
jenkins-bot dcfef034a4 Merge "Move Parsoid output overrides to 'mediawiki.skinning.content.parsoid' skinStyles" 2018-09-18 15:40:13 +00:00
jenkins-bot c37c98d309 Merge "mobile.editor.ve: Simplify left/right border of toolbar on >1000px screens" 2018-09-18 15:38:36 +00:00
jenkins-bot 975e956166 Merge "mobile.editor.ve: Simplify margin/padding for debug bar" 2018-09-18 12:17:54 +00:00
jenkins-bot 2e4d8eefee Merge "Hygiene: improve ESLint config" 2018-09-17 23:44:14 +00:00
Stephen Niedzielski eead7c9382 Hygiene: improve ESLint config
- Enable ESLint caching with `--cache` which presumably improves
  performance.

- Forbid warnings by setting `--max-warnings` to zero. Code containing
  warnings should not be committed. However, warnings are still an
  exceptionally useful distinction to make from errors during
  development. When hacking, we do not care if a comment exceeds the
  maximum line length or if a trailing space is present but we do oh so
  very much care if the linter detects a likely programming error such
  as forgetting to initialize a constant. The former is a warning and
  the latter is an error.

- Forbid unused lint directives by enabling
  `--report-unused-disable-directives`. This setting prevents outdated
  ESLint error waivers from littering the code.

There is a related pull request to move these settings to defaults in
eslint-config-wikimedia itself:

https://github.com/wikimedia/eslint-config-wikimedia/pull/82/files#diff-46af3d30ba7affc4adf37ef4c5382c39

Change-Id: If3c99ff7309eafb1ebefa4c4b451299b45db4e60
2018-09-17 23:35:24 +00:00
Reedy 5d5d4a7691 Remove php entry point
Bug: T140007
Change-Id: I1079012b1a63dbc46857486b88b4d6dbc0793fec
2018-09-17 23:31:30 +00:00
Bartosz Dziewoński c6960ce8a7 Remove 'mobile.editor.ve' styles (move to MobileFrontend)
They no longer depend on Minerva's variables and can be moved there.
See I964b23bf9363233e5fc927cfaf1e8bdbc3435de1.

Bug: T202978
Change-Id: I6ce2156c29dcf8a95015ffdf59d02ecc5a03b74f
2018-09-17 21:55:39 +00:00
Bartosz Dziewoński 5e7b3994fd Move Parsoid output overrides to 'mediawiki.skinning.content.parsoid' skinStyles
We need to load these only when VisualEditor is loaded. This is
the best way to ensure that. They have been haphazardly placed
in different files.

The goal of this change is to move content styling for Minerva out of
mobile.editor.ve/minerva.less, and thus to be able to move this file
to mediawiki/extensions/MobileFrontend (T202978). But I spotted the
other places while working on that.

Moved as-is:
* skins.minerva.content.styles/links.less
* mobile.editor.ve/minerva.less

No longer needed:
* skins.minerva.content.styles/text.less
  Parsoid now uses <sup> tags for references rather than <span>,
  so the existing rules for <sup> tags are enough. See T45094,
  <https://www.mediawiki.org/wiki/Specs/HTML/1.6.0/Extensions/Cite>.

Was never needed:
* skins.minerva.content.styles/thumbnails.less
  The styles from the core module 'mediawiki.skinning.content.parsoid'
  are never loaded, so we don't need to override them.

Bug: T202978
Change-Id: I45e1cb89b65a41a29d2b1a361a79199745ccec14
2018-09-17 21:55:32 +00:00
Bartosz Dziewoński 73d724a72f mobile.editor.ve: Simplify left/right border of toolbar on >1000px screens
There should be no visual changes in this commit.

The goal of this change is to stop using variables from
minerva.variables, and thus to be able to move this file
to mediawiki/extensions/MobileFrontend (T202978).

Bug: T202978
Change-Id: Ib4b3206f724c3e6f089e626b704dc8ff790a76ae
2018-09-17 21:55:18 +00:00
Bartosz Dziewoński ac549d9c70 mobile.editor.ve: Simplify margin/padding for debug bar
Requires Ia13f758a6870be2e6c89fd11f2ee3544ac61a1d7 in
mediawiki/extensions/VisualEditor to be merged at the same time.
There should be no visual change if both are merged.

The goal of this change is to stop using variables from
minerva.variables, and thus to be able to move this file
to mediawiki/extensions/MobileFrontend (T202978).

Bug: T202978
Change-Id: I28278449512ed1e5e8c4ac6ae390334a26d1bad6
2018-09-17 22:28:07 +02:00
Translation updater bot 9beaf640d1 Localisation updates from https://translatewiki.net.
Change-Id: I5baa0b9d8308cbde91b41f30fca246db95b504de
2018-09-15 10:08:58 +02:00
Stephen Niedzielski ba17b11987 Hygiene: fix line length violators
Change-Id: Ie1619acf5f319dafc2c9dc612335c1208522dab8
2018-09-13 09:33:20 -06:00
jenkins-bot 4c05ae758f Merge "Fix skipped tests" 2018-09-13 14:08:39 +00:00
Translation updater bot 9561cb0433 Localisation updates from https://translatewiki.net.
Change-Id: Ib62211ec015925e1b30b5b81e94559b9f06d936a
2018-09-13 09:49:40 +02:00
jdlrobson 6ac46d5d56 Fix skipped tests
If18ad1ff9363fff65d3e347c01ce4bc0669b2a0e introduced some skipped
tests. This restores them.

* NotificationsBadge test was failing due to some failures to stub
* clicking on the product of createBanner failing due to no action occurring
in the test body.

Change-Id: I4c1f407912767737f7cd1e9884a2e7db0baabf75
2018-09-12 14:09:52 -07:00
jenkins-bot 3abd6ef9f0 Merge "build: Update linters" 2018-09-12 17:26:12 +00:00
Translation updater bot a0fa0eba40 Localisation updates from https://translatewiki.net.
Change-Id: Iae77ba802d4acdeaced95608ff4a0770fe4775f0
2018-09-12 08:25:32 +02:00
Ed Sanders 04a2b27d7f build: Update linters
This exposes two broken tests:

* #setCount (Eastern Arabic numerals)
* clicking on the product of createBanner() should trigger a custom event

that were previously passing due to buggy assertions.

Change-Id: If18ad1ff9363fff65d3e347c01ce4bc0669b2a0e
2018-09-11 13:42:11 -07:00
Translation updater bot c2ba33a2fc Localisation updates from https://translatewiki.net.
Change-Id: Ie11b5017b3da38b6252644f3d7bdd0c69c9e75ca
2018-09-10 09:09:00 +02:00
Translation updater bot cfe1ecd4a0 Localisation updates from https://translatewiki.net.
Change-Id: Iea84238c08206dde9a88d8e881e180d6c4093695
2018-09-09 10:06:32 +02:00
libraryupgrader ec4dc79e38 build: Updating mediawiki/phan-taint-check-plugin to 1.5.0
Change-Id: I95e15c6364209fd8d6216dd9d7685884d5b8fa87
2018-09-08 08:22:21 +00:00
jenkins-bot 5145bc1818 Merge "Fix formatPageIssuesSeverity" 2018-09-07 14:48:27 +00:00
jenkins-bot 6f7e652f32 Merge "Hygiene: Consistent error naming" 2018-09-07 14:17:22 +00:00
jenkins-bot 22c81b63af Merge "Hygiene: Load errorLogger earlier in stack" 2018-09-07 14:17:21 +00:00
jdlrobson f14d9514c6 Fix formatPageIssuesSeverity
The page-issues reducer function that retrieves the severityLevels
for issues was incorrectly comparing two values in the multiple-issues
scenario.

Instead of comparing the severity of the current issue with the previous
value in the accumulator, it was comparing the current issue with the
previous issue in the original array, thus ignoring the
previous `maxSeverity` value in the accumulator.

Tests added and function refactored with more explicit variable names.

Bug: T203725
Change-Id: Ia4c15cbf0c2457d68a7381e8ed04c1a6b3ae65d1
2018-09-07 11:25:16 +02:00
jenkins-bot 3aab8f585a Merge "Issues instrumentation: issuesClicked events should always send 1 sectionNumber" 2018-09-07 08:56:47 +00:00
Translation updater bot 2b8f6a3c9e Localisation updates from https://translatewiki.net.
Change-Id: Ic22d9ba97604358fd267c6556d2ca464dfde5f03
2018-09-07 09:26:43 +02:00
jdlrobson c68f7ba09f Issues instrumentation: issuesClicked events should always send 1 sectionNumber
Erroneously in I6fd55c35b9e2ce35894259f36d1a50fb5dca5e43 for the old treatment
 we sent sectionNumbers for all issues in the page.

This is inconsistent with the issuesSeverity field above it
Add a clarifying inline comment.

Bug: T203050
Change-Id: Ib1fcda0c49a162cd7aca8ee8b3221236f724e1d7
2018-09-06 17:40:34 -07:00
jdlrobson 0dd4f1cb4d Hygiene: Load errorLogger earlier in stack
Follow up to I07f01b4c025b2e5e4cbf88ec05e7c536442c62cc

Bug: T202026
Change-Id: I190417e90fd27b21844a20f96ec1237416c57079
2018-09-06 21:05:00 +00:00
jdlrobson e7f0cfd665 Hygiene: Consistent error naming
Rather than using err and error as variable, use error for consistency
Follow up to I07f01b4c025b2e5e4cbf88ec05e7c536442c62cc

Bug: T202026
Change-Id: I54165ff1f1b17284d8232c491244e1a98950d5e2
2018-09-06 21:04:53 +00:00
Ed Sanders fd517597aa Add a notifications overlay container to the skin
Bug: T202466
Bug: T202620
Depends-On: I5a78949efef88083bdafc4207a6872c76b463970
Change-Id: I4c05ec666d5cbc93c12c35ab8222871e698f345c
2018-09-06 16:25:19 +00:00
jenkins-bot 993e77e76b Merge "Correct the link for page issues in the old treatment." 2018-09-05 20:14:06 +00:00
jenkins-bot 002160ae9c Merge "page-issues sectionNumbers consistency on modalClose event" 2018-09-05 20:02:35 +00:00
jdlrobson dc6f707ea1 Correct the link for page issues in the old treatment.
createBanner was incorrectly always assigning the 'all' keyword
to the old page issues banner. Instead it should use the section
number in the function signature - as this decision of which issues
to show is made inside initPageIssues

For the old treatment, in the main namespace, we only show issues
in the lead section. When we use the 'all' keyword the visual is
the same, but it breaks the instrumentation requirement that
sectionNumbers and issuesSeverity should be the correct length

Note, for the talk and category pages treatment, we do not
log any events so the instrumentation doesn't matter here
and the 'all' keyword correctly targets all issues in the page
as before.

Bug: T203050
Change-Id: I63e45da05ca033fe282633f7fd59038a8e5d8c8d
2018-09-05 12:51:56 -07:00
Jan Drewniak 1a9bcd1e8a page-issues sectionNumbers consistency on modalClose event
For the page-issues modalClose event, the number of values for `sectionNumbers`
and `issuesSeverity` should be the same, since `sectionNumbers` should describe
the the section of each visible issue in the modal, not the section of the
modal itself.

Bug: T203050
Change-Id: Ic58c5940a6059e71aa3aeed26232afbe8faf1618
2018-09-05 21:29:53 +02:00
Kunal Mehta 24eac21513 Configure phan-taint-check-plugin
The plugin checks and flags potential security issues (XSS, SQLi, etc.)
using static analysis.

See <https://www.mediawiki.org/wiki/Phan-taint-check-plugin> for more
details.

Change-Id: Ief36c5b7c3fc61950e52044fde7feeed9fe28831
2018-09-04 20:36:47 -07:00
jenkins-bot 752557d88b Merge "Scope styling of kbd/samp/code/pre to content areas" 2018-09-04 21:33:30 +00:00
Ed Sanders 270fb18f2e Scope styling of kbd/samp/code/pre to content areas
Extensions may be using these tags and not want
these styles (especially the border).

Bug: T203474
Change-Id: I03a22cf6377002f968cabdcce9354e73354fb6b8
2018-09-04 21:08:12 +00:00
Timo Tijhof c1fe42fede Hygiene: Use early returns in a few places for special cases
When handling special cases that are logically distinct from
the function's main branch, it improves code quality (through
readability and maintainability) to place those first and with
an early return.

The has the benefit of the main return statement being easy to
find at the end of the function. (Not early and/or in a block).

It also means when working on the code, there is generally a
less complexity and fewer nesting levels, given that most code
is in the main branch. This makes is easier and quicker to verify
that code does what it should, as well as making it easy to
extend in the future. When considering to add code to end of a
function's main scope, it should relate to the function's main
branch by default, not a special case. For example, a getName()
method should not end with a top-level statement 'return false'
(unless it is a stub). Rather, one would expect it to end with
`return name`.

Change-Id: I1f3088f2409c82dd3bf757fc8fa27dc97ae2767b
2018-09-04 21:08:00 +00:00
jenkins-bot 2d2ceebf99 Merge "Set explicit output formats to prevent over escaping of messages" 2018-09-04 08:50:41 +00:00
Kunal Mehta 23d21c4ae7 Set explicit output formats to prevent over escaping of messages
Not calling an explicit output format defaults to ->escaped(), which often
leads to double escaping.

Spotted by the phan-taint-check-plugin.

Change-Id: Ie527768bea670808e63cfc8cbff64015ae29d4a3
2018-09-03 22:58:45 -07:00