Commit graph

1543 commits

Author SHA1 Message Date
Erik Bernhardson 1667e25854 Use batch queries for users-watching-title
The new locateUsersWatchingTitle implementation could end up returning
thousands of users, currently on enwiki there are 25 titles with more
than 10k subscribed users and aprox 550 titles with more than 1k subscribed
users.

This switches the user collection to an iterator based implementation so that
we no longer need to have the entire users list at any one time.

Change-Id: I3d3fa9328f348bb48682d3658622952ce82d3925
2014-08-15 10:44:55 -07:00
jdlrobson 965a8b8a2f Hygiene: Stop using id for footer
No need. Class works perfectly fine here.

Change-Id: I8188e759ad3eed971d5847b23d49b333d80b509f
2014-08-15 17:43:56 +00:00
jenkins-bot a615482a20 Merge ""put a comment nearby with the resulting keys"" 2014-08-15 16:55:29 +00:00
bsitu 1cc0f83829 Move 'notification count refresh' logic out of mapper
Change-Id: I4c10b66e537dea5f9c5bc7ccba8f558cafd103d7
2014-08-15 16:02:23 +02:00
jenkins-bot 32dd2e314b Merge "Create TargetPage data if specified by EchoEvent" 2014-08-15 13:47:48 +00:00
Raimond Spekking 6da76b9c6e Merge "Localisation updates from https://translatewiki.net." 2014-08-15 09:10:23 +00:00
S Page af2abe84a5 "put a comment nearby with the resulting keys"
Per https://www.mediawiki.org/wiki/I18n#Using_messages
Comment-only change.

Change-Id: I468a79bee19fc5486b564b1a0ec7eb66c9dfa852
2014-08-14 19:01:45 -07:00
bsitu 61fea56641 Create TargetPage data if specified by EchoEvent
Change-Id: I71039eb03b4b7e617ce03d515a6d51c4f3666ab8
2014-08-15 00:16:41 +00:00
bsitu 7be9d68219 Auto mark notification as read if it doesn't have target page
The special page will now not auto mark a notification as read if
it has a target url. Currently no notifications have target urls
but this will be changed in a later patch...

Change-Id: I9bd71d59391189d5d761ab5f1c84af0bc3554be0
2014-08-15 00:11:57 +00:00
jdlrobson 178ec1b816 Fix size of 'mark all as read' button
Change-Id: I2b760e70e60f001824b66e3652dafefaf7f6a32f
2014-08-14 15:10:32 -07:00
jenkins-bot 1ee7e52f90 Merge "API: Fix help url and remove deprecated getVersion()" 2014-08-14 21:49:00 +00:00
Translation updater bot 2760bfa0e4 Localisation updates from https://translatewiki.net.
Change-Id: If912260fbedf9b53731d52529bb8a21015d14646
2014-08-14 23:36:37 +02:00
Kunal Mehta ae171aa6ed API: Fix help url and remove deprecated getVersion()
Change-Id: I3394d53e63c199be7318202eb74e6bcc4e7ad887
2014-08-14 14:33:23 -07:00
jdlrobson 1c6f5906d0 Hygiene: Kill dead code
Not serving any purpose...

Change-Id: I151e80a79bcaba3d9037fc9f21533a4e9161f60f
2014-08-14 14:29:40 -07:00
jenkins-bot aec9489c3b Merge "Hygiene: clean up messy less file" 2014-08-14 21:22:30 +00:00
jenkins-bot 58e1966e1d Merge "Prevent horizontal scroll bars in Firefox" 2014-08-14 21:22:26 +00:00
jdlrobson 8b381e2081 Hygiene: clean up messy less file
Change-Id: I8c76e92b8a4d79cd26ac7ed54c20bdae54e0b5bd
2014-08-14 14:18:42 -07:00
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