Commit graph

3638 commits

Author SHA1 Message Date
Roan Kattouw 4e64643eb7 Implement subject+talk and null+user page grouping
Make it optional through the unpgrouppages parameter, so that
generic usage of the unreadnotificationpages API is still possible.

In the front-end, store which display title maps to what set of titles,
and pass in the full set rather than just the display title when
filtering by a page.

Bug: T137502
Change-Id: I443ca00ff5e5d36fd6910101226358942e6aa8ee
2016-08-02 13:48:48 -07:00
Translation updater bot 8ffdb71ff2 Localisation updates from https://translatewiki.net.
Change-Id: If39d43e9423c901b02290c061f8c7a3f2039c118
2016-08-02 22:40:09 +02:00
jenkins-bot 3be9a2e212 Merge "Update and fetch seenTime per source" 2016-08-02 19:57:12 +00:00
WMDE-Fisch 547abe3bdb Add tests for events on multiple sections edits
Mainly as preparation for future patches touching that issue.

Change-Id: I80fd885cbf670e0e3252e38b85703c9d052b3056
2016-08-02 17:15:31 +02:00
Moriel Schottlender 9e206ef8f5 Reduce number of prioritized actions in mobile
For mobile view, only display 1 prioritized action in the items,
and for general desktop view, stick to the default 2.

Bug: T141788
Change-Id: Ibf386ee598553ecfb717f07f02688034bbc338c8
2016-08-01 16:31:18 -07:00
jenkins-bot 9db03278b8 Merge "Fix fade-in/out animation in sorting" 2016-08-01 22:08:30 +00:00
jenkins-bot 11f2b000d8 Merge "When fetching combined seenTime, get 'min' value rather than max" 2016-08-01 22:02:16 +00:00
Moriel Schottlender b5c0b2458d Align popup to center of the new badges
Bug: T141677
Change-Id: I24c1a12f325ca6a432d6fe9cc5635fbde10b1685
2016-08-01 13:57:40 -07:00
Moriel Schottlender f4a955efe9 Fix fade-in/out animation in sorting
The fade in/out animation is asynchronous. This means that if we are
sorting multiple items one after the other, by the time the item faded
out, it will be reinserted back into the wrong position, breaking the
sorting.

This also broke the promise of OO.SortedEmitterList whereby all its items
are always in order.

The way to fix this was to force a better synchronization with the item
order while we hide and show the item in its new place. To do that,
a new widget is created as a fake clone of the old one, in the original
position of the old one. The original item is then reinserted (while hidden)
to the proper location -- preserving order. The fake clone is then faded
out, and the real item is then faded in.

For this to work properly, the cloned item had to preserve some of the
original item's information, like timestamp, foreigness and id. However,
since both the real item and the fake new clone have the same details,
the clone fakes its ID by adding a fraction to it - promising that the
fallback in case of equal timestamps (which happens on the real and
cloned items) will still resolve with some decision about the placement
of the items rather than (falsely but understandably) decide they are
both the same.

Since this whole animation is somewhat of a hack, the list now has a
configuration parameter to turn the animation on.

The animation is on in the popups, but off in the special page.

Bug: T141419
Change-Id: Ic7c35e5ddefc51bf7fde497eab36414b4dddcd9e
2016-08-01 13:49:10 -07:00
Translation updater bot 3d93900eb2 Localisation updates from https://translatewiki.net.
Change-Id: I82106e87bfa21ded07bff1badaaae5f82135c829
2016-08-01 22:34:34 +02:00
Moriel Schottlender 879fe27bc6 When fetching combined seenTime, get 'min' value rather than max
This will make the mobile view show unseen state if any of the
badges have unseen state rather than not show it if one of the
badges was more recently seen than the other in desktop.

Bug: T141404
Change-Id: I27109ee6a24831d58767f9bd13ed58e54094aee1
2016-08-01 19:14:51 +00:00
WMDE-Fisch 78632108fd Echo notifications for successful mentions
Adds new notification type and icon for successful mentions.
Complements existing test to consider successful mentions.

Bug: T139623
Change-Id: I7a77b40e8b14c95cadb9023065ee916247feacf9
2016-08-01 13:40:55 +02:00
Translation updater bot b3bcddd040 Localisation updates from https://translatewiki.net.
Change-Id: Ic0d4a2d879c28ec2731fb3e2595b8765d20309a1
2016-07-31 22:23:18 +02:00
Translation updater bot d6050a1f12 Localisation updates from https://translatewiki.net.
Change-Id: Ida550c0e948d90e0cbde77052bef698e7a14c082
2016-07-30 22:25:12 +02:00
jenkins-bot d80e2a5896 Merge "Remove fixed width from notifications heading" 2016-07-30 00:29:39 +00:00
jenkins-bot a60c7c9e67 Merge "Generate sample notifications: Education Program" 2016-07-29 23:44:36 +00:00
jenkins-bot 5f04fc334c Merge "Redo the notification badges" 2016-07-29 22:53:34 +00:00
Stephane Bisson c24e029378 Generate sample notifications: Education Program
Change-Id: I1ca832d181ba8704a200fee78a84b3ec70106bed
2016-07-29 11:52:17 -04:00
Ed Sanders 72a1f292cf Remove fixed width from notifications heading
Bug: T141627
Change-Id: I7828cf8289baf04718233e8f8f1670670669ecf3
2016-07-29 16:38:50 +01:00
jenkins-bot ddbe065b7d Merge "Refactored generation of mention events." 2016-07-29 14:59:11 +00:00
WMDE-Fisch 86d3352464 Refactored generation of mention events.
To increase reusability in future changes.

Change-Id: Ia56f4c587361f0214d738cdf690cf9abf93a2021
2016-07-29 14:49:09 +02:00
jenkins-bot 1bc02ce7ee Merge "Minor text changes in mention failure messages." 2016-07-29 11:49:59 +00:00
WMDE-Fisch 7d47cd70ba Minor text changes in mention failure messages.
To address newest text changes discussed in the ticket and preparation
for the bigger bundleing.

Bug: T140224
Change-Id: Ie532e9c918f24e7ea241aaaca18169b6021cf304
2016-07-29 10:30:44 +02:00
jenkins-bot d415c7436b Merge "Remove 'mark as unread' from dotdotdot menu in items" 2016-07-29 00:35:24 +00:00
Matthew Flaschen 954e076fd1 SeenTime: For 'all', use MW, then convert after taking max.
Lesser-used formats like TS_ORACLE are not string-comparable.

Change-Id: I7a9fd3ac0c8b1e924f6f0e8970f7a005858df9d7
2016-07-28 20:11:30 -04:00
Moriel Schottlender 1553a1a520 Remove 'mark as unread' from dotdotdot menu in items
Bug: T140517
Change-Id: Ie6c0f003239d4a683a1651df9470074668faa4eb
2016-07-28 15:47:42 -07:00
Moriel Schottlender b623bdc6d3 Forward format to seenTime when getting 'all' types
Change-Id: Id79c4403ea879bb08b0ce94d24f7bdbb8ea83560
2016-07-28 15:09:16 -07:00
Translation updater bot d2661fd5b3 Localisation updates from https://translatewiki.net.
Change-Id: I597dd6d85deeb6d7611032d52d95e667fc47873d
2016-07-28 23:03:00 +02:00
jenkins-bot 2291ce3d8c Merge "Generate sample events: add 'reason' to user-rights" 2016-07-28 17:06:51 +00:00
Stephane Bisson c62c334ee2 Generate sample events: add 'reason' to user-rights
Change-Id: I7f8370816f57f26aafde7d46ea36253f7f4ee96e
2016-07-28 16:56:23 +00:00
Amire80 0b1c0a8530 Rephrase notification-header-mention-failure-bundle for PLURAL
The qqq doc says that $3 can be used for PLURAL,
but it's not actually used for PLURAL in English.
This patch fixes it.

Change-Id: Iaed21c8f4d1eae7dbddb149d03a1278f7ea38491
2016-07-28 14:18:55 +03:00
Moriel Schottlender 51331f318a Update and fetch seenTime per source
Also update the seenTime of the remote wikis when opening the
cross-wiki bundle.

Bug: T134855
Change-Id: I10510fc612f7d5349f8b579ede70be647a119470
2016-07-27 17:39:45 -07:00
jenkins-bot e7ca1728c1 Merge "BREAKING CHANGE: Use ISO 8601 for 'ts' in cross-wiki summary." 2016-07-27 23:58:42 +00:00
Matthew Flaschen f845f6cc7b BREAKING CHANGE: Use ISO 8601 for 'ts' in cross-wiki summary.
Bug: T141164
Change-Id: Id0f029dd2fec0197bc01a1103fb569d086dec724
2016-07-27 17:00:05 -04:00
Translation updater bot cbbf447155 Localisation updates from https://translatewiki.net.
Change-Id: If7e699d17c2a385b4ed6a3ced129ba5e2b5a9e5f
2016-07-27 22:37:19 +02:00
Moriel Schottlender 9ab351352f Redo the notification badges
Bug: T115845
Bug: T140900
Depends-On: Ic666540d70de52f
Change-Id: I34e2736490319989a3a251a43fbe8080ab960b00
2016-07-27 11:51:05 -07:00
Matthew Flaschen debd9afffd Note removal of wgEchoInitialNotifCount
Change-Id: Id51ddb939244d00836f6ffdd3576f7aefa8aa9c9
2016-07-27 14:46:55 -04:00
WMDE-Fisch 4c7e5d2669 Rename mention-too-many failure notification.
Change-Id: I49041bd01697ae4c160766f194c92ff3d7a4a989
2016-07-27 16:41:29 +00:00
jenkins-bot 0815c41560 Merge "Echo notifications for mention failures" 2016-07-27 11:27:55 +00:00
WMDE-Fisch 868190bbf6 Echo notifications for mention failures
- Adds global "$wgEchoMentionStatusNotifications"
   to activate mention status notifications.
   (must be set before extension is loaded)
 - Adds notification types and icon for some basic mention
   failures.
 - Adds failure and stats for anonymous IP.
 - Adds check for links to user subpages.
 - Adds config var for max mention notifications allowed.
 - Bundles notifications.
 - Refactors test for the event generation and adds tests
   for unknown users, user links with subpages and failures
   for too many mentions.

Bug: T136326
Change-Id: I388bdc3714feb9a2865a5ad10dbeabb0a6a09a4f
2016-07-27 13:00:25 +02:00
Matthew Flaschen c0a464e425 BREAKING CHANGE: More ISO 8601 for seen time
* Add ISO 8601 date format to notification output

  This is actually supposed to be the only output date format used,
  per https://www.mediawiki.org/wiki/API:Data_formats#Timestamps , but
  I'm not doing anything to deprecate the others right now.

* Change wgEchoSeenTime to use ISO 8601.  mwgrep and extension grep do
  not show any usages.  However, since it is a breaking change, to
  minimize disruption, I'm also using this opportunity to change
  'message' to 'notice'.

* Remove wgEchoInitialNotifCount.  I was going to also change 'message'
  to 'notice' here too, but then I saw it was totally unused.
  (It was read in Echo to populate a JS variable, but then it was
  unused.)

* Make sure the Special:Notifications page aggregation by days is
  done by local days, even though the timestamp per item is still
  UTC. This is to make sure the days are displayed correctly in
  the local timezone.

* Change all reverse sorting callbacks to handle comparisons of
  ISO 8601.

Bug: T141413
Change-Id: I20271345c7d350dc3e7f467288e5cdc98e6250cc
2016-07-27 02:42:08 +00:00
Translation updater bot acc8e41ad7 Localisation updates from https://translatewiki.net.
Change-Id: Ib55e941530fcd6f6f179cdbb6ccce341988f78a5
2016-07-26 22:51:20 +02:00
Stephane Bisson a970c44845 Process bundled notifications when the base is filtered out
When the base of a bundle cannot be rendered
(canRender() returns false), the bundled items still
have to be rendered and potentially marked-as-read as well.

If we don't do this, the base is filtered out, marked as read,
the counter goes down by 1 and the bundled notifications are ignored.
On the next query a new base is selected, filtered out, etc.
So if a bundle of 10 notifications cannot be rendered because it's
10 new topics on a deleted flow board, the flyout has to be opened
10 times for the counter to finally be 0.

Change-Id: I06962b25e36802ef00278e2bc70d5377b5874695
2016-07-26 15:07:23 -04:00
jenkins-bot fa67fc9ea7 Merge "Browser tests: update local url" 2016-07-25 22:55:00 +00:00
jenkins-bot d384b792d7 Merge "Paginate even if some events are filtered out" 2016-07-25 20:43:24 +00:00
L10n-bot 62b2665769 Merge "Localisation updates from https://translatewiki.net." 2016-07-25 20:26:13 +00:00
Translation updater bot b4b7226514 Localisation updates from https://translatewiki.net.
Change-Id: I5a7a7d4ebb5805d65d286be70aad7fa16585b026
2016-07-25 22:23:44 +02:00
jenkins-bot 834c240948 Merge "Adjust mobile view for the new settings cog menu" 2016-07-25 20:12:38 +00:00
Stephane Bisson da0e0e37e0 Paginate even if some events are filtered out
When requesting notifications, the 'continue' value used
for pagination is only included if there is more
notifications than requested. When some are filtered out,
there is less notifications and no 'continue' value,
which leads to no pagination at all on the special page.

Change-Id: I1a13d2a343f4e60489e2a6a0474c97664ed00d46
2016-07-25 15:54:16 -04:00
Stephane Bisson 69f5f0d39a Browser tests: update local url
Change-Id: I9284acd37bfba51a53ddc1385eaad626e5592fa0
2016-07-25 15:52:58 -04:00