Commit graph

168 commits

Author SHA1 Message Date
Matthew Flaschen cac85b635f Make plural support for large values (100 or more) explicit in l10n
This involves:

* Making this value no longer admin-configurable.
* Changing getNotificationCountForOutput to return only a single value
  Since there is no + in the formatted value anymore, we can actually
  use the same value for both.

  This is a B/C break, but hopefully worth it to simplify the method
  call.

  For now, the excess parameter is just marked unused.  It could be
  removed at some point if the translations are updated.

This must be merged at the same time as:
* Flow - Ibfa56b1af9e8c56b4c5f900e0d487bc09688b2a2
* MobileFrontend - Ibf784b279d56773a227ff261b75f2b26125bbb63 (well, MF
  can be merged first)
* translatewiki - I2a4b6938aed49e4101deb6b9351c43656a863490

Also, change 1 to One/one, per Siebrand on the task.  This can easily
be dropped/undone if we don't want it.

Also, remove reference to no-longer-existent notification-page-linked-bundle

Bug: T127288
Change-Id: Iabeaae747f99980c0610d552f6b38f89d940b890
2016-03-16 18:43:16 -04:00
jenkins-bot a767408f02 Merge "Allow mark-as-unread in notifications" 2016-03-11 22:43:58 +00:00
Moriel Schottlender 8657ef5e90 Allow mark-as-unread in notifications
Add a 'mark as unread' to all unread notifications and allow them
to be marked unread. These notifications will no longer be automatically
marked as read when the pages they refer to are visited.

Bug: T73564
Change-Id: I677d3c0399e46fd7c35531df1cc0e61db2d4eb1b
2016-03-11 14:05:10 -08:00
jenkins-bot 14c67d48df Merge "Fix duplicate impression logging" 2016-03-11 22:01:48 +00:00
jenkins-bot 4de459b6b5 Merge "Fix bundled notification width" 2016-03-10 23:50:25 +00:00
Moriel Schottlender f210528a74 Fix bundled notification width
Bug: T129469
Change-Id: Iaabeab59543d3e271ef84926fb7c7d000a2abd04
2016-03-10 15:22:14 -08:00
Roan Kattouw 7f079b7d4f Fix duplicate impression logging
We have a wrapper around logInteraction() called logNotificationImpressions()
that logs impressions uniquely (i.e. logs each notification impression only once),
but in addition to calling that (from NotificationsWidget), we were also manually
calling logInteraction() to log impressions from NotificationBadgeWidget
and NotificationGroupItemWidget. This resulted in two impression events
for every notification, each with different data, one of which is logged
only once and one of which can be logged multiple times.

Remove the manual logImpression() calls and route everything through
logNotificationImpressions(), which is called from only one place:
NotificationsWidget. Add support for logging foreign wikis to
logNotificationImpressions(), as it was previously missing.

This causes us to lose the notification type information in these
events, but that can also be derived after the fact by looking
up the event_id in the echo_event table.

Whether impression logging is even useful is another question,
but it certainly isn't useful if we log duplicate impression
events with different data.

Change-Id: I19b76a4ce796b21e9347dd9392af24918db82e18
2016-03-09 10:21:09 -08:00
Ricordisamoa 4107a4a495 build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
Change-Id: I264fafad95ddb4a4cc925815a62af83744f122e4
2016-03-07 14:29:15 +01:00
jenkins-bot 8556b8037e Merge "Remove resolved TODO about adding wiki field to Schema:EditInteraction" 2016-03-04 23:06:07 +00:00
jenkins-bot a8909f44dd Merge "Styling adjustments for notifications" 2016-03-04 22:55:41 +00:00
jenkins-bot ff41a87105 Merge "Add a short abbreviation for timestamps in notifications" 2016-03-04 02:52:22 +00:00
jenkins-bot 3fd75c41a4 Merge "Echo API layer" 2016-03-04 01:00:55 +00:00
Roan Kattouw e239d4c256 Use padding instead of margin to separate cross-wiki sections from each other
So that margin collapsing doesn't eat up the extra space we wanted to create.

Bug: T128069
Change-Id: Ib3b96c54c2ace52cf28047a5f9f012fcc56ccb9c
2016-03-03 16:19:45 -08:00
Moriel Schottlender 0834b91f56 Echo API layer
Split and refactor Echo network handling and create a proper API
layer for the UI to use consistently. Split Echo's API methods into
its own module so they can be loaded along with the initialization
script and manage the API requests.

Change-Id: I0526a14bb8cc0d9729a303e24ab6e43259cc86bb
2016-03-03 23:40:12 +00:00
Moriel Schottlender 541335d90f Styling adjustments for notifications
Bug: T125969
Bug: T128444
Change-Id: I3dba4fcddf5262450cce4ba384abfdc3518b7cb8
2016-03-03 23:11:19 +00:00
Moriel Schottlender 0fc63bde36 Add a short abbreviation for timestamps in notifications
Use 'm' instead of 'minutes', 's' instead of 'seconds', etc, for
shorter timestamp rendering in the notification list.

Bug: T125970
Change-Id: I9479c5406a4bf44ef560bef2c8f204a9f60cafc6
2016-03-03 11:37:05 -08:00
Moriel Schottlender ae04c0e4e6 Allow mark as read for a cross-wiki bundle
Bug: T128562
Change-Id: I14b4885569d9d78072ae76bc9cdefd41741a435b
2016-03-02 16:04:04 -08:00
Roan Kattouw e96bdb6da5 Remove resolved TODO about adding wiki field to Schema:EditInteraction
Change-Id: I80cc41b31b6d49182f7ea11e5cd07192f1710663
2016-03-01 23:32:47 -08:00
jenkins-bot e08d3e604c Merge "ActionMenuPopupWidget: Prevent ClippableElement from overwriting our width hack" 2016-03-01 03:18:34 +00:00
Roan Kattouw a7537e9465 ActionMenuPopupWidget: Prevent ClippableElement from overwriting our width hack
This whole class is a terrible hack, and we should instead implement
a proper facility for what we need in OOUI.

Bug: T128436
Change-Id: I8777a6e36d238dc13c9060b74b7a72c6933082f6
2016-02-29 18:47:43 -08:00
Roan Kattouw dc48dfa022 Follow-up 07c5850b: unbreak "mark as read" menu item
07c5850b changed the widget used for the "mark as read"
menu item from OO.ui.ButtonOptionWidget to mw.echo.ui.MenuItemWidget.
While this makes sense, it also broke its functionality, because
mw.echo.ui.MenuItemWidgets are unselectable so if you click them
the 'choose' event isn't emitted.

However, we also can't make these widgets selectable, because
that breaks the links inside these widgets (the containing MenuSelectWidget
intercepts mouse events and prevents default). So instead,
make mw.echo.ui.MenuItemWidgets only be unselectable if they are
links (have config.url set), so that both use cases work.

Bug: T128432
Change-Id: I8374e3ae61a005ec7d25c2eb95b1391cbb191d60
2016-02-29 18:34:02 -08:00
jenkins-bot 48a08b7343 Merge "build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass" 2016-02-29 22:59:50 +00:00
Stephane Bisson eb873aaa60 Include cross-wiki notifications in unread count
* Client-side only. The backend already counts those.

Bug: T124109
Change-Id: I62e49524bc8cea1ef2d77255e29ff8a919bd1ee7
2016-02-29 16:02:05 -05:00
jenkins-bot bfcf10c3fa Merge "Bidi-isolate notification bodies" 2016-02-29 20:57:18 +00:00
jenkins-bot fd0036e0c1 Merge "Adjust styling of the 'more actions' menu items" 2016-02-29 20:44:42 +00:00
Roan Kattouw 5f0a78b7ec Bidi-isolate notification bodies
Use dir=auto instead of wrapping in <bdi>.
They have the same effect, except that the latter produces
strange-looking truncation behavior with LTR body text in an RTL
interface because text-overflow: ellipsis; is set on the <div>,
not on the <bdi> node.

Bug: T127407
Change-Id: Id58a70f5b88a10c827e61d9e16aae1a81938709a
2016-02-29 12:37:21 -08:00
jenkins-bot a42869d2de Merge "Adjust group bundle styles" 2016-02-29 20:35:40 +00:00
Moriel Schottlender b62185bf81 Adjust group bundle styles
Bug: T128069
Change-Id: If1e5d9811f4569e93ab9ba3064699ce6a6d907f7
2016-02-29 20:16:42 +00:00
Moriel Schottlender c91f6c566d Transform the notification action bar to css table layout
* Transform the action bar to table layout even in non-bundle
  notifications.
* Increase the padding on the side for consistency

Bug: T125909
Bug: T125969
Bug: T126686
Change-Id: I26ba5b7a21a1f36774749154d3f95d61254c5ce2
2016-02-29 12:07:05 -08:00
Ricordisamoa be0dff6a89 build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
Change-Id: I62bd55936f8416caa2e1b917752d91355f7d9e7d
2016-02-29 18:03:29 +01:00
Moriel Schottlender 07c5850b88 Adjust styling of the 'more actions' menu items
Bug: T126734
Bug: T126740
Change-Id: I48924aba5c06ebf1eeccd2a8977150b366f412a7
2016-02-26 15:21:21 -08:00
jenkins-bot a87fa83fcd Merge "Reorganize NotificationBadgeWidget.less" 2016-02-25 18:47:48 +00:00
Moriel Schottlender 5a3928e009 Keep group open on click
The toggle-collapse process should be applied only when we click the
actual notification content/body and not the bundle items. This will
make it possible to middle-click (or right-click) a bundled item and
open it in a new window without resulting in collapsing the bundle.

Bug: T127416
Change-Id: Iaa06d5db8a1d5f9032874a800cafb6d5a4268876
2016-02-22 12:32:05 -08:00
Justin Du 3b12d96449 Adjust mark as read icon size
Bug: T124025
Change-Id: I9b6e86e3cf59c8a6fbeb06c894d5d180c9bf467f
2016-02-19 20:02:05 +00:00
Stephane Bisson 74879c39fb Truncate secondary link labels
Bug: T121822
Change-Id: I3e36a6cd4bc8da96879158e1d7b65fd3a1d582fb
2016-02-18 06:55:36 -05:00
Stephane Bisson 683100ab40 Add 'userSpeechBubble' icon
This is used as secondary link icon by
'flow-enabled-on-talkpage' notification.

Bug: T121950
Change-Id: I1bc255627c9d9082a8bcd81758276c2358a784d6
2016-02-16 09:39:38 -08:00
Stephane Bisson 98d428df71 Increase space between notification header and body
Bug: T125968
Change-Id: Ifec5f819fa687637d7421fb062b7345621a83428
2016-02-15 15:56:59 -05:00
jenkins-bot 9f526ca72a Merge "Add thank icon" 2016-02-12 22:02:11 +00:00
jenkins-bot 35c8225485 Merge "Hide 'mark as read' secondary button from foreign x-wiki bundles" 2016-02-11 15:44:34 +00:00
Moriel Schottlender 3937857bd8 Convert secondary actions to their own class
This makes the actions more consistent, and also allows for separating
the two behaviors: The one where we need a link to a destination
(User page, diff, etc) and one where we have an action the code needs
to take care of ("Mark as read" or, in the future, volume control, etc)

Also, this allows for adding descriptions to the secondary links in
the dotdotdot menu.

It also fixes the bug where the links did not work.

Bug: T125160
Change-Id: I0ebf3fc62425f86e2e7f1e96b67f8dc34db83efb
2016-02-10 20:12:58 +00:00
Stephane Bisson 08cc9f34e2 Add thank icon
Bug: T125693
Change-Id: I5578f176024063584cda452b26436bc59c37fee8
2016-02-08 15:47:13 -05:00
Stephane Bisson 779b7030d9 Truncate usernames, titles and excerpts in notifications
Bug: T121822
Change-Id: Ia0a52926133ab7e04d7d9c2a095ef8f9d0871a49
2016-01-29 07:04:23 -05:00
Moriel Schottlender 3ece6b00c2 Hide 'mark as read' secondary button from foreign x-wiki bundles
Bug: T125155
Change-Id: I89a5eeb87ccfb875fa33dfac6d0a6b4df62699d3
2016-01-28 15:07:10 -08:00
jenkins-bot e28a912c3b Merge "Add 'mark as read' as secondary action to unread notifications" 2016-01-26 16:37:11 +00:00
jenkins-bot 73623d88b0 Merge "Truncate notification action button text" 2016-01-25 20:13:38 +00:00
Moriel Schottlender df3417e49c Fix table layout width for bundled notifications
Bug: T124023
Change-Id: I9b49ce5f066d93a6572c2dc5a859284a4ab182d4
2016-01-21 17:04:58 -08:00
Moriel Schottlender 79ac8be7fd Truncate notification action button text
Bug: T123657
Change-Id: I995c3383e7b465849773e4deaaa0d4a14524f6ac
2016-01-21 13:18:28 -08:00
Moriel Schottlender 5c67c9110f Add 'mark as read' as secondary action to unread notifications
Bug: T121935
Change-Id: I0dda7335ba00492c5dc5a6f0e9f2faea1da612bc
2016-01-21 11:34:27 -08:00
Roan Kattouw aa899d63d6 Set text color on header directly, not on <a>
The rules setting the text color on the <a> with
various strong specificity overrides were unnecessary.
Instead, simply set the text color on -header.
This also makes the text color apply if there is no
primary link, because there is no <a> in that case.

Bug: T123756
Change-Id: I02c7d28438678968fa64a59beeac3d8d26cb0702
2016-01-18 18:26:13 -08:00
Justin Du 7b5cf41e37 Adjust layout for new notification panel designs
Bug: T122646
Change-Id: I6cb6d121eb7e32737b1d73743061e1435e869c93
2016-01-18 18:00:14 -08:00