Commit graph

7058 commits

Author SHA1 Message Date
Roan Kattouw c8f757a278 Split system category into system and system-noemail
This will allow us to remove notify-type-availability for individual
types, and manage all of it on a per-category basis instead.

Bug: T221264
Change-Id: I78ed6782be8b819cf25cceabb4ea794b15eacafd
2019-04-24 14:08:59 -04:00
Stephane Bisson d5c5480df2 Make thank-you-edit notifications configurable
Add a preference in the notifications section to allow
disabling the 'thank-you-edit' notifications completely.

This is useful to editors active on several wikis. They can
disable it in global preferences and stop seeing them globally.

Bug: T169924
Change-Id: If6716bb98ed2309813536a5834e03833fb537dcf
2019-04-24 08:55:46 -04:00
Translation updater bot ee9d4e7738 Localisation updates from https://translatewiki.net.
Change-Id: Ic782c6fa1732aa44821b73a911451300bebfaa4e
2019-04-23 22:45:12 +02:00
Roan Kattouw 325708e536 removeOrphanedEvents.php: Also remove echo_target_page rows
Remove echo_target_page rows associated with the echo_event rows we're
deleting, and also add a separate pass that removes any remaining
orphaned echo_target_page rows (this can happen if the script was run on
the wiki before this logic was added).

Bug: T221261
Change-Id: Ic3b590fb3ac3de4c2e38877d26944367b177235a
2019-04-22 16:01:02 -07:00
Translation updater bot cb03a805c2 Localisation updates from https://translatewiki.net.
Change-Id: Id9ec226049e43d116d4d68b25824cb94106dc6f8
2019-04-22 09:23:16 +02:00
jenkins-bot 8ff164fe87 Merge "Unbreak TalkPageFunctionalTest" 2019-04-19 23:25:07 +00:00
jenkins-bot 0174b81a3a Merge "Remove all traces of cross-wiki beta feature" 2019-04-19 23:25:04 +00:00
Stephane Bisson 3a7e655229 Unbreak TalkPageFunctionalTest
* Clear echo_event before the test. Otherwise it contains
  a 'thank-you-edit' event that offsets everything.
* Use standard $this->db
* Use standard ~~~~ signature

Bug: T67336
Change-Id: Idd09aa107d01038d03b689d9086f65a9fb7b653a
2019-04-19 14:17:01 -04:00
Stephane Bisson 2fb8db3bca Remove all traces of cross-wiki beta feature
Bug: T221260
Change-Id: I447b5220220fdad68a55629ba5a532db720ca8da
2019-04-17 22:18:13 -07:00
Stephane Bisson 1017054b88 Cleanup transition flags
$wgEchoSectionTransition was introduced when we moved some notification
types between sections (alert, message).

$wgEchoBundleTransition was introduced when we made bundles dynamic
and expandable.

Both flags have been OFF for years and are not needed anymore.
This patch removes all traces of them.

Bug: T140710
Change-Id: I16a5d54b09e71997f80208db6f4fbdb040d03ab1
2019-04-17 22:07:14 -07:00
Translation updater bot 5796d46565 Localisation updates from https://translatewiki.net.
Change-Id: Idb6683661b7b1afb4c5176457d16f64a40633152
2019-04-17 22:12:59 +02:00
jenkins-bot 074ce90263 Merge "NotificationJob: make sure we retry to load the event from master" 2019-04-17 18:54:47 +00:00
Derick Alangi 7e5e63b1d5 Remove usage of deprecated cache code from Echo
Bug: T221165
Change-Id: Ib7512395b1cc4fd5e13a8d13bd966b1088f34374
2019-04-17 15:22:37 +01:00
jenkins-bot 9208a5b02e Merge "Revert "Email: embed icons as data uri"" 2019-04-17 01:13:02 +00:00
Sbisson a1aeebc5a6 Revert "Email: embed icons as data uri"
This reverts commit 7121b9c491.

Reason for revert: Data URIs don't work in gmail

Change-Id: I8f9a6a19ba32f1e078d61d1692a102912f5039a7
2019-04-17 00:30:17 +00:00
jenkins-bot 1454df1ebe Merge "Add maintenance script to recompute notification counts" 2019-04-17 00:24:41 +00:00
jenkins-bot f6b5da5c4c Merge "AttributeManager: Check notify type availability before notifying" 2019-04-17 00:22:18 +00:00
Stephane Bisson f361425a34 NotificationJob: make sure we retry to load the event from master
EventMapper->fetchById() has retry on master built-in but it doesn't
kick in in a Job because the load balancer is a new instance and doesn't
know about previous writes.

This change makes the job always read from master to make
sure the event is found. It is going to write to master
right after anyway.

Bug: T204894
Change-Id: I9a2873234f1dd5416e6c2bedeb904880d1f79562
2019-04-16 17:06:48 -07:00
Translation updater bot 2256c03253 Localisation updates from https://translatewiki.net.
Change-Id: I6b7668351db48bba7f359a272d0c7ffe339358d7
2019-04-15 22:53:31 +02:00
jenkins-bot 84e6613163 Merge "removeOrphanedEvents.php: Don't remove events waiting to be emailed" 2019-04-15 20:28:20 +00:00
Translation updater bot f0db73b9b6 Localisation updates from https://translatewiki.net.
Change-Id: I00ef49bc9a25415d43a6be832d26a2b3b7bfade8
2019-04-14 22:29:35 +02:00
jenkins-bot e9da7a8f3b Merge "Disable notification emails for article-linked" 2019-04-13 17:43:37 +00:00
Roan Kattouw f3c9a0a255 AttributeManager: Check notify type availability before notifying
It was sort of checked in an implicit and roundabout way, in the sense
that the preferences page checks this and forces the relevant
preferences to on or off. But this was difficult to discover, and it's
not clear if this works correctly when defaults change.

Instead, explicitly check whether the requested notify type is available
for the event's category. Also rewrite the entire method to use
array_filter().

Change-Id: I9502a42fc705b2e56ef5edab433f1804f2924359
2019-04-12 18:00:04 -07:00
Roan Kattouw 754ec9ef11 Add maintenance script to recompute notification counts
Generally applicable, but intended for users affected by the
login-success phantom notifications bug.

Bug: T220762
Change-Id: Ica428bfc19e0555564ca04d80ac5009197401aaf
2019-04-12 17:48:01 -07:00
Roan Kattouw c80305c52f Disable notification emails for article-linked
This was attempted in I6f87797701, but didn't work. The reason is that
notify-type-availability can't be set on a per-notiifcation basis for
visible categories, only for hidden categories. For visible categories,
it has to be set at the category level.

Bug: T219444
Change-Id: I6b6dd1ae6be549de0f6026841966f87527dd2365
2019-04-12 16:58:18 -07:00
Roan Kattouw df068ba075 removeOrphanedEvents.php: Don't remove events waiting to be emailed
echo_notification isn't the only table that refers to echo_event;
echo_email_batch does too, so check it as well.

Change-Id: I6663c8bb83a991ee663eb1616583fde8eee46751
2019-04-12 15:33:57 -07:00
Translation updater bot 47bc762290 Localisation updates from https://translatewiki.net.
Change-Id: Ic1b8aafbe257cd4926fc41176ff19c8e8b35f17b
2019-04-12 08:31:58 +02:00
Stephane Bisson 61a839315a Use echo_event.event_page_id to find events to moderate
When pages are deleted or undeleted, their associated
Echo notifications also need to be marked as deleted
or undeleted. This is done by looking up the
echo_target_page table.

With this change, echo_event.event_page_id is also included
in the search. This way, all the events that don't use
target pages are also moderated when needed.

Bug: T217452
Change-Id: I277fca68ce088ab564e76ed9dfb2134ab3be4c4a
2019-04-11 10:48:49 -04:00
Daimona Eaytoy 5580c7714a Update column names in SQLite patch file
According to the current schema.

Change-Id: Ie044a4217db7ef52c6e3a2cec001f6b44b198bd7
2019-04-11 13:27:16 +02:00
jenkins-bot 9c3b122b83 Merge "Do not fail on unknown revids in mention-summary events" 2019-04-11 11:12:51 +00:00
jenkins-bot 0a9811b3d0 Merge "Do not recreate echo_event.event_page_namespace on sqlite update" 2019-04-11 01:07:02 +00:00
Umherirrender f7fc33e7f7 Do not recreate echo_event.event_page_namespace on sqlite update
column event_page_namespace was dropped from the database
When running the updater for sqlite on a fresh install it fails
Function: Wikimedia\Rdbms\Database::sourceFile(
/workspace/src/extensions/Echo/db_patches/patch-event_variant_nullability.sqlite.sql
)
Error: 1 no such column: event_page_namespace


Change-Id: I397e601dd9db45fc34669c43df5f9dd8d337ed95
2019-04-10 20:09:13 +02:00
Stephane Bisson 7121b9c491 Email: embed icons as data uri
When the location on disk of an icon is known,
load its content and turn it into a data uri
for the <img> tag.

Otherwise (when it's only configured with a url),
use the url in the <img> tag.

Bonus: the rasterized icons were a bit blurry
and they are now crisp.

Bug: T55479
Change-Id: I8b5d7f09d8181f22927b8d4712505212ea1a10b1
2019-04-10 13:33:50 -04:00
jenkins-bot 3dbfbfb670 Merge "Add phan" 2019-04-10 17:29:04 +00:00
Daimona Eaytoy e21e3b4a8d Add phan
Change-Id: I65ae6adc10941c05a2646e551b1baa829e4e8654
2019-04-10 18:51:59 +02:00
Translation updater bot aab3f0fff9 Localisation updates from https://translatewiki.net.
Change-Id: I76ab2d60c4b418545921f7fe54817e90e683d08e
2019-04-10 09:22:59 +02:00
jenkins-bot 7d7531c0e5 Merge "Remove unused messages" 2019-04-10 03:58:36 +00:00
Roan Kattouw f0476b7009 Remove unused messages
Also clean up references to nonexistent messages in qqq.

Change-Id: I3811da1b1420318e5bf747f26244a4bb00d68cc5
2019-04-10 03:37:18 +00:00
jenkins-bot f0cb367140 Merge "Don't use {$this->type} in message keys where not needed" 2019-04-10 03:25:23 +00:00
jenkins-bot 22c08547a6 Merge "Add visible help link for Special:Notifications" 2019-04-09 15:32:14 +00:00
Shivanshbindal9 a09db3ea59 Add visible help link for Special:Notifications
Bug: T200184
Change-Id: Iaf321f88322e8a9686be62eb9b055c6544cf0ad6
2019-04-09 10:27:40 -04:00
Translation updater bot 23cd921dfd Localisation updates from https://translatewiki.net.
Change-Id: I5b69a010e62e405016078f26deae7cc7a8946ba7
2019-04-09 09:03:14 +02:00
jenkins-bot 755ac3f6c6 Merge "Mock IDatabase instead of DatabaseMysqli" 2019-04-09 03:35:10 +00:00
Translation updater bot ec563110f3 Localisation updates from https://translatewiki.net.
Change-Id: I72058d77da731d31b2ba63e465e01f70692a48e0
2019-04-08 08:38:52 +02:00
Krinkle 1278c66673 Mock IDatabase instead of DatabaseMysqli
PHPUnit 4 on HHVM is unable to create a mock for a class that uses variadic
arguments in one of its methods. Details at I0e027f5ec66 in core.

To work around this, IDatabase will continue to document it the old-fashioned
way so that Phan can analyse it correctly, and also so that PHPUnit can
mock it properly.

Change-Id: I4b8f2b8a8bb54b71d8b4836c3663f1a646ece1bd
2019-04-07 23:29:03 +00:00
jenkins-bot 0053181835 Merge "Localisation updates from https://translatewiki.net." 2019-04-06 01:28:15 +00:00
Roan Kattouw 9832d2af8b Don't use {$this->type} in message keys where not needed
It makes the code less clear and makes message keys harder to grep for.

Change-Id: I0641e7cd0b8262d8b6548a06d505e19c1b5a1fb0
2019-04-05 17:33:28 -07:00
Stephane Bisson 754338fe48 Convert PresentationModelSection from trait to class
This trait was using private fields from its host classes
($this->event, $this->language). It created a weird coupling
situation where the host class uses the trait and the trait
uses the host class. Effectively a circular dependency.

Also, phan is complaining about it in
I65ae6adc10941c05a2646e551b1baa829e4e8654

Change-Id: Ib2796b7ca62ecd7ece19583d7ca83e4252a5d878
2019-04-05 16:57:48 -04:00
Translation updater bot e4598b856e Localisation updates from https://translatewiki.net.
Change-Id: I49704a0f2b80caf2973d894a9245b3b02e7315ed
2019-04-05 22:27:19 +02:00
jenkins-bot ae11ff1e45 Merge "Fix generateSampleNotifications.php" 2019-04-05 10:59:48 +00:00