Commit graph

775 commits

Author SHA1 Message Date
bwang d5d94e6b6f Add settings menu item for anon users
Bug: T307696
Change-Id: Ib875bae5796ef021a06310582a4bbc41abb26555
2022-05-23 22:36:36 +00:00
Jon Robson 8c57c9c12d Enable special page tabs
For now this should be a NOOP as the existing "special" page tab
is removed, put it paves the way for using tabs on special pages.

Bug: T286466
Change-Id: Ic0b52b298d598c20987b172c81c732a31e409402
2022-05-18 21:41:00 +00:00
Ed Sanders 86caa17713 build: Update linters and linter config
* Update stylelint-config-wikimedia to 0.13.0
* Ensure eslintrc.js and root files are linted
  with server config

Change-Id: I59c49fedd5b0c4c5620f960b78e4f781a6bc5abb
2022-05-18 14:33:23 +01:00
jsn 7959e9fa08 Add block button to user namespace overflow
Bug: T307341
Change-Id: Ib8bcca0ab284900eff01468a416177435f02e7aa
2022-05-04 10:59:16 -05:00
bwang 79d4130fcc Hard deprecate MobileMenu Hook
Bug: T303309
Change-Id: Ice45416c4af4e8fd4bcda158c5f9b81e6c8c9491
2022-04-27 12:38:03 -05:00
Jon Robson 0fe451b23a FIXME cleanup
- Remove cached HTML relating to heading change
( I2ffdedd64414ffb3c6e441391a75fd6e744847a4)
- Update invalid instruction for selector in footer (I0bfc7f977cdaf5ce8873103346c64121d704b86c)
It appears this rule cannot yet be removed.
- Update classes for contributions icon on user pages
(I6c908acd70c0dca5bcb1754d1b25d3da2389feb8)

Change-Id: I271abf3d29dfcfd19d654514fb3f6d6e257505ab
2022-04-06 20:17:22 +00:00
Thiemo Kreuz 73749969d6 Re-arrange getHistoryLink method for readability
Most notably: Bail out as early as possible.

Change-Id: Ibd22bd41e6d38a807edf45acdcd72c29537a0c06
2022-04-04 20:03:24 +00:00
jenkins-bot f3565a4d7c Merge "Replace Title::newFromText by Title::makeTitle" 2022-03-13 21:56:31 +00:00
Umherirrender 3ed8be2752 Reorder checks in Defintions from cheaper to expensive
Check the messages first and only parse the Title if needed
Use local variable to avoid repeated call to functions

Change-Id: I376d06b807183fb23cb07ad33ee54b387beea6f9
2022-03-10 23:05:13 +01:00
Umherirrender 4831549b14 Replace Title::newFromText by Title::makeTitle
* Prefer Title::makeTitle in unit tests where the title is known,
  this avoids title parsing and can improve the test performance.
* Use Title::makeTitle for the user page like done in User::getUserPage

Change-Id: I3901a6ed208a5ff90b216d01d3c4962cdcb48db1
2022-03-10 22:42:56 +01:00
Reedy b6685f9c4a Namespace SkinMinerva
Change-Id: I8f6bddac9f8cd060c551651e711ee987b8bbfbe3
2022-03-04 17:50:20 +00:00
Reedy 87bb746849 Namespace two more classes
Change-Id: Id32beb98df0f37ced858c17196517f65b64a041c
2022-03-04 16:33:46 +00:00
jenkins-bot 6d4558de86 Merge "Deprecate MobileMenu hook" 2022-02-28 22:09:18 +00:00
Umherirrender 3dd1fd841a Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory
MediaWiki\Special is alias since 1.35

Change-Id: Ifb8a64c5fe7e413178f94ecc89b7a960d04064b2
2022-02-26 22:31:38 +01:00
jenkins-bot 4e7642926e Merge "Search icon should be part of search form for grade C browsers" 2022-02-24 00:56:04 +00:00
Jon Robson dc422a3def Deprecate MobileMenu hook
Bug: T291568
Depends-On: I2c75e210ac914ee4d63969314c82451fc8172da0
Change-Id: I00c3e0d4178447c547f25be580c5b99ee65bef60
2022-02-22 18:18:42 +00:00
Jon Robson fade8ad2c2 Search icon should be part of search form for grade C browsers
Cached HTML friendly change which works by limiting styles to the new
HTML which is identified by the existence of the
minerva-search-form class

Bug: T301257
Change-Id: I61ba77a349a38e6a05f87f600ec31bcbf36f306a
2022-02-22 08:40:55 -08:00
jenkins-bot c9bd66df37 Merge "Allow msg key to be overridable" 2022-02-17 18:16:08 +00:00
Jon Robson 0659e174c9 Allow msg key to be overridable
Minerva already overrides the text label for the Home menu item.
To allow other extensions to override it again, we can also consult
the msg key.

Bug: T291568
Change-Id: I3107a6d1e6ace26c7ab9c49c49768d2adcda8792
2022-02-17 16:44:37 +00:00
Reedy e4bcb8f050 Remove SkinMinervaNeue alias
Bug: T301811
Change-Id: I71c02347e43f9e4744fb1aa0c6c8e24ab0790f16
2022-02-16 18:26:10 +00:00
Tim Starling 0bfcad1b1f Move the sidebar cache to core
This cache is unnecessary since I reimplemented it in core.

Change-Id: I31e5694bebb3c73b88c11827ff3cd953233269f4
2022-02-11 11:21:31 +11:00
jenkins-bot 46303db1cd Merge "Fix spacing between icon + text in toggle menu and JS" 2022-02-10 16:54:27 +00:00
Jon Robson a53509354c buildContentNavigationUrls will be made internal and private
Bug: T300284
Change-Id: Ic3011e2c9763b62a74e401b3f28e53e73a6ec7ab
2022-02-08 23:18:50 +00:00
Jon Robson c88a68b38a The warningbox class is deprecated
Bug: T300306
Change-Id: I178a01a457c26981301c5171f0293402fbf9d377
2022-02-07 18:54:19 +00:00
BrandonXLF eae59a8c86 Fix spacing between icon + text in toggle menu and JS
This fix was already applied to the main menu in change
Idc603ccaeeb42f60899059ebb51226e8a20a969d

Bug: T301056
Change-Id: Id31fa76f40aab44672efc51fb981d481c27f1ff8
2022-02-05 20:28:59 -05:00
Jon Robson d8a1942808 Handle unexpected data coming from MediaWiki:Sidebar
Bug: T301003
Change-Id: I27fbd952f3c6139b00e8793a55044f451446a867
2022-02-04 13:16:40 -08:00
Jon Robson 0b3d21d58d Main page definition come from MediaWiki:Sidebar
Bug: T291568
Depends-On: Ia54d01eb5d8d9c33d067f61c73203f9fec4569a6
Change-Id: Ia9998780dc0a5f51af52d928499b51d5566cf29d
2022-02-02 00:44:56 +00:00
Jon Robson 6e297a7a9b [Refactor] Use core definitions for personal menu icons
Rather than hardcoding the icons for all our menu items
let's use the definitions in core.

This also makes it easier for us to deprecate the
MobileMenu hook in future.

Rejoice at all the code this removed!

Bug: T291568
Change-Id: I69b5ca13aee018982a5ea28677d4a37e663235d4
2022-01-19 00:33:16 +00:00
Jon Robson 3d2ad79de1 Use new watchlist icon in Minerva
Bug: T289619
Change-Id: I26b698beb8de67745bdfd3b88c5b36e5320d5d3d
2022-01-14 10:27:59 -08:00
Ammarpad 7ea7ed162d Remove usage of SkinTemplate::injectLegacyMenusIntoPersonalTools()
Bug: T298214
Change-Id: I9dc4c565419b38b557c0f22202ce58641bd210cf
2022-01-05 10:05:05 +01:00
jenkins-bot 9a9f3a72df Merge "Move the form element in Minerva's header and apply core checkbox hack consistently to toggle lists" 2022-01-04 22:16:04 +00:00
bwang 0bee6a1eb6 Move the form element in Minerva's header and apply core checkbox hack consistently to toggle lists
- Factors out Header and SearchBox partials

Bug: T294164
Depends-on: I16d1dfba1b6d0745afff14f1b79586bb17ecdd69
Change-Id: I997f3c2de5cf813db63220580e7cb3fe09aa6932
2022-01-04 11:01:17 -06:00
jenkins-bot 3bb487b733 Merge "Minerva uses core page title handling" 2021-12-22 18:06:54 +00:00
jenkins-bot 8ff17077a2 Merge "Remove some comments that literally repeat the code" 2021-12-20 20:05:32 +00:00
jdlrobson f9a8703a64 Minerva uses core page title handling
Bug: T265892
Change-Id: I2ffdedd64414ffb3c6e441391a75fd6e744847a4
2021-12-20 19:39:42 +00:00
Gagah Pangeran Rosfatiputra e49dd310e8 Make whole area of last edited section to be tappable
Now whole area of last edited section (from edge to edge) is tappable
and linked to history page.

Bug: T163853
Depends-Onː I3d1f272a27c5c9b0b0928b5c0eaeb3f6e270532b
Change-Id: I3c35bbaafea3376cd2f9dccfd13bfe4845fd6823
2021-12-20 16:31:42 +00:00
jenkins-bot 5a7b9c9372 Merge "Remove unused class property initialization" 2021-12-18 15:01:20 +00:00
Thiemo Kreuz 31659edf3d Use more narrow UserIdentity interface where possible
There is still a lot of places that need either an Authority or still
an actual User object. This patch changes the usages that can be
changed right now (almost) without any codechange.

The only additional change is the removal of an unused constructor
argument.

Change-Id: I0fbb3c2cc4cea7fba135d92b04421b0563c0f0c8
2021-12-17 18:16:49 +01:00
Thiemo Kreuz 29b682fc09 Prefer UserIdentity interface methods over User where possible
isRegistered() is a method in the much more narrow UserIdentity
interface. This change makes it easier to move code away from the
problematic User "god" class in core.

Change-Id: I99cb72591f073568f84bd1fd436381f3f11f3140
2021-12-17 16:57:44 +00:00
Thiemo Kreuz 73c79aeb68 Remove unused class property initialization
It's guaranteed to be initialized in the constructor.

Change-Id: I7c39e5ca3a80b8f9279bdecc3a724f39d1f987e3
2021-12-17 11:31:44 +01:00
Thiemo Kreuz e565347cd4 Remove some comments that literally repeat the code
Change-Id: I3960735fa59f7d607659acd31167802ee769a519
2021-12-17 11:29:11 +01:00
jenkins-bot 1b9d92e17d Merge "Wrap the sitenotice with div element as other skins do" 2021-12-15 21:35:58 +00:00
Func b4b2f4ded3 Wrap the sitenotice with div element as other skins do
Change-Id: Ifea461636f9000527556dc2881f83f00be5bff76
2021-12-10 11:20:35 +00:00
Kosta Harlan ed22536b44 ServiceWiring: Add fallback for when title is null
Services shouldn't rely on global state. The service should have a
method for setting the title manually, and callers to the service should
be updated to pass in the title (or other context items) as needed. As
is, this code causes the test for MediaWikiServicesTest.php to fail; it
appears to only pass in CI accidentally due to pollution of global state
from other tests that run before it.

Bug: T297068
Change-Id: I39c780d36583deb8b2edd7b12b425e949bd09cd1
2021-12-06 09:38:36 +01:00
vladshapik 023c5046d3 Avoid using User::getOption
Remove using of User:getOption since this method
will be hard-deprecated. Now it is soft-deprecated.

Bug: T296083
Change-Id: I9f762cf27d7c778c8c391cde1409b510bd3e4e67
2021-11-30 12:54:03 +01:00
jenkins-bot f4b3b11053 Merge "Fix history link" 2021-11-29 23:36:42 +00:00
Clare Ming 11b703f616 Fix history link
- Show history link for view pages only.

Bug: T295772
Change-Id: I01b4aa6975543fbfe015ff9cd439f82b5baf3e5b
2021-11-29 13:34:09 -07:00
jdlrobson 76a12a2ad4 Restore logo to footer
In 894364a3eb we moved the section tag for data-logos outside Logo
but did not add it to the footer

Bug: T295773
Change-Id: I52c07e95ac8166e9e9d11aba7cb3130cc6a2f8d7
2021-11-29 10:59:23 -08:00
bwang 083ab9c6c3 Remove markup icon code
Bug: T288928
Depends-on: I553bbcc9f1a98d75e160ede7a66ffcf6510fa28a
Change-Id: Ida0c41d2dab229e882c5e78e5702cc921bbdb928
2021-11-23 17:26:37 +00:00
bwang ceb7961c75 Update sandbox icon in personal menu
Bug: T288928
Change-Id: Ia4ddeefb43ad089832532d68c7c48cd021ecb14e
2021-11-23 11:18:56 -06:00
jenkins-bot a174538d21 Merge "Replace usage of the methods IContextSource::getWikiPage & canUseWikiPage that will be deprecated to WikiPageFactory usage" 2021-11-23 14:04:55 +00:00
Roman Stolar a0e560ffe6 Replace usage of the methods IContextSource::getWikiPage & canUseWikiPage that will be deprecated to WikiPageFactory usage
Bug: T275710
Change-Id: Ia5cff18a6d9417d8e6960f2d20f7b41174f97341
2021-11-22 12:50:11 +02:00
tacsipacsi aaf0159174 Don’t add any <h1> to main pages for anons
Main pages usually feature a welcome message on their own, and adding
the standard <h1> is redundant at best. (Or, if there’s no welcome
message, the lack of a page title also indicates that it’s the main
page.) Also, it has ever been the case since dd00aa5a601e that no page
title is visible on the main page (before 9a39d1e492, an empty <h1>
was present, now nothing will be added).

Bug: T296109
Change-Id: I1e79dc385c4dbe8413bcb32a52b8675aabf8eea0
2021-11-20 12:57:57 +01:00
jenkins-bot 88ff252e77 Merge "Fix banners to show CentralNotice" 2021-11-19 18:02:52 +00:00
Clare Ming dddde1c208 Fix banners to show CentralNotice
- Restore init of banner array to include needed selector.

Bug: T296077
Change-Id: Id1cec46eadcd057062c791a30db8ca40b35224b9
2021-11-19 10:17:12 -07:00
bwang ef4aa95ae2 Remove primary/secondary menu items, instead add a separate log out menu item
Bug: T293041
Change-Id: I9f73fdba1856dd9e0ea7120df0fb18061337961a
2021-11-18 19:51:33 +00:00
jdlrobson dd52f75a13 Remove SkinMinerva class properties
Follow up 7530f1c with some refactors
to remove the $pageActionsMenu and
$contentNavigationUrls properties by
calling once in getTemplateData

Bug: T293815
Change-Id: Ia7877abbecf41bbae7627ce7924d0f0871efa479
2021-11-12 22:34:20 +00:00
Clare Ming 7530f1c145 Remove MinervaTemplate class
- Update SkinMinerva class to output data previously handled by MinervaTemplate.
- Update relevant templates with updated data keys.

Bug: T293815
Change-Id: I33df396b07c4d2d9c1c5743d90dc54cdbd3345af
2021-11-12 11:39:58 -07:00
jenkins-bot 280b7b28f7 Merge "Fix empty title for logged-out users using Minerva skin" 2021-11-12 16:32:29 +00:00
jenkins-bot 3b53c0e129 Merge "Use the message "portal" as the label for the "portal-url" link" 2021-11-12 16:24:24 +00:00
jenkins-bot 5f42f3f76a Merge "Instrument mobile talk page clicks" 2021-11-08 19:20:56 +00:00
jdlrobson 1acb3542a5 Instrument mobile talk page clicks
This results in log events for clicking the following on a talk page:
* Read as wiki page
* Section headings
* the "add section" button

To test install WikimediaEvents and set
$wgWMEMobileWebUIActionsTracking = 1;

Bug: T294738
Change-Id: I8dbad7f4e72cfd081896480ba142b4e1e3029bcd
2021-11-08 09:17:29 -08:00
xiplus ef22a69a28 Use the message "portal" as the label for the "portal-url" link
At this time, the label is the same as "portal-url". It's not allow
to localize. Use "portal" as the label.
The code is copied from insertDisclaimersItem() in the same file.

Bug: T239022
Change-Id: I1d3bc04333aabcf8c704241ca882d6b863b98968
2021-11-08 14:53:50 +08:00
xiplus 9a39d1e492 Fix empty title for logged-out users using Minerva skin
Do not set page title to empty string if user is logged out

Bug: T265892
Change-Id: I38172860a6e4b58f772cc6713a0fd07f5d8524ea
2021-11-08 12:17:24 +08:00
Gagah Pangeran Rosfatiputra 00b06825c8
Add move, delete, and protect options on mobile AMC user page
Turns out user page is using UserNamespaceOverflowBuilder instead of
DefaultOverflowBuilder.

This change is added move, delete, and protect entries to
UserNamespaceOverflowBuilder::getGroup, so those options would appear in
overflow menu on user page.

Bug: T283549
Change-Id: I8a22b57aaa195773ae9e82bd1e01f323a2c0e6e1
2021-11-06 09:59:42 +07:00
jdlrobson 1f2b7dff15 Minerva uses desktop footer for license
After this change, in desktop Minerva the copyright
text in the footer should match desktop Minerva.

In mobile Minerva the copyright text in the footer
is shortened and doesn't contain terms of use.
It should match Vector mobile
?useskin=vector&useformat=mobile

Depends-On: I3473908e08f643b4c60aafc470dd124516955323
Change-Id: I2895975aaa1d09d228f80aff74381e88034a0137
Bug: T289401
2021-11-03 18:38:44 +00:00
Sai Suman Cherukuwada 3a9f60cbeb Removed calls to MinervaPreRender hook.
Bug: T289281
Change-Id: Ied0d2069dd8bb6bad67233272365674840743062
2021-11-03 16:45:23 +00:00
Clare Ming b308c91b50 Fix spacing between icon + text in main menu
Bug: T292452
Change-Id: Idc603ccaeeb42f60899059ebb51226e8a20a969d
2021-11-01 16:33:07 -06:00
Clare Ming 55189058be Move history link data into SkinMinerva::getTemplateData and relevant template
- Remove usage/references to MinervaTemplate::getHistoryLinkHtml, html-minerva-lastmodified
- Add data key for history.mustache template.
- Update footer template to use new data key.

Bug: T292554
Change-Id: Id5fbf61ba181a0088a25e77175b808362963c63b
2021-11-01 21:04:12 +00:00
bwang 50a5253684 Remove whitespace from anon talk message warning
Bug: T284642
Change-Id: I65d03ffa5b3e8a7a855ba5adb3cc90e74c83ad96
2021-10-28 18:11:26 +00:00
jenkins-bot b4f947a625 Merge "Update anon talk messages to show on non-main namespaces" 2021-10-27 23:52:19 +00:00
bwang a2d065c062 Update anon talk messages to show on non-main namespaces
- Loads messageBox styles on non-main namespaces
- Add messageBox styles to 'skins.minerva.scripts' module for MobileFrontend's edit overlay page
- Prevent warning box from showing with empty message

Bug: T284642
Change-Id: I70d0d86671384210cc3ab43cb1d350ff2a862fd9
2021-10-27 21:29:42 +00:00
jenkins-bot 2ee31b0096 Merge "Refactor SkinMinerva::getSecondaryActions to match getPageActions()" 2021-10-26 22:49:16 +00:00
bwang 2be42b314f Refactor SkinMinerva::getSecondaryActions to match getPageActions()
Change-Id: Ia87fb08204be56e665cd97c57e6ac7df4cb1a02d
2021-10-26 22:24:04 +00:00
jenkins-bot 36729aafd8 Merge "Add yellow talk page message warning to non-main namespace pages" 2021-10-26 16:39:38 +00:00
bwang b4fd1498bc Add yellow talk page message warning to non-main namespace pages
Bug: T284642
Change-Id: I2895975efe1d09d228f80aff74381e88034a0137
2021-10-26 10:44:28 -05:00
jdlrobson b41c7ca7be Inline PageActionsMenu template
Avoid usage of an additional TemplateParser

Bug: T293813
Change-Id: I1cef873d8a3226c9180a0731834f0ecf961f7ece
2021-10-25 16:02:08 -07:00
jenkins-bot 2a60efef79 Merge "Remove MinervaTemplate::getSecondaryActions" 2021-10-25 19:32:53 +00:00
bwang 95abf6b9af Remove MinervaTemplate::getSecondaryActions
Bug: T291875
Change-Id: Iefff2007c561adfd5886f9c0521341b3922e7653
2021-10-22 14:11:54 -05:00
jdlrobson 17968826fa Move components files up one level into Skins directory
Follow up to I4c2e115451c0a76c742734730712814c1f1d838d.
This will allow us to load the templates directly into skin.mustache
via {{>PartialName}}

Templates partials can only be resolved relative to the folder given
to the TemplateParser.

Change-Id: I5783d49c25d2efcf4781dd912500bf8b413b8cb6
2021-10-22 18:45:38 +00:00
jdlrobson c407d92d5d Remove getPageActionsHtml and related methods
Bug: T293813
Change-Id: I90e45cac13a13c2ce18af16274e327d951868433
2021-10-22 07:42:56 -07:00
jdlrobson 5a7a9c9c31 Drop wgMinervaPageActions
Remove code per spike outcome (T226490#7438685)

- This configuration option is never used in Wikimedia production
- isTalkAllowed content body is merged into isAllowed. Resulting code
is more readable.
- isAllowed('talk') still returns false on main page for anonymous users
which is the current behavior. Even on sv.m.wikipedia.org where talk pages
are shown to anonymous users, we do not show the talk page on the main page.
Add a comment pointing to the associated phabricator ticket

Bug: T226490
Change-Id: I9f34817c5ad654a6a66fe6156850a3e3fee881a7
2021-10-21 17:25:37 +00:00
jdlrobson 894364a3eb Restore title to mobile skin without logo
Bug: T290525
Change-Id: I6eb120a08d15b308d2a4df99900ab86042612b0c
2021-10-21 15:16:14 +00:00
bwang c1ea154af8 Generate Minerva search HTML with SkinMustache data
Bug: T290525
Change-Id: I68cde34a41a610872a585f5548dbaf66e3515443
2021-10-18 10:44:15 -05:00
jenkins-bot 04e5372713 Merge "Revert "Generate Minerva search HTML with SkinMustache data"" 2021-10-15 23:06:19 +00:00
Jdlrobson f9214f8ad5 Revert "Generate Minerva search HTML with SkinMustache data"
This reverts commit ecd35774b1.

Reason for revert: Logo has disappeared on beta cluster.
The Logo template was using data-logos, and
the addition of the data-search-box section broke this. Given its
a Friday, probably best to revert the patch and reapply again.

Change-Id: Id517d32b20b6512b9b2e1fffab012522dfd7b618
2021-10-15 22:43:07 +00:00
jdlrobson a7b66f6f63 Remove MinervaTemplate::getContentHtml
* Move method to SkinMinerva
* Turn preparePageContent into a getter that returns the subject
page
* Use getSubjectPage in template

For mobile special pages this now means the page has two .content elements
On those pages I've disabled the initial content element. It also means
various .content <heading> and .content ul  rules now apply that need to be
disabled.

While testing several other issues were taken care of - for example
the h2 in errors

Depends-On: I7761396d6a33830f279742be01240796573556a7
Bug: T291871
Change-Id: I13bc4b5dae7aed86eca31ef306212365e1759481
2021-10-15 20:49:23 +00:00
bwang ecd35774b1 Generate Minerva search HTML with SkinMustache data
Bug: T290525
Depends-on: I175ae29310a7432212a7b9c1c68dac9923665536
Change-Id: I53ea154b815a52e1e2e80a2e7b7114e310e74d47
2021-10-15 10:15:58 -05:00
bwang 9a4caa7631 Use skin.json to define messages instead of MinervaTemplate
Bug: T290343
Change-Id: I8daef594ac9efb80f07437c5d8ef5459c37e2ff3
2021-10-12 15:30:58 +00:00
jdlrobson aba173efc6 Remove non-standard components folder
For skins, all templates should be in the same folder. This
is for security reasons, to limit access of templates to files
that are not templates. This also adds consistency with other skins
where templates are all in the same subdirectory. It also allows
us to reduce the creation of TemplateParser instances.

Note: All styles and scripts should be in the resources folder but this
is not rectified by this patchset. Will be done in follow ups following
more discussion.

This begins this work in the least disruptive way possible and drops
the README note to avoid this pattern growing.

Bug: T292558
Change-Id: I4c2e115451c0a76c742734730712814c1f1d838d
2021-10-06 20:13:48 +00:00
Nicholas Ray 6067d2689b Change footer logo from a heading element to a div
Also, remove old CSS selector that was preserved for caching.

Bug: T288362
Change-Id: Iab3531229b64e0b9ee9268f6480a1417872d6107
2021-09-27 15:04:55 -06:00
jdlrobson f49eefbf84 Improve support in Minerva for addPortletLink
* Use skin registration and set skin options as and when needed
* Set link text-wrapper
* Simplify addPortletLink hook
* Update modifications to apply to items added prior to the hook

Bug: T240910
Change-Id: Ic806adf3de6490ba9da11e8968a61b3d0acd93bc
2021-09-23 22:05:36 +00:00
Nicholas Ray 6df49e3da4 Add alt attribute to logo
* Adds alt attribute with a value of the `mobile-frontend-sitename`
(previously called `mobile-frontend-footer-sitename`). The message was
changed because this affects both the footer and the header's logo.

* Adds a `minerva-footer-logo` class to the logo in footer.mustache in
preparation for changing that element from an h2 to a div. Given caching
issues (old CSS with new HTML; new CSS with old HTML are both
possibilities), we need to do this in two separate deploy cycles.

Bug: T288362
Change-Id: I3ecbf8fdcae72a0ded7f60c559259f312b8ef15d
2021-09-22 02:01:42 +00:00
jdlrobson 2794ea10dc Allow overriding of icon
For consistency with other methods, a mechanism for overriding
the home page icon is provided.

Bug: T291423
Change-Id: I7fb2e23cf10a75ed37e333f166f93111283f7f3e
2021-09-20 12:51:56 -07:00
jdlrobson 5263b09397 Standardize use of buttons and icons in Minerva
* Adds button hover/focus states to all Minerva button icons
* Removes the deprecated mw-ui-icon-before selector

Depends-On: I4eb28eae4c4e23d58f1f85bc41c0caf77197d8a1
Bug: T288678
Change-Id: I490534f9f704a733191b459c8ee071848c436001
2021-09-17 15:36:54 +00:00
jdlrobson 3564c70994 Logo scales with font size
Bug: T207789
Depends-On: Ie86a5b59fbf93a400796a4cac3724207830092b5
Change-Id: Ibbdf8b75246367e60532626879f33c0876118fe1
2021-09-08 22:32:39 +00:00
Ammarpad f9ab46b917 Remove unused template data
* internalBanner
* prebodyhtml

Bug: T290342
Change-Id: Ibd4d3f07e120874160274ce3295c788fdd33a7a5
2021-09-07 06:37:20 +00:00
jdlrobson e42bfd1e96 [refactor] Use core template variable for subtitle
Avoid indirection to QuickTemplate variable by using
SkinMinerva (SkinMustache) version.

To test:
* Create User:Admin/sandbox
* Create User:Admin
* Visit User:Admin/sandbox to see the breadcrumb "< User:Admin"

Change-Id: Icdd10bd1406ea047097309b6fcafba399170d019
2021-08-19 12:40:13 -07:00
Nicholas Ray 46ac6048d7 Use text-overflow: ellipsis on .mw-ui-icon-before span elements
Placing the text overflow on the span instead of the anchor element
prevents issues like T287522#7272991 from occurring.

Additionally:

* Uses the `text-overflow` mixin on every toggle list item label instead
of just the user link item as it simplifies the logic and presumably
we'd want any text that overflows the menu to be handled the same.

* Changes the anchor element to use flexbox/align-items to vertically
center instead of relying on `vertical-align` both the span and the
icon. Eventually, this should be put into core (see
I029f97ba9d5e7f46c8aa175d9a6bbb45ef9615df) but we have to remove all the
overrides that use vertical-align first.

Bug: T287522
Change-Id: Ie0fbff9dfaf8444c76125df52931a687730b4ad1
2021-08-12 14:04:46 -06:00
jenkins-bot 29fc9d18ad Merge "Avoid using User::getBoolOption()" 2021-08-04 21:52:33 +00:00
libraryupgrader 218151025e build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0

npm:
* svgo: 2.3.0 → 2.3.1
  * https://npmjs.com/advisories/1754 (CVE-2021-33587)
* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* ws: 7.4.5 → 7.5.3
  * https://npmjs.com/advisories/1748 (CVE-2021-32640)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)
* normalize-url: 4.5.0 → 4.5.1
  * https://npmjs.com/advisories/1755 (CVE-2021-33502)
* prismjs: 1.23.0 → 1.24.1
  * https://npmjs.com/advisories/1762 (CVE-2021-32723)

Change-Id: Idfecb28ef49b193ba78b3f7b1335d4d5cb2862cd
2021-07-23 18:37:41 +00:00
jdlrobson ca18ad75d3 minerva-header class is now in cached HTML, remove old header class
This completes the migration from header to minerva-header

Bug: T172626
Change-Id: Ibb86359e683e08d86091f855e3813a99e0ad2cee
2021-07-20 18:36:39 +00:00
jdlrobson 9dab685ac9 Restore header class for cached HTML
Follow up to 27525d0bf

During task sign off Nick raised the concern that new HTML
can be served with cached CSS for up to 5 minutes after a deploy.
We decided to restore the class for one deploy cycle.

Bug: T172626
Change-Id: Ie5a2e45f31a468bbe425a27236ad1255950807a1
2021-07-19 13:47:55 -07:00
ExE Boss 27525d0bff Fix style conflict with content using class="header"
Content using `header` as a CSS class was affected by skin styles
in Minerva being insufficiently specific to the skin‑specific elements.

This changes Minerva to use `class="minerva‑header"`, thus avoiding
the conflict and matching what Vector does.

Bug: T172626
Change-Id: Id8fbe61b2d1d4a89ec11ddfdf7837be797b3bd20
2021-07-16 20:39:24 +00:00
DannyS712 55206bd705 Remove SkinMinervaDefaultModules hook
Deprecated in core version 1.36

Bug: T266882
Change-Id: I99bd07dab4f27e2c119b80c1ca3383134740050d
2021-07-05 15:55:21 +00:00
Derick A 4009065cea
Menu: Add "unprotect" action when current user is an admin
Accidentally via T231291, a regression was introduced such that,
in AMC mode, when a page is protected to be edited only by admins,
a corresponding unprotect action is not avaiable to reverse the
protect action.

This patch fixes that regression. Have tested locally and it works
as expected.

Bug: T285567
Change-Id: Ie20ca5d9c43fa54dff5d699eb59679585283bdb5
2021-06-30 20:51:57 +01:00
Timo Tijhof 0d61c78f73 Move skins.minerva.content.styles into skins.minerva.base.styles
This could be made even simpler by not using a LESS varialbe for
hacks.less, but loading it conditionally through the moduel def.
But, as a first step we can merge the two as-is.

Given that the subject and target are always referenced together
in page views, there is no need to keep an alias around. However,
I'm keeping it anyway so as to not produce any
`/* {"skins.foo":"missing"} */` appendix to the stylesheet response
for these cached URLs.

Bug: T266361
Change-Id: I8578faab8ca32bd49be90711cbd5e182763b8065
2021-06-21 17:50:37 +00:00
David Lynch 5fb7c116b7 Add hook that allows suppression of the talk page overlay
The hook lets us hand off the decision of whether to suppress this to
DiscussionTools, which has a slightly complex set of feature-tests to do
before deciding. It seems better to leave this disabled only when DT
will actually be stepping in.

Bug: T280051
Change-Id: If6b70fb6d801ac04fa3b70c153a2136d2e302f28
2021-06-10 11:35:26 -05:00
jenkins-bot 8900f58e2f Merge "Replace categories button with HTML rendering" 2021-06-07 08:58:44 +00:00
Alexander Vorwerk 7dd62360a6 Avoid using User::getBoolOption()
User::getBoolOption() is deprecated and should be replaced with
UserOptionsLookup::getBoolOption()

Bug: T277600
Change-Id: I8219efc4429bad692e80fd2314b57a6c89a893b2
2021-06-06 14:14:30 +02:00
Alexander Vorwerk 348e19ed5c Avoid using ContentHandler::getForTitle()
ContentHandler::getForTitle() is deprecated since 1.35

Change-Id: I52c40084d96e88b2edab46c15a10b83b7decf192
2021-06-01 19:17:58 +00:00
Jdlrobson 8651df02bb Replace categories button with HTML rendering
Bug: T246049
Change-Id: Id8c7493a525844b43c1628a1f4f09ae716ece2ba
2021-05-14 20:34:59 +00:00
bwang 0071a28239 Ensure suppressed user pages look like unregistered users when viewed without proper permissions.
This patch removes the user page tagline (i.e. "Blocked joined 7 days ago"), updates the user page heading (i.e. "Blocked" becomes "User:Blocked") and removes user specific page actions (i.e. Contributions, User groups, the page actions submenu, etc) for certain user pages.

This patch also adds a new method to SkinUserPageHelper for use in the ToolbarBuilder.

Bug: T268961
Change-Id: I920e0770caa0a1b6d3323e2e3111e5df4f1f051d
2021-05-05 10:29:54 -05:00
libraryupgrader e9a4bec57c build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

Change-Id: I325e6aabd1cd89cf5893ea8e85202765ed46a57e
2021-05-04 12:26:23 +00:00
Cindy Cicalese ff8ab4ea5c Replace Title::isWatchable() with WatchlistManager::isWatchable()
Bug: T281497
Change-Id: I0f7a82191eae8edd4c0c1d16d89c81e601ae5c80
2021-04-29 18:31:55 +00:00
Cindy Cicalese 818d79ce9a Replace usage of deprecated User watchlist methods
Bug: T281187
Change-Id: Ib6f21b41b0a82ab4c48db6eb36d4417c05f30637
2021-04-27 17:12:22 -04:00
ZabeMath 4cdd0af8bf Allow Users with permissions to do expanded actions in Minerva on mobile
Allow Users with the needed permissions to delete, protect or move pages in Minerva on mobile version.

Bug: T231291
Change-Id: I1e438b7d3683d288a8a6c5a9f5dcea6b3b3d9f71
2021-04-26 18:51:32 +00:00
jenkins-bot 5fd4a83482 Merge "Message box styles for Minerva come from core" 2021-04-12 22:12:51 +00:00
jdlrobson 685387220f Message box styles for Minerva come from core
Just as before styles for message boxes will be
kept off the critical path of most page views and
loaded on special pages, old revisions and action= URIs,
however unlike before the CSS will come from the definition
in core.

It must also be loaded in JavaScript for compatibility
with the use of warnings in JavaScript, for example 
MobileFrontend overlays.

This change will allow us to remove the
mobile.messageBox.styles module in MobileFrontend
I8b6bdfceaf33b9527dbe6790d2a39e335fb692b2

Bug: T233160
Change-Id: I7d8d1d34621c36c26ec03a3773d4d1e67bd14f2e
2021-04-12 21:45:53 +00:00
Umherirrender ae03d13735 Use ::class for class name
This works also for non-existing classes,
because it is resolved on compile time

Change-Id: I84a9fc3c9f6c0ed3556b927e02e4ec9a5fef9cc2
2021-04-08 20:58:17 +02:00
Cormac Parle 4394d85e52 Update search form to use the default search page from the skin
Bug: T273979
Depends-On: I241a9cce679c7b42ff749c6236299d82b94db669
Change-Id: I646b002d837ec44244f02cafdc5f4e7f83209769
2021-03-24 14:24:20 +00:00
vladshapik 6da72c8099 Avoid using User::isIP
Remove using of User::isIP since this method will be hard-deprecated. Now it is soft-deprecated

Bug: T275602
Change-Id: I01a0c2ef4d750cf0e81a9345ee462787d4ee28da
2021-03-02 14:29:58 +02:00
Daimona Eaytoy dff83a4b24 Stop using deprecated Language methods
Change-Id: I46b6e388d96080ef0389601f01e2b2bb20cfd185
2021-02-27 15:59:17 +00:00
Piotr Miazga (polishdeveloper) 82724b3c44 Add data-mw="interface" attribute to Menu elements
While dropping support of smart logout in favour of core ready.js
logout, we noticed that the logout selector is a little bit too weak.
Editors could make a link on a page that would work as a logout
button. The easiest way to prevent this (and any other possible
problems) is to add `data-mw="interface"` attribute to all generated
menu entries.

Change-Id: I22611b9641d82328623beb3f693bf7cddb2289ff
2021-02-11 20:35:40 +00:00
Piotr Miazga (polishdeveloper) 5a2527d71d Drop smart logout handling in favor of core ready.js
MediaWiki core added support of overrideLogoutSelector skin
config variable which allows us to define the logout button
selector. Thanks to that we do not have to ship our
custom/duplicated smart logout handler as we can use the
one shipped with ready.js.

Depends-On: Id313337c85229a5e8d0aada3a67d722048709597
Bug: T259200
Change-Id: Ie0192a176dfa8be994a544221aa71de75028d502
2021-02-11 17:26:47 +00:00
Umherirrender 09b331ab83 Improve function and property documentation
Change-Id: I16cc3831cd4c917aa679c7f7c535b97e498291a7
2021-01-16 14:35:10 +01:00
James D. Forrester 592e1151b7 Use User->isRegistered(), not deprecated isLoggedIn()
Bug: T270450
Change-Id: I60f714f42848898cf27aa83da92ac1c691fe5ead
2020-12-17 19:09:15 -08:00
libraryupgrader 68b3bcd63f build: Updating mediawiki/mediawiki-phan-config to 0.10.5
Change-Id: I69ee97acbdf8a1054b3be704ed9d7b87d3ed7152
2020-12-09 20:41:19 +00:00
jdlrobson 0e61c55ea1 Minerva no longer needs to remove mediawiki.toc.styles
As of db3c8ea16b3 the mediawiki.toc.styles module is no longer
loaded by the skin, so Minerva no longer needs to remove it.

Bug: T252774
Change-Id: Ia2df978e2d0349a55620ef45f8c0827134b7c74d
2020-12-08 14:16:54 -08:00
libraryupgrader 450f70d24b build: Updating mediawiki/mediawiki-codesniffer to 33.0.0
The following sniffs are failing and were disabled:
* MediaWiki.Commenting.PropertyDocumentation.WrongStyle

The following sniffs now pass and were enabled:
* MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName

Change-Id: Ib605f800c2ae0e521c034c1f49d98cbca546b720
2020-11-05 16:18:11 +00:00
jenkins-bot 9c3e5c9299 Merge "Deprecate SkinMinervaDefaultModules hook" 2020-10-30 01:13:30 +00:00
jdlrobson d69de05807 Deprecate SkinMinervaDefaultModules hook
No longer used by anything.
So long... farewell...

Bug: T256086
Change-Id: Ic3439ca6f466351518d4b9e0feea405cb94e6c5e
2020-10-29 10:01:23 -07:00
jenkins-bot 874f38e318 Merge "Remove client side error counting" 2020-10-26 11:04:02 +00:00
jdlrobson ed0222b0d0 Remove client side error counting
Bug: T266359
Change-Id: I5350c801e7ecb7b8b28e54410cc57fd3b548b2ef
2020-10-23 11:09:22 -07:00
jdlrobson c3b93e14b0 Simplify footer and logo generation
The data already provided by SkinMustache makes the existing
Minerva code redundant.

* html-after-content functionality equivalent to dataAfterContent value
* Rename license and last modified to have html-minerva prefixes and promote
to top level data object. This allows us to distingusih Minerva values from core
values.

Note: previously the logo used srcset to ship a 1x logo but these
were dropped during the desktop improvements work.

Bug: T256083
Change-Id: I7b2cd5181eae67b345f6686e3389a76a12e3b1a1
2020-10-16 23:41:34 +00:00
jdlrobson fabc333373 Drop unused template variable and property
* prebodyhtml is never defined
* isSpecialMobileMenuPage is never used and the Special:MobileMenu
page no longer exists

Change-Id: I6481ef08f9d88e9be3cb5568bfa6693b1b3f1b8f
2020-10-08 21:03:53 +00:00
jdlrobson 78839e00e8 Minerva should use the SkinMustache class
This begins the migration of Minerva to SkinMustache with the smallest
possible change.

In future, we'll be able to eventually wean ourselves off of the
MinervaTemplate class and considerably reduce the code in Minerva

Bug: T256083
Change-Id: Id0f617cfdb698754addc79b26491b9d846513c87
2020-10-02 13:35:08 -07:00
Volker E 1ae1c424e0 Add role=contentinfo to footer element
Mitigating an VoiceOver bug first identified in course of T66477 and
clarified in  T66477#6347019.

Change-Id: Ie6beb6ba0848bd08a3604974dfc8dada0fd445b7
2020-09-18 08:41:49 -07:00
MusikAnimal 4a3e1fa9e8 Show half star for temporarily watched pages
This does not complete watchlist expiry support in MinervaNeue. It only
instructs the skin to show a half star instead of a full star on page
load if the page is being temporarily watched.

Bug: T251690
Change-Id: Ib5c479dcfe49041152ba662c56cc630c32eb220e
2020-08-27 11:57:13 -04:00
Jdlrobson 74838b2fa2 Revert "ServiceWiring: Avoid usage of deprecated Title::getSubjectPage()"
This reverts commit ae8e3ad58b.

Reason for revert: This led to T260155 as the internal class uses
isSubPage which is not available on LinkTarget

Bug: T260155
Change-Id: I783f41e70cf1cf3b91737bce9cbf9ac729a778df
2020-08-11 15:50:44 +00:00
Derick A ae8e3ad58b ServiceWiring: Avoid usage of deprecated Title::getSubjectPage()
SkinUserPageHelper::__construct() should be able to consume a LinkTarget
too as NamespaceInfo::getSubjectPage() method returns a LinkTarget and
the Title::getSubjectPage() is deprecated.

Change-Id: I08bfc9bb21772b450798b6354bee2ab09d5dba4d
2020-08-08 14:07:48 +01:00
jenkins-bot 9d4a717615 Merge "Specify the responsive option rather than manually specifying viewport" 2020-08-04 20:46:54 +00:00
Jack Phoenix 2060ead391 Don't add the "minerva--history-page-action-enabled" class to <body> for non-Minerva skins like MonoBook etc.
Hooks are global, hence any and all skin-specific OutputPageBodyAttributes hooks need to check first that the correct skin (or skins) is used, otherwise the class or classes get applied for *all* skins when only one skin is supposed to be targeted.

Also fixed a tiny code style issue in the same hook subscriber while at it.

Change-Id: I626b0e050c614687b31f1ffbaea92e371dee4574
2020-08-03 20:30:28 +00:00
mainframe98 5857a9f909 Specify the responsive option rather than manually specifying viewport
I6e69b482cdbc adds a viewport with the same value as defined by Minerva.

Bug: T258290
Depends-On: I6e69b482cdbc49c09adc6f7cee54f5e17b7c92c4
Change-Id: Ie8ed80f734b20a16bc1c70a94d40290909180c3b
2020-08-03 21:14:29 +02:00
Peter Ovchyn 271fb28d99 Load mediawiki.page.ready on Minerva
Disable sortable and collapsible during mediawiki.page.ready initialisation

Add onSkinPageReadyConfig hook that overrides sortable and collapsible values.

Adds 1.74kb of JS to all page loads.

Bug: T257265
Bug: T250851
Depends-On: I0dc38e74052027f26a70d58b5f520e5830e0d55d
Change-Id: I81ff55d080c8c4a40f425ca7d0fc4fda322055dd
2020-07-29 20:57:52 +00:00
Ammar Abdulhamid 1a45b1409c Remove usage of deprecated Skin::getRevisionId()
OutputPage has similar method and they are being used
interchangeably here. Let's stick with one.

Bug: T257992
Change-Id: Ia5a0fbf114f6a1fec6fb85e01a408edae8a5badb
2020-07-29 16:09:47 +01:00
Derick A 568367a8c0 MinervaHooks: Remove unreachable code related to Special:MobileMenu
This is a follow-up work on: I30b1af8b88dd146d62f0de7a6352c4117a7cdd90.

Bug: T252005
Change-Id: Iefb56ad9b9c68196d06b96209a73e94aa69a1e2e
2020-07-24 15:43:21 +00:00
DannyS712 4e1284996f Deprecate the MinervaPreRender hook, unused
Bug: T256079
Change-Id: Ic4b4ee679d7b78a6fa48fca353f51c1de1ee8a48
2020-07-11 00:35:01 +00:00
jdlrobson 2e450e104e Donate link should be in a separate group in main menu
Bug: T219793
Change-Id: I7501c87eaa799e4c8a9052f5e3f650a89f376d1b
2020-06-29 14:38:34 -07:00
Ammar Abdulhamid f9b5ca1f26 Minerva: Remove usage of two deprecated methods
* BaseTemplate::getToolbox()
* BaseTemplate::getPersonalTools()

Bug: T256272
Change-Id: I7de2be43e1fbe94c10cbe8bba49adc07692f9219
2020-06-26 12:43:27 +01:00
Vas Jaremchuk f4e3c8f9d9 Mobile web donate link
Add the Donate link with a heart icon in Mobile menu.

Bug: T219793
Change-Id: I65d1d7408e2df7b3ae307736ac6d498b1d7f7197
2020-06-25 11:00:44 -07:00
jenkins-bot 5e6e294083 Merge "Allow projects to disable Mobile welcome message" 2020-06-23 16:11:20 +00:00
Ammar Abdulhamid dbc3bdee1d Allow projects to disable Mobile welcome message
Bug: T255682
Change-Id: I62f2c798656005796d846067f67ad26812202e20
2020-06-23 10:44:13 +01:00
Ammar Abdulhamid 2bb3633530 Minerva: Use OutputPageBodyAttributes hook to add body attributes
This means dropping usage of Skin::addToBodyAttributes method from
parent Skin class to pave way for its deprecation/removal.

Bug: T255698
Change-Id: Idab13c37002ac5663f292e4f4b4ff51eb7573fda
2020-06-21 09:21:07 +01:00
jenkins-bot ea4ad9d5f6 Merge "Revert "Drop MinervaEnableSiteNotice"" 2020-06-04 22:59:24 +00:00
Jdlrobson 4f021c79f0 Revert "Drop MinervaEnableSiteNotice"
This reverts commit 33e5c1eb79.

I talked to Gergo (tgr) about this and he's convinced me
that probably I want to be more conservative 
and incremently roll the sitenotices
out first. With that in mind I'm going to revert this change
and do a config flag instead.

Bug: T254391
Change-Id: If0f214d23a012fb4ae3e1dff1728f746a22f142a
2020-06-04 22:39:36 +00:00
jenkins-bot b51d095001 Merge "Drop MinervaEnableSiteNotice" 2020-06-04 19:38:15 +00:00
jdlrobson 33e5c1eb79 Drop MinervaEnableSiteNotice
This will make site notices display across the site as intended. The config
flag doesn't seem warranted - site notices should display across all skins
as they may contain important information.

This is preventing wikidata page banners from displaying in Minerva.
If this is controversial I can do a config-only change for Wikivoyages

Bug: T254391
Change-Id: I34c5e762b967ea94e33025e87f3446e8e029bc91
2020-06-04 08:38:03 -07:00
Umherirrender 4f269d67b8 Explicitly format Message oject instead of string cast
The implicit in Mesage::__toString, as called when the object
is accepted by a method that needs a string, is to format
with parse(). Call that explicitly instead, or use escaped()
in places where it seems like elaborate wikitext isn't expected.

Change-Id: I9f1de3a0047d1f26d30c8607a0a79543d166176f
2020-06-01 20:52:33 +00:00
Umherirrender 1b5d9ea755 build: Updating composer dependencies
* php-parallel-lint/php-console-highlighter: 0.4.0 → 0.5.0
* php-parallel-lint/php-parallel-lint: 1.0.0 → 1.2.0
* mediawiki/mediawiki-phan-config: 0.9.0 → 0.10.2
* mediawiki/mediawiki-codesniffer: 29.0.0 → 31.0.0
* mediawiki/minus-x: 1.0.0 → 1.1.0

Additional changes:
* Replaced "jakub-onderka" packages with "php-parallel-lint".
* remove taint-check, now bundled with phan-config

Change-Id: I202a48e1b0aab38181a402d6f2661d782ecd79e2
2020-06-01 19:43:05 +00:00
Volker E bb6827122c Naming convention using 'skin' as entrance point
Similar to Ief1c469724d4ffe238d307407c3ddb46f2e1abfa

Change-Id: Ibca2473b14ef258f92e71524489298e2f53ed873
2020-05-29 14:32:12 -07:00
Reedy 0267700d05 Fix function case mismatch
Change-Id: I0a3868e5fdc511b523c3839866d1c0b173670cea
2020-05-29 15:16:45 +00:00
jdlrobson 9118f25a5e Minerva should source mobile license without indirection
Rather than rely on something being set on MinervaTemplate go
straight to the source of the license message

This change will allow us to deprecate usage of
SkinTemplateOutputPageBeforeExec inside MobileFrontend

Bug: T60137
Depends-On: Id83ef2f2cba1dce940f89125b5cd26a29421ee48
Change-Id: I5317cd707418350847085d406c3749f19106d6ba
2020-05-27 22:09:58 +00:00
Reedy 2d7150125c Fix PSR12.Properties.ConstantVisibility.NotFound
Bug: T253169
Change-Id: I35b646522df6f0ec14ca8fee718937cc8cf44ce9
2020-05-19 22:59:27 +00:00
Bartosz Dziewoński a1e75213da Fix posting talk page replies on pages with subsections
The MobileFrontend section numbers that were used here only count
top-level sections, but this value was passed to code in
MobileFrontend's TalkSectionOverlay#onSaveClick, which uses an API
expecting the standard MediaWiki section numbers.

Extract the section number from the section edit link, like we do
in mobile.init/editor.js in MobileFrontend.

Also, disable the special talk page view unless we're viewing the
latest revision of the page. That could also lead to posting in the
wrong section, as sections are often added and removed, which changes
the numbers.

Bug: T252828
Change-Id: I553a508658804dd8672f2268b7118f77458a9dba
2020-05-14 22:57:00 +02:00
Volker E c9461c9dd8 Replace skins.minerva.mainMenu.advanced.icons with OOUI icons
Additional changes:
* Address a fixme relating to the overflow icon and move some AMC styles
out of the critical path for non-AMC pages

Note about ellipsis:
The class mf-mw-ui-icon-rotate-clockwise cannot be used as it's part of
MobileFrontend and loaded via JS. Minerva must work without MobileFrontend
and this rotation is needed without JS.

Bug: T244444
Change-Id: Ifd02c50305cf036dd6df640d778678668507e5eb
2020-05-01 12:18:35 -07:00
Reedy 01f824f684 Fix namespace of SkinUserPageHelper
Allows autoloading of file

Change-Id: Ife276b5802e3cdcfd5789a7a91684317c81d5bb3
2020-05-01 02:29:54 +01:00
jenkins-bot 0aa5b43469 Merge "Rename $glyphPrefix to $iconPrefix to better reflect variable value" 2020-04-30 17:08:31 +00:00
jenkins-bot 272e0baa54 Merge "Remove "last-modified-bar__text" as a JS selector" 2020-04-30 15:28:12 +00:00
Jan Drewniak 5144e73313 Remove "last-modified-bar__text" as a JS selector
When enchancing the watchlist items with the "time ago"
feature, the "last-modified-bar__text" class is added
to the element, which could have unexpected consequences.

That class is removed from the watchlist and instead
of using it as a JS selector, the `modified-enhancement`
class is used for both the watchlist and last-modified
bar.

Change-Id: I4a157adf51b9ed45bcba977f4f6622c7991471ba
2020-04-30 16:17:23 +02:00
Volker E b35fdfe9eb Rename $glyphPrefix to $iconPrefix to better reflect variable value
Aligning with other `$icon*` variables throughout MinervaNeue.

Change-Id: I18cbd06bdd44d127093655577ba4daeb69dbe8ec
2020-04-29 15:14:59 -07:00
Volker E 96132669fd [docs] Remove whitespace in 'WikimediaUI'
Change-Id: I24169651cb60c68ea1bc0d5c70ee6f44841382ab
2020-04-29 14:50:51 -07:00
jdlrobson fa6255dfd0 Use standard getJsConfigVars method
Depends-On:  I1e2927a5ced077c8764ff7872ca033f487ae7cc7
Change-Id: Ia5aae659d9882bef7a273c709789437719303a35
2020-04-28 19:06:51 +00:00
AronDemian f271350c91 Add .mw-footer CSS class to footer
Bug: T248137
Change-Id: I8a5af18e4aca663a7a9e9261fb360f7cd45f7283
2020-04-24 02:25:40 +00:00
Reedy 101a1430da Remove MediaWiki\Minerva\MenuBuilder
Move one more class to AutoloadNamespaces

Change-Id: Ib434c512bb4d85047ad7cd5f756c69802462bb48
2020-04-18 20:03:13 +01:00
Reedy d12308e38d Move some more classes to AutoloadNamespaces
Bug: T187154
Change-Id: Ia78f963a08cec1490aaff462b9787f7a826bf62c
2020-04-18 16:09:42 +00:00
jdlrobson e223d00e8f Update the icon glyph
In Ia3bafc74a85293c2414c0ef4ccf3bb20c75135d1 this icon was renamed
but this reference was not updated.
The module will soon be removed in I181d41f60481efa904d5e951cf08480bbae82015

This will not fixed cached HTML. The damage is already done, so we'll
have to live with this bug on old cached HTML for up to 7 days.

Bug: T249864
Change-Id: I20b838ed5ab478ae60b2cbf6abf5df448d8f4e59
2020-04-10 10:40:05 -07:00
jdlrobson 276ae636fe Use standardized icon classes and fix some missing icons
The icon pack wikimedia.ui was strangely using a non-standard
icon class using empty strings as a way to disable the default behaviour
of setIcon. Instead of fighting APIs - use the methods available.

The icon pack is also renamed to reflect what it's actually used for -
providing icons for overflow menus and it is no longer loaded as a dependency
by skins.minerva.scripts

Fixes issues with:
* History icon with AMC disabled and user is logged in
* Table of contents icon
* Language icon when it appears in overflow menu on user pages
when logged in where AMC is disabled
* listBullet appears in 2 modules as it is used in 2 places - the AMC
overflow menu (log icon on user overflow menu) and for table of contents
(JS only)

Bug: T232383
Change-Id: I05220ffa56195be6a594e3a8a57ae16858088444
2020-04-02 01:37:33 +00:00
Volker E 98d3225fc8 Rename several icons to WikimediaUI naming
Renaming to WikimediaUI standard naming and adding to module
skins.minerva.icons.wikimedia which is loaded via addModuleStyles
 'edit' → 'editLock'
 'edit-enabled' → 'edit'
 'toc' → 'listBullet' (already included in wikimedia.ui module)
 'mainmenu' → 'menu'
 'language-switcher' → 'language'
 'clock' → 'history'

Icon `page-actions-overflow` which is only needed on AMC is moved out of the stable icon
pack and added to skins.minerva.mainMenu.advanced.icons temporarily which is loaded on AMC pages only:
 'page-actions-overflow'

Additional changes:
* Renaming 'clockIconClass' to 'historyIconClass' to stay on name.
* Module `skins.minerva.icons.images` is deprecated and shipped for old
HTML markup. It will be removed in 2 weeks.

Bug: T232383
Change-Id: Ia3bafc74a85293c2414c0ef4ccf3bb20c75135d1
2020-03-31 11:48:57 -07:00
jdlrobson 1f94dbb094 Simplify hamburger button logic
It was a bit of a maze trying to work out how we generate our
hamburger button. Much of this abstraction seems unnecessary when
we can rely on template partials and data instead.

Change-Id: I791640fea29f87334dcc36baf92ea9e300d8a07c
2020-03-30 20:19:00 +00:00
Volker E 0f5f376b64 Remove unused 'talk' icon
Bug: T244444
Change-Id: I42f60785c4693da7542a61e0ad415850175cb0f5
2020-03-27 18:06:37 -07:00
Bartosz Dziewoński bc41bf5326 SkinMinerva: Fix link target for transcluded pages in doEditSectionLink()
Bug: T198011
Change-Id: I62caa73d9b337be8f987f077eced0b2e6ca4fa5f
2020-03-20 23:01:28 +01:00
Derick A 2afd3b5de2 menu: Remove local var $url whose usage was removed in the past
Poked around the revision history a bit and found that the usage
of this variable as removed in f5bef2e but its definition was not.

Added return type hint for the `prepareToggle()` method too.

Change-Id: I9950f4c81bb914bf2c2d3c13c60d3f0a040a0ae1
2020-03-20 07:02:38 +00:00
jenkins-bot 96c971ca77 Merge "Remove usage of deprecated Revision::newFromTitle" 2020-03-11 16:04:51 +00:00
James D. Forrester 0892d190b6 Drop support for $wgMinervaCustomLogos being set
Bug: T232140
Change-Id: I56dc8ac8d394ad7561ea09e67da6c51db2bc90f9
2020-03-10 20:40:32 +00:00
Petr Pchelko d9db54120d Remove usage of deprecated Revision::newFromTitle
Bug: T246284
Change-Id: Icd1d7ae5324ab83d0ec2f5ffd6e1f846fab3ca60
2020-03-03 18:53:53 -08:00
Petr Pchelko 583ac2305d Remove usage of deprecated Revision::getTimestampFromId
Bug: T246284
Change-Id: I852af2f19cbd1df0f9137e0f75ed7a272a54a169
2020-03-03 18:19:44 -08:00
James D. Forrester e56349f7a7 Hard-deprecate $wgMinervaCustomLogos being set
Bug: T232140
Depends-On: I2463fecfafbb4c08d80f624adf4cd47a6fb4e660
Change-Id: Ibb70f97c889edf8ffc21737e87949b0294044f9c
2020-02-27 22:04:09 +00:00
James D. Forrester 278c18057e Follow-up 51a34809: Don't hard-deprecate something still set in config, you'll break prod
Bug: T232140
Change-Id: Icd5b045c3ebc3234fa0e3bcaffb2172209fa0408
2020-02-20 15:20:29 -08:00
jenkins-bot e838fcec22 Merge "Deprecate wgMinervaCustomLogos in favor of $wgLogos" 2020-02-20 00:29:22 +00:00
jdlrobson 51a348097d Deprecate wgMinervaCustomLogos in favor of $wgLogos
Testing:
```
// Start with no Minerva config and no wgLogos defined in LocalSettings.php

// Set $wgMinervaCustomLogos
// Should trigger deprecation warning.
$wgMinervaCustomLogos = [
	'copyright' => 'https://en.m.wikipedia.org/static/images/mobile/copyright/wikipedia-wordmark-fr.svg',
	'copyright-height' => 40,
	'copyright-width' => 120,
];

// Set wgLogos without wordmark
// Should trigger deprecation warning as $wgMinervaCustomLogos is still
// defined.
$wgLogos = [
	'1x' => 'https://en.wikipedia.beta.wmflabs.org/static/images/project-logos/enwiki.png'
];


// Set wgLogos['wordmark']
// No deprecation warning. $wgMinervaCustomLogos will now be ignored
// in favor of the new wordmark key.
$wgLogos = [
	'1x' => 'https://en.wikipedia.beta.wmflabs.org/static/images/project-logos/enwiki.png',
	'wordmark' => [
		'src' => 'https://en.m.wikipedia.org/static/images/mobile/copyright/wikipedia-wordmark-fr.svg',
		'height' => 40,
		'width' => 120,
	],
];

// You can now safely drop $wgMinervaCustomLogos.

```
Depends-On: I66a971631c623cc94b58eb0e5e5bad804789bf1c
Bug: T232140
Change-Id: I013bd0904fe8c55efa49d14e84cf06ec1412896f
2020-02-19 23:59:28 +00:00
jenkins-bot dc688ad85f Merge "Check title value before proceeding to check if user page" 2020-02-18 21:31:25 +00:00
jdlrobson 7f47dff5e5 Use icons in skins.minerva.mainMenu.icons from OOUI
For all mainMenu icons pull from OOUI icon packs.

We make the necessary changes to Definitions.php, ToolbarBuilder
and LogoutMenuEntry to ensure to update icon glyph names.

There are caching implications for icons that show to anonymous users -
these have been fixed for grade A browsers running JS by appending the
new class to impacted elements.

Grade C browsers being served cached HTML will not benefit from this
emporary fix as available solutions are costly.
As a result these users will not see icons until the cache
expires (maximum of 4 weeks but likely 1 week) or is flushed via
action=purge.

This is acceptable given the amount of impacted users and the fact that
icons are not essential for using the main menu.

Note: The communityportal.svg icon while in the resources folder was
not referenced anywhere in the codebase so its removal is safe.
Please note the same icon in skins.minerva.mainMenu.advanced.icons which
is used for the community portal menu item.

Bug: T244444
Change-Id: I0f929f2f3b11362e02f0d02f57b90b34b5c93d24
2020-02-17 20:36:28 +00:00
jdlrobson d48ce1e729 Check title value before proceeding to check if user page
Bug: T245162
Change-Id: I7b826fb0e07a58947f381893604f308903c30304
2020-02-17 20:25:59 +00:00
jdlrobson a3179d8fff Use user sandbox icon from OOUI
It's called 'markup'. Since this icon only ever shows to logged in
users there are no caching implications.

Bug: T244444
Change-Id: I75f5365ccb5a41f1c0628532e81b5ec63804a2a8
2020-02-07 03:39:08 +00:00
Phuedx 6e4c6c99bc Revert "Reduce 'userContributions' icon code"
This reverts commit 7b4b65a30f, which
caused a regression in the user menu part of Advanced Mobile
Contributions mode.

Bug: T244436
Change-Id: Ifce627dac35b2cd05e1c5ebe658534b6b8d0de88
2020-02-06 11:05:26 -08:00
jenkins-bot 7131fa054c Merge "Fix double escaping of menu item messages" 2020-02-05 06:53:58 +00:00
jenkins-bot b216b8187f Merge "Dev: Address some FIXMEs" 2020-02-05 00:24:25 +00:00
Ammar Abdulhamid 3c77f935cd Fix double escaping of menu item messages
Bug: T244119
Change-Id: If87944c385af42323a404f95f9759fdfc9e039e4
2020-02-04 06:16:46 +01:00
jenkins-bot 070539c012 Merge "Reduce 'userContributions' icon code" 2020-02-04 03:03:11 +00:00