Currently `mw.util.addPortletLink` cannot properly add a portlet link to
the associated pages tabs, as there is no `p-associated-pages` id on
mobile. This change pulls the id from the page data, and adds the
necessary class for the tab to be styled correctly - since tabs do not
have corresponding icons while most portlet links do, we also branch on
this class (effectively on whether we are in the tab container) to
ensure an icon is not inserted
Finally, I added a few comments and spacing in the sections of code that
I touched to make them more readable and resolve some of the linter
warnings, but happy to hear if these are not helpful!
Bug: T340728
Change-Id: I33fc12611a6238552a3eb47f6ca37f087903a92a
The fragment in a URL like http://example.com/foo#bar#baz doesn't end
when there is another # somewhere. That # is part of the fragment.
I'm not sure since when this issue exists. It's already in the first
version of this codebase from 2017, see Iff1f7e6.
Bug: T332007
Change-Id: I3b0726380d2f385475f5ba53aeab16932d7ccaa7
This restores the previously reverted patchset
If5b76245bf60bfa9cf977cdbf37ee0d6bb65f9d9
Changes since original:
* Added Depends-On to MobileFrontend
* Uses OOUI classes for page issues rather than es6 classes - ES6
classes do not support modifications to class prior to running
super so MobileFrontend's View class is not compatible without
significant refactors.
Depends-On: I24ad75adf8519102ca356d64d99d765ab69180cc
Bug: T348807
Change-Id: I4ff82af0251254c846f2caee330af5af738f6029
This reverts commit 19ea6328b0.
Reason for revert: Breaks page issues and image overlay. I
will break this up into smaller less risky patches.
Change-Id: If5b76245bf60bfa9cf977cdbf37ee0d6bb65f9d9
When $wgReadOnly = true; in LocalSettings.php the edit icons
appear locked and when clicked should show a warning.
This also addresses deprecation warnings in the code and
tidies up the ES6 code.
Note to reviewer: Please use git diff HEAD^ -w
when reviewing this diff. Mostly whitespace changes.
Change-Id: I3fa83cc1dc4da62260fd0ef50ac14805c3e1282b
Partial revert of I192c6d4235c57f69cf48dcd67aa6c4810df62dfa
The deprecation notice seems incomplete. The two functions are not
equivalent and we have various usages elsewhere in the codebase.
Bug: T346685
Change-Id: I063daa217708c3bebac97af7be9eedab01f5217b
Most of these are captured in other bugs
The anon talk message style doesn't do anything.
Bug: T344022
Change-Id: Iba1fce98ea05931fe07b2b20f07c62d198039d1b
Fixes "[1.40] Use of PageGateway is a NOOP and deprecated. Please remove this call."
Fixes Use of "navigate" is deprecated. use navigateTo instead
Change-Id: I192c6d4235c57f69cf48dcd67aa6c4810df62dfa
- Removes 'mw-ui-icon-with-label-desktop' as that is now the default behavior for icon only buttons in Minerva
- Removes icon flushing classes, use codex mixins instead
80 Visual changes relating to minor icon/button subpixel changes in the heading, edit section links, and page actions
Bug: T319260
Change-Id: I503b643d33e43196483af4b5f9dd312237322ac8
In I1ccda3878a658d4251429ae65ebee04c09d81243, core decided
to technically allow temp. users to have watchlist access,
but have it disabled on permission level
(viewmywatchlist / editmywatchlist) instead of by isNamed() checks.
Minerva expects the watchlist permissions to be assigned to everyone,
but actual watchlist access to be available only to named user.
This is an incorrect assumption. Make a clear difference between
"page is watchable" concept (watch icon should show) and "user has
permission to watch" (if not, CTA to log in should show).
There is one additional step to fix, which is ensure
temp users receive the T330518 drawer. That is not a bug
in MinervaNeue, but in core -- mediawiki.page.watch.ajax.js uses
e.stopPropagating(), which means Minerva's CtaDrawer doesn't get
a say. Ideally, mediawiki.page.watch.ajax.js would know whether
the user has permissions to edit their watchlist. Alternatively,
it could have an interface to allow extensions to add their own
error handling. See T344925 for details.
Bug: T344870
Change-Id: Id1757fb4fb433fe39cf4d5c6e1e9c65ab5abae14
Legacy icons shouldn't have the minerva-icon class as this is meant
to be reserved for Icon template (Codex icons)
Bug: T342908
Change-Id: I63556fe42c8650bc5f0d6e5a0c5328b3f29d75f3
Use the Button.mustache partial in the
PageActionsMenu.mustache template.
This converts the page actions menu to use the Button
template in a way that doesn't change the existing HTML.
The mw-ui-icon-element and mw-ui-icon-with-label-desktop
classes are placed onto the Button.mustache markup.
Bug: T342908
Change-Id: Ib5dadd929eea2e72a24e061c4174348615890617
Changes
* Update FIXME in userMenu.less to merge selectors
* We replace minerva-user-notifications class with minerva-notifications
to short-circuit Echo's code so that it no longer replaces the Minerva
notification badge with its own.
* We update resources/skins.minerva.scripts/initMobile.js to introduce
our own wire up code - this is responsible for opening Echo overlay
and reseting the counter. The code in Echo will be removed in a follow
up (see <I2f923e509d24524a2375ffbe6b3ef336487574bb>)
* We update skinStyles/ext.echo.styles.badge.less with styles from Vector 2022
so that Minerva desktop remains consistent with desktop Vector 2022 experience.
* We clearly mark technical debt relating to the special mobile version.
Testing:
* Pixel.js has a group echo that covers all the different variants.
Make sure to update to latest main branch before running these.
* Desktop should behave the same for Minerva as Echo.
* On mobile only when a user has unseen notifications a red circle
is shown. Otherwise a bell icon is shown, never with number.
* On mobile a single button is visible that combines alert and count
numbers.
* With Echo disabled a bell shows that links to the user talk page
Visual changes:
* Previously the red circle became a transparent/gray circle on click. Now
it will always be red.
* Minor aligment changes to red circle and bell icon are expected as
the change prevents MobileFrontend/Echo updating the icon to use
Codex.
Bug: T342907
Change-Id: I55c18cf723a32f80b93a01dd0687e005162c4e93
This reverts commit 7856f79d11.
Reason for revert: This version of the instrument isn't in use. It was
enabled on the Beta Cluster but then superseded in I39adbce1f2c8.
Change-Id: I273a6f21a881f69298d6219e435639ced0fe8afe
Creates a new Icon.mustache file in favour of using
MinervaUI::iconClass.
Add a new icons.less file and the following icons:
- history
- expand (next) arrow.
These icons are used exclusively in the history
status bar at the bottom of most pages.
Bug: T319260
Change-Id: If81186418fe758d7be9c3e57cf5d2aa889517f2d
The page issue icon show on enwiki:Spain is absent.
Opportunistic bug fix while here.
Bug: T340910
Bug: T340262
Change-Id: I1eb62e462c1e83adc8daea5667c8f9052dddc54f
Previously the rule .mw-ui-icon + span:not(:empty)
provided the margin (see mediawiki ui skinStyle) - with the refactor
of the spinner this no longer works
Follow up to I186e3d22aa9c2b331a80d35514d578949a4b9e86
Bug: T340262
Change-Id: I92446d361da9a84e27f81d9ff8d5053d96ead61c
Applying central Codex design tokens in new architecture.
This replaces all existing MN `z-index` tokens and comments on
replacement choice.
Bug: T285592
Change-Id: I23d794566898946a500c10713802d8dfaad993d1
Replacing 'mediawiki.ui/variables.less' @import with
new skin-aware 'mediawiki.skin.variables.less' standard.
Removing calls for 'mediawiki.skin.variables.less' in favor for
'minerva.variables.less' for consistency.
Also
- replacing several static values with new Codex design token featuring
skin variables of `background-color`, `color`, `border-*` and
`transition` categories
- renaming several Less variables to variable naming standard
- moving a small number of MinervaNeue specific variables into
'minderva.variables.less' file. Those should be replaced in mid-future
by Codex design tokens
Please note, that this patch is not replacing all values with
possible Codex tokens. It's just applying them on selected
categories for consistency for now to keep the patch easier reviewable.
Further replacements will be done in follow-up patches.
Bump MediaWiki core required version to >= v1.41.0.
Bug: T319381
Bug: T332541
Depends-On: I98c8cc27527533e2efb3b987ee34bc403e988b75
Change-Id: I86c5a35377541a784552c29456e0b8b507b3ee9c
Previously, page load executed code that iterated through each image on the
page, attached a click listener, and "attached" a Thumbnail object to the
element.
This execution took 90ms on my low-end phone and seems like it can be replaced
with event delegation instead. This will result in less work on the main thread
during page load and a more responsive user experience.
Additionally:
* Remove redundant check of the primary mouse button. Per the "click" event spec
[1], this click event "should only be fired for the primary pointer button
(i.e. when button value is 0)."
* Move initMediaViewer, initRedLinks, initRedLinksCta into same wikipage.content callback as the TOC mutation.
[1] https://w3c.github.io/uievents/#event-type-click
Depends-On: Ica3e0448e3d687e9c4cf563542dbe44432d196d5
Bug: T241139
Change-Id: Iebb18dfb225b474402c0d8ab5e39c5e9e71d3ad7
Pass the value of autocapitalize to the SearchOverlay in MobileFrontend
Depends-On: I98ea142b2b39d699bb144eb528b12a5a4dcd0667
Bug: T251664
Change-Id: I082233fd5ac0a5d6d88794ef7cf4b1b13f43c708
The use of the injection pattern for mw.msg is inconsistent
compared to mw.mobileFrontend which leads
to confusion about how to contribute to the codebase.
Change-Id: I057a8e46d43211180f9c8b8173b64fab6936d284