Bonus: render topic titles in notifications as plain text,
rather than trying to get wikitext.
Bug: T120934
Change-Id: Ibc1da789d11b80968dfb6e1f0d02589ff07981b9
This patch will only enable the API module 'flowthank' if Flow is installed,
instead of checking whether Flow is installed when the module is invoked.
Bug: T85521
Change-Id: I0183188dd17f035f3c89e40a9cb1a21421071aca
We currently use client-side storage to keep track of what revisions and
posts have already been thanked for. This is problematic because client-
side storage is not permanent, making it easy to send duplicate thanks
if you have logged out and in, or switched computers.
This starts storing new thanks in the log_search table, which is
designed for efficient querying of metadata associated with a specific
log entry. With this, we can easily check to see if a user has already
sent thanks for a specific revision.
The UX is a bit weird right now, we only check log_search when actually
sending thanks again, in which case the user thinks they have sent
thanks again, but no duplicate thanks is actually sent.
Bug: T88820
Bug: T53303
Change-Id: Iaf8cbe0776081dc69e82883d8727ba1cfe20e3e1
MediaWiki core change I04b1a384 added support for i18n of API module
help. This takes advantage of that while still maintaining backwards
compatibility with earlier versions of MediaWiki.
Once support for MediaWiki before 1.25 is dropped, the methods marked
deprecated in this patch may be removed.
Change-Id: I67395aff48185f3e09da31b51a08aa2541fe6a17
Since we've recently introduced a topic namespace, the notification looked like:
"Username thanked you for your comment in "Topic title" on Topic:UUID"
We want the board name instead of the link to the topic page, like:
"Username thanked you for your comment in "Topic title" on Talk:Boardname"
Change-Id: If45c01be3b0a9d67572932253a0103a2480fc823
The test suite sets up various mocks for Flow classes and inserts
them into Flow\Container, so the API module retrieves the correct
mock classes instead.
Change-Id: I9c5e910e288f3dd72c66e68ca558265b8ca8ce5e