Implements whitelists and blacklists for notification agents to assist
in filtering out unwanted notifications from bots.
Bug: 47946
Change-Id: I0d7e071067c6974fb90cf6c0ba1bd159f46bd5df
Adjusted the edit-user-talk event creation to detect and record which section
of the talk page was edited. Flyout, special page, and email messages have
been adjusted to use this section title as a URL fragment when available.
Bug: 46937
Change-Id: I161e2ffda2f2540f64de90cc621fb3b69479d0db
While writing tests i noticed that this is dead code that will never be called. It
was originally used but several commits have piled up to cause its deprecation.
Upon review of the git history it seems the general idea behind content-* turned
into the 'payload' key. the commentText formatting was moved to payload for future
use, the i18n keys have been pruned.
Change-Id: I5ef360759db53d54a834afc8b71e9c8807de0284
Instead of introducing a brand new option for this notification, we just
use the existing enotifusertalkpages
Change-Id: Ia63c9b1f4f52007004fa2860115b675aae4872fa
This patch makes Echo talk page notification mimic the existing Orange Bar and Email talk page notification
for minor edit.
For the Orange Bar, minor edit notification is sent if the editor does not have nominornewtalk
permission.
There are additional rules for the email, minor edit notification is sent if global $wgEnotifMinorEdit
is true and notification recipient has enotifminoredits option on.
Change-Id: Ib3835c4dd57a3686b227c44710a14ab06cded166
Previously Echo prevented all user_newtalk data from being generated
for logged in users. This broke the hasmsg API and also prevented
anyone from being able to implement client-side growlers or alerts
based on this data. The new approach is more conservative - it allows
updates to the user_newtalk table, but prevents the alert itself
(orange bar of doom) from being displayed to logged in users. This
will provide more flexibility for future development regarding talk
page alerts (both for extensions and gadgets).
Note: This change is dependant on the new core change I2105bdd2.
Bug: 47962
Change-Id: I3f35a56b3f1795c2b21a6e4af8fc93b5e61b7d3c
Also registering UserLoadOptions hook (oops!)
Finally, getting rid of old override system that is now obsolete.
Change-Id: Ie264981eb20f1e3d3c83721bc376d79e2f5a1430
Catches people who have opted out of old style talk page notifications and opts them out
of equivalent new ones.
Needs $wgRecentEchoInstall = true in LocalSettings.php so it can be turned off when no
longer needed.
The migration has 1 million rows to write on enwiki so will take some time
Change-Id: Ie6201df378bf8df813b3d461ea9a8521d99b1bb9
* Icon can be defined using a path or a URL
* Extensions don't need custom CSS, but add icon through BeforeCreateEchoEvent
* Sites set their notification icon in LocalSettings.php or equivalent
Bug: 46585
Change-Id: Ifc02b653d07de19229dfb2604305e32f3bd595fe
This was being used as the icon for the welcome and user rights notifications,
but is completely inappropriate for any site other than Wikipedia.
WMF will probably want something like this in their config:
if ( $site === 'wikipedia' ) {
$wgEchoNotifications['welcome']['icon'] = 'w';
$wgEchoNotifications['user-rights']['icon'] = 'w';
}
Bug: 47650
Change-Id: Idd41567ffcb468dd3d040d2a5a61d1e3f9f7f5fa
Default settings for existing users are intended to be low volume and not annoying
New users need more encouragement and incentive to return
Change-Id: Id37ad8289a5c968ae8be6a8c424a19d6cbc7e071
Button is only shown if there are more unread notifications than
fit in the overlay.
To avoid performance issues, this version only works for cases where
the number of unread notifications is less than the maximum count
(99 currently). Otherwise the button to mark all as read isn't
displayed (it's also limited on the server-side for good measure).
Bug: 47092
Change-Id: Ifcb0a436e2b31062741c441cca239d35ddefa0e1
If this pref is turned off, we revert to the old orange bar talk
page notifications. Depends on core change Ifc8fbaf8.
Bug: 46550
Change-Id: If21f3aac51e484c5e077c7f4b5a2218e8b71ed2a
* This patch needs intensive testing on Redis delayed job queue
* This patch is -2 mainly for redis/phpredis are not ready on test/test2/mediawiki
To test this locally, you need to:
* set up Redis and phpredis locally
* add the following to localSettings.php
$wgJobTypeConf['MWEchoNotificationEmailBundleJob'] = array(
'class' => 'JobQueueRedis',
'redisServer' => '127.0.0.1',
'redisConfig' => array( 'connectTimeout' => 1 ),
'claimTTL' => 3600,
'checkDelay' => true
);
* set $wgMainCacheType to CACHE_DB or memcache
* set $wgEchoBundleEmailInterval to smaller number for testing purpose, 0 to disable email bundling
Change-Id: I9313e7f6ed3e13478cec294b5b8408fe8e941faf
* add web bundling feature
* unify event_timestamp with notification_timestamp
* remove echo_subscription
* update article_link to page_link notification with new logic
* remove duplicated function from MWDbEchoEmailBatch since it's defined in parent class
Change-Id: I2fa91c44edb020209b468fe13f894d9db3732e69