Commit graph

5143 commits

Author SHA1 Message Date
Stephane Bisson 1ebb8e3daa Don't add CommentStoreComment as plaintext params
Follow-up Icfc8516 and I3d997f9 (migrating from deprecated Revision
to RevisionRecord)

When generating 'edit-user-talk' events, if we don't have the section-text,
we use the edit summary instead.

Revision->getComment() returns a string but RevisionRecord->getComment()
returns a CommentStoreComment. As a result of the migration, an instance
of CommentStoreComment was put into the event 'extra_data' and later
added as a plain text params during notification presentation.

This patch proposes to
1) Make sure to add the comment's TEXT to the event
2) Test that the 'section-text' is a string before using it
   as a message parameter. This will cause faulty notifications to
   render without a body instead of erroring out. We could write a
   maintenance script to fix those notifications but I don't
   think it's worth it.

Bug: T223741
Change-Id: Ie3a1c59a43b0981ec42fc77e7ebb0e8bd132dbe2
2019-05-21 11:44:54 -04:00
Hashar e3ae1a62d0 Revert "Make phan ignore JsonSerializable redefinition"
This reverts commit 13956265c1.

The Wikimedia CI jobs running phan were installing mediawiki development
dependencies which might overlap with the dependencies from the
extension. Ultimately phan failed with:

includes/RemoteSchema.php:9
PhanRedefinedInheritedInterface
\RemoteSchema inherits abstract Interface \JsonSerializable declared at
internal:0 which is also declared at
../../vendor/jakub-onderka/php-parallel-lint/src/JsonSerializable.php:4.
This may lead to confusing errors.

If7171a6d46473b0bb05e3adaeb40229e7881c2b6 adjusts the CI configuration
to no more install MediaWiki core development dependencies and solely
relies on mediawiki/vendor.git. That prevents the duplicate interface
definition.

Bug: T223397
Depends-On: If7171a6d46473b0bb05e3adaeb40229e7881c2b6
Change-Id: I794fbffe59104f138802bc6ded1a9d9a58ba9437
2019-05-21 10:34:28 +02:00
Translation updater bot 34612122e3 Localisation updates from https://translatewiki.net.
Change-Id: I5e4f32645d00315edc54f77436dfadda76dccdef
2019-05-20 22:29:26 +02:00
James D. Forrester 980e67d338 build: Upgrade mediawiki/mediawiki-phan-config from 0.5.0 to 0.6.0 and make pass
Change-Id: Ifc83427ccdcfc34d33a667ffde5e0cec98a0a609
2019-05-19 13:33:12 +02:00
Roan Kattouw b31119ea19 Remove unused method EchoEvent::isDismissable()
Change-Id: Ibea0c85cf9dd13cc2b6f22d27e8e3e0b927256c0
2019-05-18 17:37:54 +02:00
Translation updater bot c7691f85c4 Localisation updates from https://translatewiki.net.
Change-Id: I5666ec7f159082327bf6758ea2fb31212d79ab6c
2019-05-16 09:09:59 +02:00
Translation updater bot f04ba06819 Localisation updates from https://translatewiki.net.
Change-Id: I2d5526d3f38c071efa3b6f00e6f62638a5c782dd
2019-05-15 09:12:49 +02:00
Paladox e446f8aad0 Fix removeInvalidNotification script
Change-Id: I16c26e259841ff2c69b24afa3427bf74f6d17fb2
2019-05-14 16:49:05 +00:00
Translation updater bot f0a3a6e131 Localisation updates from https://translatewiki.net.
Change-Id: If4b64730368f140f79795fab49e9fd0e9b6bb409
2019-05-13 23:21:51 +02:00
James D. Forrester b45ba9cda9 build: Upgrade wdio-mediawiki from 0.1.7 to 0.3.0
Bug: T223150
Change-Id: Ie29be986c2a50004802658b26f312ea5db08583f
2019-05-13 19:09:14 +01:00
Translation updater bot afcc70bc7c Localisation updates from https://translatewiki.net.
Change-Id: I7dbbf1516631677e664307a44875ace155e8c5b9
2019-05-12 22:33:27 +02:00
Translation updater bot 52ee21983a Localisation updates from https://translatewiki.net.
Change-Id: I314c2470d5a9fa3ea7ad500a2cdd5524e9ecec02
2019-05-10 09:19:17 +02:00
Roan Kattouw 05499e0446 Fix fatal "Object of class CommentStoreComment could not be converted to string"
Bug: T221163
Follows-Up: Icfc85167a636bef95daab236ab80113c1a3cf41b
Change-Id: I92811ae9e383f431ef939b004c7d10126e051bbf
2019-05-09 21:35:03 +00:00
jenkins-bot 74f7784cdf Merge "Migrate DiscussionParser::getEditExcerpt() to accept only RevisionRecord" 2019-05-09 21:24:10 +00:00
jenkins-bot c5ed6315cc Merge "Remove usage of deprecated Revision class in Echo" 2019-05-09 20:56:17 +00:00
Derick Alangi 76544df40a Migrate DiscussionParser::getEditExcerpt() to accept only RevisionRecord
Follow up on Icfc85167a636bef95daab2.

Bug: T221163
Depends-On: I31d819f4453032da8deb117254b954fba058e0a3
Change-Id: I3d997f9e8d4bd1566ec6fd8fe2d33be5161458b3
2019-05-09 20:36:05 +00:00
jenkins-bot 703aac8e75 Merge "Test that checks for welcome notification" 2019-05-09 17:41:57 +00:00
Thiemo Kreuz be5919f623 Make use of the PHP 7 ?? operator where it makes sense
To my knowledge in all the places I'm touching in this patch the new
code is functionally identical to the old one.

Change-Id: I0ffa96d2f9cb9bf932f68b689244051c96c17ad9
2019-05-09 15:57:16 +00:00
Derick Alangi 8e5aa13a73 Remove usage of deprecated Revision class in Echo
Class Revision is deprecated and in this patch, replaces
usage with appropriate classes; RevisionRecord, RevisionStore,
etc.

Bug: T221163
Change-Id: Icfc85167a636bef95daab236ab80113c1a3cf41b
2019-05-08 19:50:58 +01:00
Stephane Bisson f5f59a503b Use wikiId both server and client side
When creating the various notification sources,
the server was indexing them with wfWikiID() but
the client was using wgDBname to find which one
is local and which are remote. On some wikis,
like TWN, wfWikiID() includes a db suffix so
the JS app on Special:Notifications is failing to
find the local source and errors.

Bug: T167336
Change-Id: Id60f723b615fb7db54a6f17b1c1be20dfe98e36c
2019-05-08 09:03:28 -04:00
jenkins-bot 77126f0c47 Merge "build: Upgrade eslint-config-wikimedia 0.12.0, drop grunt-jsonlint" 2019-05-07 22:32:45 +00:00
Derick Alangi c4890ca86f Remove usage of deprecated database access code from Echo
Bug: T221164
Change-Id: Ib7cfe384f4104dbaeed5ba6659e81555eb810f97
2019-05-07 20:46:07 +00:00
James D. Forrester 94658a80c2 build: Upgrade eslint-config-wikimedia 0.12.0, drop grunt-jsonlint
Bug: T220036
Change-Id: Iedc0e92345eeaa7400c87a2d29f67bff5ba38f4a
2019-05-07 20:44:20 +00:00
Stephane Bisson 13956265c1 Make phan ignore JsonSerializable redefinition
Change-Id: I1cffc88a3f4ea4290892c0624a6f32e852cde1dd
2019-05-07 16:21:22 -04:00
Translation updater bot ad0e6844fb Localisation updates from https://translatewiki.net.
Change-Id: I985046fb1218a8628cfaf372620aa2e887bb8f4d
2019-05-06 09:03:55 +02:00
jenkins-bot b8aaf37e4a Merge "Proactively delete echo_event rows when they become orphaned" 2019-05-02 19:45:49 +00:00
Roan Kattouw 0e4f4ffad9 Proactively delete echo_event rows when they become orphaned
When deleting echo_notification or echo_email_batch rows, also delete
the corresponding echo_event rows if no other echo_notification rows
or echo_email_batch rows refer to them.

Bug: T221262
Change-Id: I416ff107bd000a0cfac102408c993f8bec2d0286
2019-05-01 11:23:27 -07:00
ephemeralwaves 917d003397 Test that checks for welcome notification
Added a test that creates a new user and checks that they have a welcome message when notices is clicked.

Bug: T217051
Change-Id: Ia5808ebcedcd91f740cce646f4aa0576ef6d378f
2019-04-30 21:00:53 -04:00
Translation updater bot db26113215 Localisation updates from https://translatewiki.net.
Change-Id: Iee65c0f96c207d4f7688ea34a59e6cba77d97f08
2019-04-30 22:18:02 +02:00
Translation updater bot f11a60a37c Localisation updates from https://translatewiki.net.
Change-Id: I2a591b168b43163f4e867f2ed8922fdc7a2611fa
2019-04-29 22:15:44 +02:00
jenkins-bot 6b8b45cbb6 Merge "Remove per-type notify-type-availability (make it category-only)" 2019-04-27 13:28:18 +00:00
Roan Kattouw 95172c2c7e Remove per-type notify-type-availability (make it category-only)
Bug: T221264
Depends-On: I74f660e88d18d5a27cc1e74f39316bb27aec1cbb
Change-Id: I12cc0312dbfd9a6923b64117e001841a7bfaaf17
2019-04-26 17:36:10 -07:00
Translation updater bot f36a09b940 Localisation updates from https://translatewiki.net.
Change-Id: I2d6a77df335d28e3abe3b3067d537155a93fe731
2019-04-26 22:27:31 +02:00
jenkins-bot 7ec0ac07eb Merge "removeOrphanedEvents.php: Also remove echo_target_page rows" 2019-04-25 20:30:23 +00:00
Translation updater bot be8429b14c Localisation updates from https://translatewiki.net.
Change-Id: I387f0547eff7fe559e801794829f919e5fd91f8f
2019-04-24 22:20:52 +02:00
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