Commit graph

1576 commits

Author SHA1 Message Date
bsitu cac4050990 Mark notification as read upon visiting a page
Change-Id: I84493fbf742acd90645d484d42f049796a5e48ee
2014-08-14 14:10:55 -07:00
jdlrobson 5ff3189146 Prevent horizontal scroll bars in Firefox
Use inline block and width to force truncation of the flow topics

Bug: 69563
Change-Id: I62fc95a58dbdf0f21e36e67e1941e4e35585e2d2
2014-08-14 13:21:49 -07:00
jenkins-bot f001382328 Merge "Add TargetPage model and mapper to notifications" 2014-08-14 20:18:44 +00:00
jenkins-bot 6c19cf53c2 Merge "Merge remote-tracking branch 'gerrit/two_tabs'" 2014-08-14 18:52:56 +00:00
Erik Bernhardson 4deca8b9d8 Merge remote-tracking branch 'gerrit/two_tabs'
Change-Id: Ie2c7abd1df09c501e86c6ef4c22fd8670163de4c
2014-08-14 11:51:43 -07:00
jenkins-bot d3d39ef55c Merge "Add support to mark all as read for "sections"" 2014-08-14 18:51:03 +00:00
jenkins-bot 4b472dd9f2 Merge "E2f: mark all as read behaviour" into two_tabs 2014-08-14 18:48:42 +00:00
jenkins-bot 1510733291 Merge "Revert "Revert "Merge remote-tracking branch 'gerrit/master' into two_tabs""" 2014-08-14 18:47:40 +00:00
Bsitu 483e7e80d5 Revert "Revert "Merge remote-tracking branch 'gerrit/master' into two_tabs""
This reverts commit b9574748a4.

Change-Id: I8a8334db446dd6a2d5363a1f6ab12369b813b026
2014-08-14 18:46:26 +00:00
jenkins-bot ec9fda274a Merge "Revert "Merge remote-tracking branch 'gerrit/master' into two_tabs"" 2014-08-14 18:32:38 +00:00
EBernhardson b9574748a4 Revert "Merge remote-tracking branch 'gerrit/master' into two_tabs"
This was supposed to merge master into the two_tabs branch, but it was accidently done against master instead

This reverts commit 06ee936e92.

Change-Id: I98da735b7d5c103399a2478286d1420243df6ba4
2014-08-14 18:27:19 +00:00
Cmcmahon ebc7192684 QA: committing Gemfile.lock
need to update mediawiki-api gem

Change-Id: Ifd682db5c73a6eda2f085364808bf6c1be21b98a
2014-08-14 08:52:30 -07:00
bsitu ff0784e7da Add support to mark all as read for "sections"
This also updates the way how mark all as read works

Change-Id: Ifb7b1b7b7feb4a5af65c79bb16b91a5a9c70166c
2014-08-13 17:16:19 -07:00
jdlrobson 92ee69b92d E2f: mark all as read behaviour
Also adds browser tests for the behaviour of the mark all as read button
to ensure it only clears message notifications.

Dependency:  Ifb7b1b7b7feb4a5af65c79bb16b91a5a9c70166c
Change-Id: I46e1de229e32d705e67cebde678ecea3f3633906
2014-08-13 17:08:16 -07:00
Erik Bernhardson 06ee936e92 Merge remote-tracking branch 'gerrit/master' into two_tabs
Change-Id: I92c94bd13bea02f43fa10aa3a05d671fe2e75116
2014-08-13 17:06:39 -07:00
jenkins-bot 7739dbedf0 Merge "Add method for fetching unread notifications" 2014-08-13 23:59:14 +00:00
Spage 8755b2e8cc Merge "QA: Browser tests for Echo notifications" 2014-08-13 21:10:34 +00:00
jdlrobson 81610bfb5a Create notification overlay in the body
This removes the need from the super specific selectors.
It also allows us to create multiple notification elements
on a screen.

Change-Id: Ife5291a315915779689943ffc18ac73d77351d0e
2014-08-13 13:24:05 -07:00
jdlrobson def2e070f7 QA: Browser tests for Echo notifications
* Someone links to my page
* Someone mentions me
* Someone writes on my talk page (if it's not a Flow board)
* When I register

Change-Id: I12d1c6867d996c19fbd836658e87acd418e03527
2014-08-13 13:16:37 -07:00
jdlrobson 106c2d2215 Create chevron using pseudo elements
IE8+ supports the pseudo element. The world will not explode if
IE6 and 7 do not have the chevron.

This simplifies code by dropping the use of the pokey element

Note: I know we can drop using the image too but I decided not to do
that in this patch.

Change-Id: Ia9ac434461e63bc2cf8554060126995ac65a3531
2014-08-13 13:14:41 -07:00
bsitu a7fbb53584 Add method for fetching unread notifications
* This will be used for the unread notifications in message overlay

* This will be used to "mark all as read" based on sections ( event types ),
  since we can't do updateJoin.  We could set a max update limit like 3000,
  and use this to do "mark all as read", this would handle majority "mark all as read"
  use cases. This would also prevent updating big amount of data on a web request

Change-Id: I2a9103a73d0aa91a52d5c0233e946a0ef979f96d
2014-08-13 13:10:38 -07:00
jdlrobson bee2fe3af1 Fix issue with tab visibility
Danny noticed a bug where if both tabs have unread notifications,
then when opening the overlay and clicking on the alerts tab, the user
would be reverted back to the messages tab.

Test stops this from happening again.

Change-Id: I6bbbbf61251957336de8856201412fa3569ab22d
2014-08-13 10:11:06 -07:00
jenkins-bot fd5bfe80b7 Merge "Hygiene: Add abstract model and mapper for notification" 2014-08-13 15:26:38 +00:00
bsitu 029668423d Add TargetPage model and mapper to notifications
This will be used for marking a notificaiton as read when
a user visits a target page. The new table should keep the
volume as low as possible for fast data loopup. records
should be removed from the table once it's marked as read.

Change-Id: I605cbc79adfc12d22bd889c5bb513d05c479fe6e
2014-08-13 00:48:07 +00:00
jenkins-bot 984be579ff Merge "make jshint command should run on tests directory" 2014-08-13 00:46:34 +00:00
bsitu ad691fb838 Use array_merge_resursive when merging based on array keys
When two array have the same keys, we want to merge them into one array
rather than one overwriting another one

This was preventing count and rawcount from appearing inside the messages
and alerts object returned by the API.

Change-Id: I989b9b0994a33925faf52c6d99d8c46920e62cd6
2014-08-13 00:42:07 +00:00
jdlrobson 24e8a34c50 E2e: Show the correct value of unread messages in the tabs.
Change-Id: I976937cfe184f37abe78904e6f2cdc81f8190e80
2014-08-13 00:39:15 +00:00
bsitu 4bf88aa741 Hygiene: Add abstract model and mapper for notification
* Shared function can be put in the abstract class and this also enforces some interface methods 

* Initialize a default dbFactory when it's not passed to the mapper

Change-Id: I1033dafaa90a1f683fbe9ad69bed04f4844e357b
2014-08-13 00:11:15 +00:00
bsitu 7f4f6c5228 Truncate text in Echo notifications
Automatically truncate text with ellipsis on single lines of title

Change-Id: I0ef9eeb9f9d3403f79ee9960b075fb7062150a1d
2014-08-12 23:53:52 +00:00
bsitu 180a67c4a7 Hygiene: Add sub-directories to phpunit test
Change-Id: Ie5bb127f1ba36bd799f87535b14cd3712ad08a3c
2014-08-12 22:54:45 +00:00
jdlrobson 17d100f735 F11: Show mark as read buttons in notification list items
Change-Id: I1c132a3645188c8da8b04432dd3c1ce1006cca80
2014-08-12 15:02:03 -07:00
jdlrobson 8c61a6a416 E2d: Add the mark as read button to messages view
Don't mark messages as read until they have been acted on.
Show a mark as read button that marks entire list as read.

Change-Id: I4450a66cffd11c67b9a4ba9aac0fe958dc760e15
2014-08-12 14:49:19 -07:00
jdlrobson bb27de169e E2c: Hover behaviour of notifications panel tabs
Note no design was defined so have taken this to mean use
mediawiki ui for consistency purposes.

* Use mw-ui-active and mw-ui-quiet for tabs
* Update tests

Change-Id: If7a51b2286cdfe6e839dacc2476c9a578bc7f1df
2014-08-12 21:06:12 +00:00
jdlrobson 7870b6cac2 E2b: Reflect the count in alerts and messages tabs
Add test coverage.

Change-Id: Ia5658d2b0c230915cda9309a590b416b0aa73bfe
2014-08-12 14:00:41 -07:00
jdlrobson 9882898f92 Notification overlay Messages and Alerts sections
Shift to new API to support 2 tab view
When a new has no messages they will see the old style overlay with
Notifications heading. I have added tests to assure this is the case!

Later patches will:
1) Add the mark as read button only in message view
2) Note currently the tabs do not refresh when notifications is clear.
We need some kind of EventEmitter to make this sort of thing easier.

Change-Id: I62b590e81cd3fe867c4c13959cb43466aacfe2d5
2014-08-12 12:33:06 -07:00
jdlrobson 66dd838ed7 Kill mark as read button
This is being redefined as part of the introduction of notification
tabs.

Change-Id: I2211bf6727f661ca7fcd6023aaddb3f2b5ac53ba
2014-08-12 18:42:57 +00:00
jdlrobson 08c1c0dcee make jshint command should run on tests directory
Change-Id: Ieccf67d20d257f96bbb91476dba768237c32dd6f
2014-08-11 23:51:25 +00:00
Translation updater bot 4c5f1e0838 Merge "Localisation updates from https://translatewiki.net." 2014-08-11 21:24:09 +00:00
Translation updater bot f435fc8897 Localisation updates from https://translatewiki.net.
Change-Id: I94dd0d8707d671a9e58056d1eeecfe89031d1dbb
2014-08-11 22:47:25 +02:00
Translation updater bot 9f8379c6a3 Merge "Localisation updates from https://translatewiki.net." 2014-08-09 21:37:29 +00:00
Translation updater bot 32bceb92df Localisation updates from https://translatewiki.net.
Change-Id: I8f4b52e065644a02f8dd80a6c56e56ccf4a61bef
2014-08-09 19:54:35 +02:00
Brad Jorsch 33af802a61 Update token handling for core API change
Core change I2793a3f2 changes API handling in a way that needs updates
to extensions for proper operation:
* needsToken() now returns a string
* Most custom token types are being replaced with a 'csrf' token (the
  former 'edit' token); any others need a new hook.
* All tokens must use a static salt. Compat with web UI using non-static
  tokens is supported and also serves to handle the now-deprecated token
  fetching.
* Documentation in getParamDescription() should return a string (not
  array) for 'token', as the signal to core that it should be replaced
  with a standardized message.

When compatibility with earlier versions of MediaWiki is no longer
maintained, the entry for 'token' from getAllowedParams() and
getParamDescription() may be removed, as may getTokenSalt(). This patch
leaves them in place.

Note this is intended to be compatible with earlier versions of
MediaWiki, and so should be safe to merge before the core change.

Change-Id: I7cbdc5a7119cdfeadc1fe55469065a44c228a006
2014-08-09 16:30:07 +01:00
jenkins-bot 54f9b4a440 Merge "Hygiene: Break out _buildNotificationList" 2014-08-09 00:43:57 +00:00
jenkins-bot 8912e9c7c9 Merge "Remove qunit tests from mobile" 2014-08-09 00:08:50 +00:00
Florianschmidtwelzow ffd082b738 Remove qunit tests from mobile
ext.echo.overlay isn't loaded in mobile, so don't load the test in
mobile.

Bug: 69316
Change-Id: Iddd68aca84c69bed10a2afe4aea8463890485e26
2014-08-09 02:06:46 +02:00
jenkins-bot a765ba09bc Merge "QA: Add browser test for sign up notifications" 2014-08-08 23:45:48 +00:00
jdlrobson 4470d91e54 Hygiene: Break out _buildNotificationList
Make various properties of the overlay properties of
EchoOverlay to reduce need for function parameters

Change-Id: I70ec0c650d58322aad93d71292a836d7cf7e7474
2014-08-08 15:45:02 -07:00
jenkins-bot 3e9ae71dcd Merge "Hygiene: Introduce EchoOverlay initialisation class" 2014-08-08 22:24:05 +00:00
jdlrobson ccc0e713a0 Hygiene: Introduce EchoOverlay initialisation class
Not as scary as it looks. The change to _buildOverlay simply changes
indenting, and cleans up to reflect new parameter. Tests still pass ;-)

Kill noticationLimit concept
Only expose what's necessary on mw.echo.overlay

Change-Id: I2671a41af8188c14ad4c910396afa0d9000b6051
2014-08-08 14:35:07 -07:00
jenkins-bot 9edea65079 Merge "Fix Echo breaking" 2014-08-08 20:38:49 +00:00