The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.
Bug: T338457
Change-Id: If844970f0c8d8f09d0de2a2140b080d1292530a1
Replaced deprecated calls to User::newFromName
and User::getEditToken with their direct
replacements. Adjusted the code to make it
easier to parse visually and fixed a potentially
nullable references in getFormFields
Bug: T337002
Change-Id: I97a1266d094452ddaea43357d20bc0119b97576d
I've moved all API classes into a separate folder,
as I felt like grouping modules improves readability.
APIs themselves had storage logic which I extracted and put
in another folder. I was originally going with an interface
to the storage to allow for other storage methods than
log entries, but the code was too tightly coupled with it,
so I've left that for another day. Added dependency injection
for all services and used ServiceOptions for config vars.
Bug: T337002
Change-Id: Ie8a1f435d635e1d0e1286f673bfe96cc4fdfe4fe
On mobile mode, the thanks link is currently hidden on the history
page and the module is silently removed on mobile. Add the module
to those pages
Bug: T324723
Change-Id: I5286e80f9dd683ba55b03664dc31de77c19722b7
This is needed since d287af1af1,
where special handling for global blocks is removed.
This is because global blocks are now found via $user->getBlock(),
since I92a426745a9a4cb05beb0d546c238c2826a2b615.
This change required a hook added in 1.40, which allows extension
blocks to be reported correctly: I1c20e7e62e0f2b453735689e3dc543164b5fd067
Change-Id: I48a14cc13b10e2cb0a7f3b71cdde0f8a106b7e6b
Soft-deprecated since 1.38. Bumping MW version
requirement to 1.38, as that's when the deprecation
happened. Compatibility policy says compatibility
is only guaranteed for snapshots
(with the respective MW version).
Bug: T312579
Change-Id: I384bc2a847dbe01798c4df1b713b0ca8e84aa187
Thanks was causing history views to do 4 DB queries per row, due to the
RevisionStore::getPreviousRevision() call. The reason for doing it is
that it doesn't make sense to thank someone for a diff which includes
multiple authors. This does not apply to history pages -- even for
filtered history views, you can thank someone for a specific revision on
the basis of its edit summary.
So, distinguish between history tools and diff tools. Do the expensive
thing only for diff tools.
Bug: T284274
Change-Id: Ib631100b82958065a327dd18c927af4a78b8be15
- Add hook to enable blocking thanks
- Check if user is blocked from 'thanks' action
and disable giving thanks from API and UI if so
Bug: T242785
Change-Id: I290a7c39c6fcb22a8ab4a9ecbad76a239cb18ea0
Extension requires 1.35+, so the hooks are available
Bug: T255494
Bug: T255495
Change-Id: I334928ebd081d53a7d95466e6c4b75715b941ec4
Depends-On: Ib2ab2e26a95affdd1dfa6b945f752157580ea2d3
"Page language change" is an occasional administrative
action, for which thanking should be possible.
And thanking for an upload is same as thanking
for creating a page.
Bug: T254992
Change-Id: Id4ecc6e11968e51b166e80f30e636da902857dd7
CI already ensures that MobileFrontend is loaded alongside Thanks, so
the defensive check in the code isn't needed; ext.thanks.mobilediff is
defined statically, it's just injected into the page dynamically in the
onBeforeSpecialMobileDiffDisplay hook handler.
Bug: T232875
Change-Id: I5612a9be65f4d4adf4912645856540dbb04d2b34
The thanks icon had styling issues as it didn't use the mobile
icon and button fundamental components.
The icon should also be inside the button, the element should not
be both a button and an icon.
Bug: T229440
Change-Id: I0136466fe1452f904961b89ae7677fc1a511adab
Minerva now provides default styling for these links.
Also removing 'grunt-stylelint' package as there are no
CSS/LESS files in this extension any more.
Bug: T232102
Change-Id: I4e8b44d3159ab4a87103fa8471c7b1b145ac6016
Never loaded directly as entry point, and only used by one module
as dependency. Does not need to be its own module bundle.
Bug: T202154
Change-Id: I8bfcdc82f96fac6e3e269fcef351a822acd860bd
Only prohibit users from using Thanks if they are blocked from the
associated page. This allows partially blocked users to use thanks
most of the time.
It also allows blocked users to thank on their own talk page, if
they are allowed to edit it, even if they are sitewide blocked.
Bug: T221371
Change-Id: Ic99ec38ea200e806963951b2dd67e56ecde63752
When the thanks button is clicked a thanks will be
queued, that the user can cancel by clicking "cancel"
before the action is completed.
This should help the majority of users experiencing
accidental thanks.
Bug: T63737
Change-Id: I807f729c1b1a9e9b5952685bb18f540f81d70f47
Instead use mediawiki.ui and ResourceLoaderImageModule
Other changes:
* Add gender support to thanks-button-thanked
Depends-On: I0745e112d11026ed59d8daca990b313305cd094a
Bug: T198151
Change-Id: I82ae596330aff8387653c65a6bab5ff729641a80
See I2291c69d9df17c1a9e4ab1b7d4cbc73bc51d3ebb for the anticipated
hard-deprecation of this method in core.
Bug: T197492
Change-Id: I5d4ec96afe82910ffd18377b5f5f94405f73e9eb
This extension is useless without Echo, and the API modules already
disable themselves if it's not installed. Just absolutely require Echo
to be installed.
Change-Id: I653eea78668bfe0875bc5a33e2d45607106d4ee5
Many log entries are associated to (exactly one) revision,
and for these (only, and only where the log type is
whitelisted) we add a thank-link that behaves exactly
as the thank-link on diff and history pages.
Bug: T189752
Change-Id: I5f4e84c65d4fe2d95b20cdb3c3f9522ad3e5f422
Many log entries are associated to (exactly one) revision,
and for these (only, and only where the log type is
whitelisted) we add a thank-link that behaves exactly
as the thank-link on diff and history pages.
Bug: T186763
Change-Id: I2af380d5cb06f19ef9eb5b232d95ad87379b5d9b
Originally introduced in b84eedc74e, it was reverted for security concerns.
New changes:
* Instead of bundling the log summary with notification, load it on display
* If the log event has been suppressed after the thanks for it has been sent,
silently delete the event to prevent the confusion of linking to something
zapped.
* Keep the 'already sent' cache key compatible with old format
* Validate the log id in the API
* Change ApiCoreThank::getRevisionFromParams() to ApiCoreThank::getRevisionFromId()
Bug: T186855
Bug: T188791
Depends-On: Ic5e9db0def857d9dcecbd06bf081c8c83712c1ea
Change-Id: I03aea7d9f4dfa0fe49639c53968deabf89999d2d