* Get rid of EchoBackend by separating responsibilities into smaller objects
* Move main fetchNotification logic from API to a more appropriate place
* Add more unit testing coverage
Change-Id: I42f4d7566543332588431c21c220c0d64d026b70
While running php phpunit.php --tap --testsuite extensions
in vagrant the unit tests for the echo extension were
not added to the file list.
See also
Bug: 67148
Change-Id: Id78580b4c13bbc3428727c23f1fe3e493ec127ec
Otherwise, it explodes when trying to run tests via PHPUnit:
Error: 1146 Table 'osmiumwiki.parsertest_echo_notification' doesn't exist (localhost)
Change-Id: I8a3e0171ab022e8e2973ea8bed9aacba73a35f34
General code cleanup as reported by the PHPStorm static code
analysis. I hope it's not a problem that I made a lot of very
different (but all very tiny) changes in a single patch. If you
want to merge this but you think it's better to split it into
several patches first, please tell me.
Change-Id: I2e2c4bb47f8d20e038d28e236e2ff813b30504af
If a user is watching his/her own talk, an edit to the talk page
may trigger an echo notification and watchlist notification. We
only want to send one of them
Depends on core patch: https://gerrit.wikimedia.org/r/#/c/114682/
Bug: 53569
Change-Id: Ib1bb71e047789d3a857f028aaa45384022bb35c7
Fallback to 'emailsender' message if not set
Change-Id: Id136692b80b7582a515501672259394e8db74112
Follows-Up: Id20e4ec1cdae94fadb278146cd72d5a9b247dccf
To test the HTML email:
1. install the latest version of php-mail and php-mail-mime package, they are required
by the core sendmail function to send HTML email
2. set $wgAllowHTMLEmail = true before loading Echo in LocalSetting.php
Change-Id: Ia4b98b14e135742b84f1b0e04589b0efdd24e954
wgUserNewMsgRevisionId is null with only one revision and that revision is
not viewed, this makes it not reliable for determining if there is new
message. We just switch to check against $user->getNewtalk() instead.
We can still use wgUserNewMsgRevisionId to generate diff links if desired
Change-Id: I4cf50a944aada03151bd17f3610bd59b3bfb2bf2
Echo preference change is already captured in the general
preference change eventlogging, this is just a duplicate
Change-Id: I49cd2ad5776a670e2cd28414e156f5201087ded0
SQLite requires unique index names across the full database. A previous
patch I9b6468221ba6fe501b15c563f3301694262eec65 renamed the index in
echo.sql but forgot to apply the same change to existing databases. This
resolves that mistake.
Change-Id: Ibb629149afd9f4ca55cac613124fce42500aa8f9
Sqlite's lack of an 'ALTER TABLE CHANGE' statement has prevented echo from
supporting sqlite, and by relation has prevented Echo's unit tests from
running within the foundations jenkins CI environment. This patch detects
if the database is currently an sqlite database and applies a specially
formulated patch that performs a rename/copy/delete operation to get
the equivilient of an 'ALTER TABLE CHANGE' command. Additionally renames
one index to have a more unique echo-specific name.
Bug: 41987
Change-Id: I9b6468221ba6fe501b15c563f3301694262eec65
Provides the first step of adding and populating a new database field
for Echo oversight deployment. The new field is populated via a
maintenance script and Event::loadFromRow will accept both new and old
results. Everything will still run when the 2 now unused fields are
later dropped from the db.
Bug: 48059
Change-Id: I24d4b61a061f94ed9aaaa6087f33b2ab37f773cd
With this change we will no longer be relying on JS for the badge
functionality. This will prevent the flash of unstyled content,
and allow wikis to locally override the styling (since the unread
class is now applied immediately).
I also went ahead and made the badge styling more closely match the
talk page message alert styling per Vibha.
Also removed the old full link optional behavior since we weren't
using it, and it would have been a pain to maintain.
Bug: 48165
Bug: 48001
Change-Id: Ie85d66afd5181d487d0bb2776ae14b121ea50d88
If we add an explicit prefix (similar to what the Gadgets extension
does), we won't have to have a special handler for checkmatrix options
in Preferences::filterDataForSubmit().
Depends on core change I4049b666
Change-Id: Ic8420b896bc013840eb3a32420a49f6719f30610
Instead of introducing a brand new option for this notification, we just
use the existing enotifusertalkpages
Change-Id: Ia63c9b1f4f52007004fa2860115b675aae4872fa