Commit graph

2246 commits

Author SHA1 Message Date
Kunal Mehta 56c4b95087 Clean up and refactor formatting system
The workflow to format a notification is
* Get EchoEvent, User, and Language
* Get EchoEventFormatter implementation for notification type
** EchoEventFormatter returns structured data about each part of the
notification (header, body, primary link, secondary link(s))
* Each output type will have a formatter class (e.g.
EchoSpecialNotificationsFormatter, EchoPlainTextEmailFormatter) which
takes a EchoEventPresentationModel and generates whatever it wants
(HTML, plain-text email, etc).

Included is an example conversion of the user-rights and mention
formatters. The previous infrastructure will remain in place for
backwards compatability until other extensions can be updated.

Bug: T107823
Change-Id: I4397872a7ec062148dfcb066ddd8ab83f40486ac
2015-10-19 10:00:23 -07:00
Translation updater bot 7a7f0495ff Localisation updates from https://translatewiki.net.
Change-Id: Icd7f653507a8b52d044ff101a1cabffd1cc82dfa
2015-10-18 21:54:33 +02:00
Kunal Mehta 8cfb10766b SECURITY: Handle suppressed usernames in non-revision based events
We only track revisions for some notification types, others still
reference usernames, but don't check for suppression status. If no
revision is available, use User::isHidden() to check whether
EchoEvent::getAgent() has been hidden.

Bug: T110553
Change-Id: I31e635e365bbb0f6c6ac63be2bdb07e5e2d67c96
2015-10-16 14:56:43 -07:00
Translation updater bot 28348f2f9c Localisation updates from https://translatewiki.net.
Change-Id: I7d131c25b9fcb1aa6665aeed9e58565ab6b33e94
2015-10-15 21:31:33 +02:00
Translation updater bot 2667e50538 Localisation updates from https://translatewiki.net.
Change-Id: I72d88c3955e9e55e95d4a02ba3df728f4220df24
2015-10-15 09:41:27 +02:00
Translation updater bot 164dd2a886 Localisation updates from https://translatewiki.net.
Change-Id: I37689ce4a5b10397e777847ae983bd6eae5f6c5f
2015-10-14 21:51:55 +02:00
Translation updater bot 1000402461 Localisation updates from https://translatewiki.net.
Change-Id: Ibefb3d256666cc778eaca6394f9ea909efa077e3
2015-10-13 22:10:28 +02:00
jenkins-bot 14a5bc371d Merge "Add browser test for notifications in Echo" 2015-10-13 17:29:02 +00:00
Paladox 3dbe5bb0ec Add composer.json
This add php parallel lint test. Can be triggered using the entry
point:

 composer test

That ease Jenkins integration and let developers add more testing
utilities as needed.

Change-Id: I2bf0dbea9f559267001eb727c7ecfeb103717464
2015-10-13 09:48:03 +00:00
jenkins-bot 49ec566a10 Merge "Support UserMerge into anonymous user" 2015-10-12 20:26:44 +00:00
Translation updater bot 66605c8696 Localisation updates from https://translatewiki.net.
Change-Id: I4f03b22a4074893c260dc2766860ddc14852223b
2015-10-12 21:04:03 +02:00
Edward Chernenko 5189fc0ff2 Support UserMerge into anonymous user
When UserMerge is used to merge an account into anonymous user,
we shouldn't attempt to operate on MWEchoNotifUser for $newUser,
as it would cause an exception.

Change-Id: I726e6115d2c30e1579dae55e57cc800aa61d9d7c
2015-10-12 18:34:01 +03:00
Translation updater bot 49a2a325e8 Localisation updates from https://translatewiki.net.
Change-Id: Ifa9acd68330ca07d40ed19bbacdb000a33515237
2015-10-11 21:22:39 +02:00
Kunal Mehta f0b5b64328 build: Updating development dependencies
* grunt-banana-checker: 0.2.2 → 0.4.0

Change-Id: I7e0eed45794f9188e8d537c60ac8fa04af6bf1f0
2015-10-11 11:43:43 -04:00
Translation updater bot 5b0e23b39e Localisation updates from https://translatewiki.net.
Change-Id: I8d29f328fc9bdb18ede71f090be61573a6bc6e27
2015-10-10 22:42:06 +02:00
jenkins-bot 8feb8212ce Merge "Override footer buttons hover color in Modern" 2015-10-09 06:29:22 +00:00
Moriel Schottlender 9f1bedda1c Override footer buttons hover color in Modern
In Modern, the hover color for links in the #p-personal bar is
white, which is unhelpful for the buttons in the popup. Override
that style for hover.

Bug: T114080
Change-Id: I8b739f2a46c3eb3ce9f61e92b5025751047a451d
2015-10-08 16:28:30 -07:00
Roan Kattouw 877e621a6a Fix various bugs in mw.echo.Logger and its callers
* Fix typo that caused logInteraction() to never do anything
* Fix incorrect context parameter passed by NotificationBadgeWidget
* Consistently use mw.Echo.Logger.static.context.* constants for the
  context parameter everywhere

Bug: T114833
Change-Id: I140e4222169ad9e78c6bf016d9765828513adcbb
2015-10-08 15:20:31 -07:00
jenkins-bot bb89634306 Merge "NotificationBadgeWidget: Fix alignment of actions buttons" 2015-10-08 21:49:24 +00:00
Ed Sanders 017ee20365 NotificationBadgeWidget: Fix alignment of actions buttons
Making padding equal on either side, and use display:block
to avoid extra space underneath.

Bug: T115052
Change-Id: Icddb755cfe8892422661712d35eda4f01441207d
2015-10-08 21:15:54 +00:00
Translation updater bot 935a935b2c Localisation updates from https://translatewiki.net.
Change-Id: I6dc070cb08bb96667cd63cc48ec7d2dd2292180e
2015-10-08 23:06:50 +02:00
Translation updater bot 010d32f6a9 Localisation updates from https://translatewiki.net.
Change-Id: I4a6806333cdcf9b3ebf0e8098909d71f7fdef41b
2015-10-07 21:59:52 +02:00
Roan Kattouw cacccc307a Follow-up f9e8c5057, 983c7a2463: fix JS error when there are no notifications
We have to account for the placeholder item, which doesn't have a
getModel method. We should ensure the real items and the placeholder
item implement a common interface so we don't need these kinds of
checks all over the place.

Bug: T114853
Change-Id: Iff6f0e85fb7737e09a34e72038b6b41681d95595
2015-10-07 08:20:35 -07:00
Roan Kattouw 983c7a2463 Follow-up f9e8c5057: fix JS error
Bug: T114833
Change-Id: I73d37a0688165125db56c1d6c088f215b19f421e
2015-10-06 18:24:14 -07:00
Moriel Schottlender f9e8c5057c Log notification impressions and clicks
This logging was taken out by accident during the split notifications
rewrite.

Bug: T114833
Change-Id: I7672c20bb12e06f3efc63763aacbe81fd0f34ece
2015-10-06 23:15:56 +00:00
Translation updater bot f8c68648f8 Localisation updates from https://translatewiki.net.
Change-Id: Ia36992b6947de6c67691b195a94ff663cd8d8dab
2015-10-06 22:01:13 +02:00
Translation updater bot 2f552b92ee Localisation updates from https://translatewiki.net.
Change-Id: I0028e5c88021d10b6c3be2b390ad134cddc30027
2015-10-05 22:14:38 +02:00
Paladox cb0b254915 Remove jshint from package.json
We use grunt-contrib-jshint for jshint.

Change-Id: I83e96471a3253a635107d351fc8f8f2f3d8c6286
2015-10-05 12:16:47 +00:00
Moriel Schottlender 8b2c6355cc Add browser test for notifications in Echo
This browser test checks that mentions go to alerts and talk page
messages go to messages popup. This also upgrades the MW-Selenium
version in Echo tests to 1.6.1.

Depends on MW-Selenium version 1.6.1 (See T114061)

Bug: T113081
Change-Id: I40a17500cdfb838420c04dc0b9268ba56515cc2c
2015-10-04 22:23:51 -07:00
Translation updater bot 2e08292733 Localisation updates from https://translatewiki.net.
Change-Id: I3ec74fded21338e39abc43789058e4fb590b0e6b
2015-10-04 22:17:57 +02:00
Siebrand Mazeland 33126b69aa Update formatting
In preparation of Code Sniffer based updates.

Change-Id: Id5d43332b44a37665d57dc24ef8c432bc65b2f6a
2015-10-03 23:28:54 -04:00
Translation updater bot 030a13a8c2 Localisation updates from https://translatewiki.net.
Change-Id: I03bd914720906ee047e567c21611b3a5e771ac55
2015-10-02 23:47:31 +02:00
Moriel Schottlender 29e7bd568d Add a comment to counting unread page notifications
Change-Id: Ic2cd5e06ddf926da9fe9c924e5f46e0e4601fde9
2015-10-01 13:35:35 -07:00
Translation updater bot b69dfbbf0a Localisation updates from https://translatewiki.net.
Change-Id: I72de4d0845579ffd0a4242b3ff024e33ffcead49
2015-10-01 21:41:00 +02:00
Roan Kattouw 545b9c170b Fix lowercasing and bolding of text in popups in Modern skin
There was CSS trying to counteract this, but it wasn't strong
enough to override Modern's styles.

Bug: T114080
Change-Id: I96d9b32353fbabc8f720ecb869904639009c894f
2015-10-01 12:04:14 -07:00
Moriel Schottlender 55e9d8e819 Remove orange bar when all talk notifications are read
Don't just remove it when all notifications are read, but when all
specifically talk notifications are read even if there are other
unread notifications in the popup.

Change-Id: I5aa65a4060d64f374b47fe91d8e53c92ded5fab2
2015-10-01 10:56:40 -07:00
jenkins-bot d27daff8cb Merge "Initialize 'mark as read' button hidden unless needed" 2015-09-30 20:31:56 +00:00
jenkins-bot a2741d9eb2 Merge "Also override Modern's :hover styles" 2015-09-30 20:27:09 +00:00
Translation updater bot efe18ba832 Merge "Localisation updates from https://translatewiki.net." 2015-09-30 20:14:19 +00:00
Translation updater bot d7cc8ef04e Localisation updates from https://translatewiki.net.
Change-Id: Id203e946a7d4489620e45f8da89322c282fba9bc
2015-09-30 22:09:29 +02:00
Moriel Schottlender f6c9e68577 Mark notifications as automatically read only after the popup loads
We've corrected this behavior for updating seenTime but not for setting
the notifications as read if the widget is configured as
'markReadWhenSeen' which produced unexpected issues with updating alerts.

This is fixed in this commit.

Change-Id: I4d2420a81d2b8409749ad1621b2d56bdd14e8c6e
2015-09-30 11:42:53 -07:00
Moriel Schottlender 287d383acf Initialize 'mark as read' button hidden unless needed
Only show the button if the notification is unread and also not
markReadWhenSeen.

Bug: T113629
Change-Id: I68c6bc43a9e5996e9c8377f36f07cfe430d6e5e6
2015-09-30 11:36:41 -07:00
Kunal Mehta bae6ac30b8 Also override Modern's :hover styles
Modern has duplicated styles for `#p-personal li a` and
`#p-personal li a:hover`, so duplicate our styles too to make sure they
fully override Modern.

Bug: T114080
Change-Id: Ib3da29532e9f0939379f3988a629bd6b7b1fabb8
2015-09-30 11:25:59 -07:00
Roan Kattouw d15615ea89 Close popup when badge is clicked
Bug: T114106
Change-Id: I9c1e9bb9826bd301bff8f80bedee011184843f72
2015-09-29 17:02:48 -07:00
Roan Kattouw 07754e8b71 NotificationBadgeWidget: Fix button icon positioning for change in OOUI
OOUI now uses absolute positioning for these icons, which breaks
the centered text model we'd like to use. Longer-term we should
use a different widget for these buttons, or perhaps a widget of
our own, but for now let's hack around that by undoing the
absolute positioning.

Change-Id: I8cc1fd69eeedde00facec80d82a21d5cc5610992
2015-09-29 16:23:10 -07:00
jenkins-bot 156dad4faf Merge "Fix Echo popup alignment in RTL" 2015-09-29 23:10:08 +00:00
Moriel Schottlender 16ddd5c7d7 Fix Echo popup alignment in RTL
Bug: T114184
Change-Id: I2b2b8c332efbcf0e646bf77f688433559da7b628
2015-09-29 16:05:31 -07:00
Moriel Schottlender 44bf7ac839 Do not reset an option that has no reset method
The placeholder method has no reset, skip it when resetting the
options.

Change-Id: I4936c5c9dde870b574b035384abcdf0b746d9b4a
2015-09-29 15:58:34 -07:00
Translation updater bot 110ac95996 Localisation updates from https://translatewiki.net.
Change-Id: I254e93e0d2d54a6e36403727ee0638e574555042
2015-09-29 22:06:30 +02:00
jenkins-bot 396ad0a86d Merge "Add target-page to edit-user-talk to dismiss notification" 2015-09-29 17:27:30 +00:00