Commit graph

4020 commits

Author SHA1 Message Date
Piotr Miazga 5822ac58b4 Hygiene: improve texts for share button
We need to add an information that share feature is available
on supported browsers only.

Change-Id: I398165310cf11949d17f86acedf7193d4cad55b2
2018-10-12 22:56:01 +02:00
Piotr Miazga 51b6e8209b Add share icon as mobile web beta feature
Add a new beta feature - share icon. When user opts into beta
the share icon will be visible on supported devices (Android OS
and Chrome browser).

Bug: T181195
Change-Id: Ie4b9dd05eea9b63422bd174048d8b1251cb02bf4
2018-10-12 22:08:28 +02:00
jdlrobson cbad0bd363 Merge skin option modules into a single ResourceLoader module and move enabled logic to client
It's presumed that skin options will eventually become the default or be removed from the skin.
While they are not the default, it would be helpful to package them in one single module - as ResourceLoader
modules are costly bloating the dependency graph in the MediaWiki startup module.

In T167713 we talked about grouping our entry points by page rather than feature, which this seems consistent
with. A page with special options enabled is different from a page without.

Change-Id: Id948f913d4743532ba3442d2059a03c122419ff2
2018-10-12 10:18:21 -07:00
jenkins-bot e2b4c024c7 Merge "Update user avatar to latest, slightly overhauled iteration" 2018-10-11 22:21:12 +00:00
jenkins-bot 4ed372b6a8 Merge "Hygiene: limit ESLint inheritance" 2018-10-11 22:21:11 +00:00
jenkins-bot 5d4ad087c1 Merge "Remove code related to no-anonymous-editing mode of MobileFrontend" 2018-10-11 20:27:33 +00:00
Translation updater bot c568d260ee Localisation updates from https://translatewiki.net.
Change-Id: Ica13eff5ec3ff7344c2494b3875e26f014b72a48
2018-10-11 22:18:45 +02:00
Ed Sanders 59c45c2b6d Reduce specificity of wikitable overrides
Bug: T205945
Change-Id: I88d5b9699661005144f3eebc804438afaae373aa
2018-10-11 14:38:07 +01:00
jenkins-bot e8d4220799 Merge "autocomplete is not necessary on search input types" 2018-10-11 00:38:07 +00:00
Volker E 8793739b23 Update user avatar to latest, slightly overhauled iteration
Bug: T123810
Change-Id: Ia9c9db52c71135b75125af1cde7e21985df7af64
2018-10-10 17:34:09 -07:00
jdlrobson 3f674008a3 Show watchlist to non-JS users of Minerva
Bug: T196893
Change-Id: Ibd52079d3862854c9c88dae87501b0d42ae99716
2018-10-10 14:08:59 -07:00
Bartosz Dziewoński cada514ded Remove code related to no-anonymous-editing mode of MobileFrontend
All of this would only be used with the configuration setting
`$wgMFEditorOptions['anonymousEditing'] = false;`.

Removed features:
* Call-to-action popup in skins.minerva.editor (note that anonymous
  editors still get a CTA from MobileFrontend's EditorOverlay code)
* Pointer towards the edit button shown after registering via the CTA
  (entire skins.minerva.newusers module)

Bug: T205382
Change-Id: I66c7035f7a23581811dda87c911dea41d4a8e5da
2018-10-10 19:03:53 +00:00
Translation updater bot cb30d47a99 Localisation updates from https://translatewiki.net.
Change-Id: I5505e12ce91717444bc8beedbdd48f20592d80fa
2018-10-09 21:55:29 +02:00
jenkins-bot e56b91f9b6 Merge "Enable Dynamic Type in iOS 9+ browsers" 2018-10-09 19:33:30 +00:00
Volker E 05fd384803 autocomplete is not necessary on search input types
Attribute doesn't provide any functionality on `type="search"`.

Change-Id: Ibf571b100155defa7188354f85586ea6d31dc720
2018-10-09 03:45:31 +00:00
jdlrobson 07a3b81c91 Errors can be counted in statsv
Bug: T205582
Change-Id: I8f67b8356ac271872cac39a416ffefce47959177
2018-10-08 15:05:56 -07:00
Nicholas Ray c1485615bb Enable Dynamic Type in iOS 9+ browsers
Dynamic Type is a feature in iOS that lets users pick their reading size
so that apps can adjust their text size accordingly. This commit makes
the mobile site hook into that feature. If you go to
settings > Accessibility > Larger Text in iOS and increase or decrease
the reading size, the mobile site will now increase / decrease
its text size relative to that setting.

Notable changes:

* Moved `font-size: 100% * @fontScalingFactor` from html to body. This
rule would override Dynamic Type sizing which would effectively disable
it. Moving it to the body makes the rule be relative to Dynamic Type
instead of overriding it in iOS browsers while browsers that don't
support Dynamic Type should observe no visible changes.

* Removed intermediate variable @bodyLineHeight because it was only
being used in one place.

* Added @font-size-body-mobile and made it based on % instead of em
(which is what @font-size-body uses). @font-size-mobile-bod is used by a
media query in browsers that support Dynamic Type and by another media
query in browsers that don't support Dynamic Type.

* Added a feature query for Dynamic Type which will make Dynamic Type CSS
rules only affect browsers that support Dynamic Type. This limits the
feature to iOS 9+ feature but ensures that the css rules don't affect
browsers that don't support Dynamic Type.

* Scaled down Dynamic Type so that its default size would appear
identical to the common browser default text size of 16px. By not doing
this, the default font size in iOS browsers would be 17px (Dynamic
Type's default) and would appear 1px larger than Android browsers.

Bug: T204807
Change-Id: I8a4d621dba8dc56190bd8c974543d08dd374ba5e
2018-10-08 20:20:44 +00:00
jenkins-bot 943a4df894 Merge "Apply tablet restrictions to image floating in Parsoid" 2018-10-08 18:55:16 +00:00
jdlrobson 5afe8abdce Remove unused categories property
This is not used by the CategoryOverlay

Bug: T206337
Change-Id: Icc19fe24fbb30db8b76d462bfba8879ff112226a
2018-10-08 08:45:35 -06:00
Ed Sanders 75662dd774 Apply tablet restrictions to image floating in Parsoid
Behaviour now matches that of PHP-generated images.

Bug: T205474
Change-Id: If6a8970c95ec5486a79afcef6480dfbc78c17a10
2018-10-06 00:46:19 +02:00
Stephen Niedzielski 27ea969762 Hygiene: limit ESLint inheritance
The project ESLint configuration unintentionally inherited unwanted
configuration from MediaWiki, which allows global jQuery usage. Cap the
project's ESLint hierarchy at the project root.

Change-Id: Iceda39a4eeb492446b952f597af0f153cf345206
2018-10-05 10:22:11 -06:00
jenkins-bot 57cb5f8e41 Merge "Make Minerva section editing more like other skins" 2018-10-04 21:26:03 +00:00
jenkins-bot 5d4e3e01aa Merge "Move edit link enabling/disabling out of skins.minerva.editor" 2018-10-04 21:22:56 +00:00
Bartosz Dziewoński 6b0ce86410 Make Minerva section editing more like other skins
Goal: Make skins.minerva.editor not rely on Minerva-specific markup.

SkinMinerva.php:
* Add `class="mw-editsection"` to section edit links in SkinMinerva.
  This is the default behavior in SkinTemplate.
* Tweak the page "Edit" link generated in PHP to be the same as the
  link we were generating in JS: add class="edit-page" and change the
  message for the text.
* (Fix an unrelated code comment that was incorrect.)

skins.minerva.content.styles/hacks.less:
* Remove a hack that was hiding .mw-editsection, since we now use it.

skins.minerva.editor/init.js:
* Stop using the `data-section` attribute on links to decide which
  page section to open in the editor. Instead, use the `href`
  attribute and extract the `section` URL parameter from it.
* Stop using the `edit-page` class to find section edit links.
  Instead, use the `mw-editsection` class.
* Remove super weird code that removed the original "Edit" link from
  the page and generated an identical one to replace it, instead of
  just adding event handlers to the existing one.
* Centralize event handling for all types of edit links.

Bug: T198765
Change-Id: I79639c738ff1c3ec4b48ee2e462d23060151a21b
2018-10-04 14:07:27 -07:00
Bartosz Dziewoński 53a80e1bcc Move edit link enabling/disabling out of skins.minerva.editor
These CSS classes are specific to the Minerva skin and we want to move
this file to MobileFrontend.

Now that this code is all in one place, I noticed that it seems to not
do much at all… Everything in this function looks like it could just
be done in the PHP code. If PHP does it all, then we could remove all
of it for a free performance improvement.

Bug: T198765
Change-Id: I6487c2fc520e14e0856b2e9a6f9dfa5066205817
2018-10-04 14:03:19 -07:00
Translation updater bot 1757691d30 Localisation updates from https://translatewiki.net.
Change-Id: I18eadbea53cdc5c641ef1567ad1609addaddfcef
2018-10-04 22:05:17 +02:00
jdlrobson 33a7484676 Move MainMenu click tracking schema from MobileFrontend to Minerva
Additional changes:
* Rename hook prefix from 'mf.' to 'minerva.'
* Remove now unnecessary RL call

Bug: T204584
Change-Id: I50619e71c5a98e95c8aed3c3f346d4cb8a70abbe
2018-10-02 15:03:17 -07:00
jenkins-bot e679f5207a Merge "Forbid certain methods with ES6 equivalents" 2018-10-02 00:16:30 +00:00
jenkins-bot 6345538672 Merge "Hygiene: inline util.noop" 2018-10-01 22:46:43 +00:00
jdlrobson 9312f3d1b2 Forbid certain methods with ES6 equivalents
We do this in core and in MobileFrontend. Let's ban some here
too.

Change-Id: I4cc24381ab0b637eb386c93bd0d88fe803db0483
2018-10-01 15:33:46 -07:00
Stephen Niedzielski 77646a40c3 Hygiene: inline util.noop
Replace mobile.startup/util.noop with inlined implementation,
`function() {}`, to reduce indirect dependencies on jQuery (.noop).

Change-Id: I48368ef6cf03fd67e117c9bf8612bbddb7d250c5
2018-10-01 12:54:52 -06:00
jenkins-bot cb484b6ed7 Merge "Add theme-color meta tag to Minerva" 2018-10-01 18:29:52 +00:00
jdlrobson 87924e7e25 Add theme-color meta tag to Minerva
For non-web-apps we can still control the color of the address and
status bar. Currently this is defined in MobileFrontend)
but is configurable if we ever want to change it. If not defined
(e.g. no MobileFrontend/no config) it is not added.

Bug: T204691
Depends-On: I39c0905f86edc4f52235b905850c31257e7f792e
Change-Id: I3ab0f538fb6ae3332574fd212eea1a7ec6a397bd
2018-10-01 14:25:25 +00:00
Bartosz Dziewoński 1a89047d3b Move redlink CTA out of skins.minerva.editor
It is not part of the editor. Redlinks are part of page content.

Bug: T198765
Change-Id: Iee77a228b6f2db1c5f2e85226d6cc1c6a73a89be
2018-09-27 20:13:16 +00:00
Bartosz Dziewoński 1b61a14535 When browser doesn't support mobile editor, use fallback editor rather than none
Change-Id: I41bd554c3e979061dd8b1846a6412efb3284e7e9
2018-09-27 20:12:49 +00:00
jenkins-bot ba827d4b3c Merge "Revert "Minerva is responsible for turning on WikimediaEvents itself"" 2018-09-26 20:42:38 +00:00
jenkins-bot 282bdaaefa Merge "Less harsh failure mode when attempting to undo in mobile editor" 2018-09-26 20:19:00 +00:00
jenkins-bot ab593a3268 Merge "Remove some useless code trying to show things that are always visible" 2018-09-26 20:18:59 +00:00
jenkins-bot 582a68570d Merge "Create $returntoquery variable properly" 2018-09-26 14:44:13 +00:00
Piotr Miazga 71cbed60fb Create $returntoquery variable properly
The $returntoquery variable is created only when request wasn't
posted, but the variable can be accessed on POSTed request.
To fix that issue we need to always define $returntoquery as
an empty array. This is done in order to prevent leak of
any sensitive data sent by POST request.

The sample error from fatalmonitor:
Undefined variable: returntoquery in
skins/MinervaNeue/includes/skins/SkinMinerva.php on line 701

Bug: T205449
Change-Id: I20e5955ddcb99c110a3dc03fb3b56c1904601453
2018-09-26 15:36:44 +02:00
Translation updater bot abffc793d2 Localisation updates from https://translatewiki.net.
Change-Id: I6b3d5e3d106d44483a4723f40ecd7cd6423e2590
2018-09-26 13:11:48 +02:00
Bartosz Dziewoński b6672a4f9f Less harsh failure mode when attempting to undo in mobile editor
The fancy mobile editor doesn't support undo, but we can just use the
fallback (no-JS) editor. The experience is not very friendly (e.g. due
to two-column diff), but it works.

Previously we showed an old-school alert() message and then loaded the
fancy editor as if it was a normal edit, ignoring the undo parameters.

The whole thing is rather hypothetical, since there are no links to undo
in the mobile interface. See T191706.

Bug: T191706
Change-Id: I5147ada9e85d9188f19ae898fdd411985d19182f
2018-09-25 22:01:36 +00:00
Bartosz Dziewoński ffa4d0e848 Remove some useless code trying to show things that are always visible
* Page edit action (#ca-edit)
  I guess it became always visible when no-JS editing was implemented?

* User page creation CTA (.edit-link)
  I'm making it always visible in Ie2fc6d43ebc03626517eec21bf4738dca05152d0
  (which also makes it available for no-JS editing).

* Section edit links for nested sub-sections (.in-block > .edit-page)
  No idea about these, but they are clearly always shown (even in
  non-article namespaces).

Depends-On: Ie2fc6d43ebc03626517eec21bf4738dca05152d0
Change-Id: I226cb1fd1e716078a4a34ed8349d5304428964cf
2018-09-25 22:01:24 +00:00
jenkins-bot 9515660868 Merge "Remove user page CTA edit link browser test (move to MobileFrontend) [try #2]" 2018-09-25 21:40:34 +00:00
jenkins-bot 1d9a057b72 Merge "Allow mobile TOC on pages in all namespaces" 2018-09-25 20:56:08 +00:00
Bartosz Dziewoński 13b60f6824 Remove user page CTA edit link browser test (move to MobileFrontend) [try #2]
This is a MobileFrontend feature, implemented
in ExtMobileFrontend::getUserPageContent().
Having the test for it in the Minerva repo made
it harder to make changes to it. Adding it there
in I6e763cd6b6763c60d2ad47bf384f739dfb1a07c0.

Depends-On: I6e763cd6b6763c60d2ad47bf384f739dfb1a07c0
Change-Id: Id1692b50f3f0d282c8aea4c45b63845f418e0970
2018-09-25 18:05:10 +00:00
jenkins-bot 1976ef87be Merge "Revert "Remove user page CTA edit link browser test (move to MobileFrontend)"" 2018-09-25 16:17:24 +00:00
Jdlrobson 39c5dbc94a Revert "Remove user page CTA edit link browser test (move to MobileFrontend)"
This reverts commit 6daf19dfb5.

Mobilefrontend change was reverted meaning this test should be
restored here so we continue to have coverage.

Change-Id: I2e8eeacaf01aa61040405501d69f329fe3a9bbd6
2018-09-25 15:47:36 +00:00
Piotr Miazga 8c587c58c9 Fix broken config name for MinervaABSamplingRate
Bug: T205355
Change-Id: I983866f177c4ea994954f5236b2820a7f0b8b661
2018-09-25 14:45:51 +02:00
Bartosz Dziewoński a773c0eed2 Allow mobile TOC on pages in all namespaces
It was limited to the main namespace since its introduction in
Ieabe8f7071696cde6afbdc6df853aacdb741a4a3. Unfortunately that
commit does not explain the reason.

It should be shown e.g. on user pages (so that sandbox pages
look like the real article) or on project pages (many policy
or help pages on Wikipedia are long and would benefit from it).

It looks like some of the CSS code already assumed that the
TOC would be shown in all namespaces (space for it was reserved
using a 'visibility: hidden;' element on all pages).

Bug: T205312
Change-Id: Id6935f5a7a3701c1c7a38fb37b48b6a3bbc80393
2018-09-25 11:49:25 +02:00