Commit graph

2028 commits

Author SHA1 Message Date
Kunal Mehta 35c4a37918 Use db-replicated objectcache for storing last seen time
So we're not abusing user preferences for the last seen time.
EchoSeenTime is a small wrapper around ObjectCache that handles the
fallback to user preferences during the transition.

All JavaScript code now needs to use mw.config.get('wgEchoSeenTime').

Bug: T95839
Change-Id: Ia45ba5e30eb4564250539d04d5886d2598ebd49a
2015-09-02 22:42:35 +00:00
Moriel Schottlender 1ac72cc01a Split alerts and messages in Echo
Split the notifications into 'alert' and 'message' badget with two
different flyouts. Also clean up styling and module behavior.

** Depends on ooui change Id4bbe14ba0bf6c for footers in popups.
** Depends on ooui change Ie93e4d6ed5637c for fixing a bug in
   inverted icons.

** MobileFrontend must also be updated to support the new modules
   in this patch  I168f485d6e54cb4067

In this change:
* Split notifcations into alert and messages and display those in
  two different badges.
* Create two separate flyout/popups for each category with their
  notifications.
* Create a view-model to control notification state and emit events
  for both the popup and the badge to intercept and react to.
* Clean up module load and distribution:
  * Create an ext.echo.ui module for javascript-ui support and ooui
    widgets.
  * Create an ext.echo.nojs module that unifies all base classes that
    are needed for both nojs and js support, that the js version
    builds upon.
  * Create a separate ext.echo.logger module as a singleton that can
    be called to perform all logging.
* Clean up style uses
  * Move the special page LESS file into nojs module so all styles
    load properly even in nojs mode.
  * Transfer some of the styling from JS to LESS for consistency.
  * Make the 'read more' button load already with the styles it
    needs to look like a button, since its behavior is similar in
    nojs and js vesions, but before its classes were applied only
    by the js, making it inconsistent and also making its appearance
    'jump' from a link to a button.
* Delete and clean up all old and unused files.
* Moved 'Help.png' icon from modules/overlay to modules/icons for
  later use.

Bug: T108190
Change-Id: I55f440ed9f64c46817f620328a6bb522d44c9ca9
2015-09-02 15:36:37 -07:00
Translation updater bot 2a15bea7f8 Merge "Localisation updates from https://translatewiki.net." 2015-08-26 19:57:42 +00:00
Translation updater bot 2e28f49b8a Localisation updates from https://translatewiki.net.
Change-Id: Id2621ea71c5745c77d6c5e369e7395ed5b35fea7
2015-08-26 21:45:50 +02:00
Alex Monk 92dc3a0d3c Fix fatal DB exception
Follow-up I6c956738, which started trying to pull notification_timestamp out
of nowhere. Although EchoEvent::newFromRow may try to use this if it's set, it
wasn't previously getting selected and this is now causing exceptions.

Bug: T105890
Change-Id: I2dd9e268428d651813d8c43d85d54fc97634cd41
2015-08-26 13:31:51 +00:00
Translation updater bot 0c49df9298 Localisation updates from https://translatewiki.net.
Change-Id: I0491ad72b63467ca5035e2a41a6ab728c41d1571
2015-08-25 21:56:59 +02:00
Translation updater bot 3b3011cfc7 Localisation updates from https://translatewiki.net.
Change-Id: I986afd0fd94f00341610c01a2beaa5bcb42c608b
2015-08-24 21:31:20 +02:00
Translation updater bot e751213966 Localisation updates from https://translatewiki.net.
Change-Id: I0d7f215a2d2e3a555dc210ce700a12bb6b1bf96d
2015-08-23 21:35:50 +02:00
Federico Leva c94c3f3dad Select specific rows in EchoEventMapper::fetchByUserBundleHash()
As needed by EchoEvent::loadFromRow().
Alternatively, just '*' as in MWEchoEmailBatch::getEvents().

Bug: T105890
Change-Id: I6c956738125658607d5e548efad4031c3298020f
2015-08-22 10:11:39 +02:00
Translation updater bot 461980f705 Localisation updates from https://translatewiki.net.
Change-Id: Ib0eece2d1d55ee340d82db554fa82525a48978db
2015-08-21 20:57:51 +02:00
Translation updater bot a0e2e93fec Localisation updates from https://translatewiki.net.
Change-Id: Ifabbe474bb29276720fb27b46c968ae8f3db1dc2
2015-08-20 21:26:36 +02:00
Kunal Mehta 4a5c99921d Fix typo in documentation
Change-Id: I7b9cdccd34fb5b7e988d812af834968d17ef7f53
2015-08-19 13:13:07 -07:00
Translation updater bot 1d1db72c72 Localisation updates from https://translatewiki.net.
Change-Id: I93327da448272bf74fa88e56f3fb7a0a227d2a1c
2015-08-16 21:54:43 +02:00
Translation updater bot ac65495fd6 Localisation updates from https://translatewiki.net.
Change-Id: I1ec43d02837e2a35980a16148e8f1706f9de2681
2015-08-15 21:45:39 +02:00
Translation updater bot 79f0405cf6 Localisation updates from https://translatewiki.net.
Change-Id: Iaf9584f07e969b412305a8a31890ec30024832d8
2015-08-14 22:08:49 +02:00
jenkins-bot 8fa8403ebe Merge "BasicFormatter: Add accessor to get the correct Language object" 2015-08-13 20:30:43 +00:00
Translation updater bot 23363ddd31 Localisation updates from https://translatewiki.net.
Change-Id: If940e9cfb82750dbdb68e42c25e989721965d64d
2015-08-13 20:55:39 +02:00
Kunal Mehta 0884859246 BasicFormatter: Add accessor to get the correct Language object
And use it in UserRightsFormatter.

Change-Id: Id47b903127e0dba79a9390153ce6c1a4f89023ec
2015-08-13 10:56:23 -07:00
Kunal Mehta 9e245d8ce0 Remove unused globals
Change-Id: I23e1df7a245b08cb5d5491f01b5eea6630be3b29
2015-08-13 10:52:24 -07:00
Kunal Mehta 7fc41f826d Fix typo in documentation
Change-Id: I3049b1b80bdc1b5fdeeb76d0e29f165620f33433
2015-08-13 10:51:33 -07:00
jenkins-bot 8759ac3d72 Merge "Reduce CAS errors in ApiEchoMarkSeen" 2015-08-13 16:52:02 +00:00
Translation updater bot c09b114b4e Localisation updates from https://translatewiki.net.
Change-Id: I077cfd8a9c53789dcacca63ed55df0297b61ba78
2015-08-12 21:31:55 +02:00
Kunal Mehta 686a8ab5a4 Measure how long it takes for the flyout to open
Bug: T56486
Change-Id: I12bfbfb186e8ab2bfe22052402ad4c71b2e6bd81
2015-08-11 16:57:29 -07:00
Translation updater bot f96341b04e Localisation updates from https://translatewiki.net.
Change-Id: I143e9255a5abe437fcdab410b99477d301104341
2015-08-11 22:07:45 +02:00
Aaron Schulz 2a0e98e9a9 Reduce CAS errors in ApiEchoMarkSeen
* These tend to log errors many times in a row for the same few
  users in any given time period. There is probably some usage
  pattern issue in JS on top of the abuse of preferences for
  such tracking state. In any case, this should help.

Bug: T95839
Change-Id: I4d57b1db43a63300a412a5de220b66081da754f1
2015-08-11 19:18:45 +00:00
Kunal Mehta 92da0124d0 Only require event type to construct a formatter
Push the $wgEchoNotifications dependency to
NotificationFormatter::factory(), and only catch exceptions we're
actually expecting (NotificationFormatter::format()).

And clean up the logging to use structured logging while we're at it.

Change-Id: I7e18c318c5c81b6a38e55f27ef8f604654f10858
2015-08-10 11:27:52 -07:00
Translation updater bot 4082868601 Localisation updates from https://translatewiki.net.
Change-Id: I8dad2531b3a253395afa43a47b4df91360486bfa
2015-08-09 20:46:24 +02:00
Translation updater bot d6b03824f0 Localisation updates from https://translatewiki.net.
Change-Id: I46499a39ef0e0299048618cc89e11acde8616f13
2015-08-08 21:12:47 +02:00
addshore a9be7abfbe Remove use of deprecated TestUser->user
Change-Id: I9b3e048f01551cffb6848410fa9515201cbb2d1f
2015-08-07 17:04:59 +01:00
Kunal Mehta d072a9a47b Add some type-hinting and doc fixes
And remove some useless code as well.

Change-Id: I97a2ca08a1d4ef0b59535c1c002840f108defe4a
2015-08-06 15:36:05 -07:00
Translation updater bot a1b482af33 Localisation updates from https://translatewiki.net.
Change-Id: I300adc0e166058c1f5de486089581791e0f2de8e
2015-08-06 21:36:19 +02:00
jenkins-bot 1fcc45920c Merge "Refactor and unify icon URL logic" 2015-08-06 04:22:24 +00:00
Kunal Mehta 5e2da7627b Refactor and unify icon URL logic
The logic to get the URL for an icon was duplicated in the
EmailFormatter and BasicFormatter. It is now in the abstract
NotificationFormatter, which EmailFormatter and BasicFormatter now
use.

Changes in logic:
* Throw an exception if an invalid notification type is provided instead
of a PHP notice
* icons using 'url' may have different ltr/rtl icons
* Throw exception if icon is supposed to have different icons for
ltr/rtl, but doesn't, instead of debug logging

The new function is static so it can be used in EmailFormatter as it
does not inherit from NotificationFormatter.

Bug: T60726
Change-Id: Ia3c01c35f58eed8cc2c039249ab1ec1a80a8abbb
2015-08-06 04:17:14 +00:00
Translation updater bot c25709432f Localisation updates from https://translatewiki.net.
Change-Id: Ie0ce67ca2822f27b97a29d574af08bb79186619f
2015-08-05 22:34:26 +02:00
Translation updater bot b284d25ab3 Localisation updates from https://translatewiki.net.
Change-Id: I7d3ba255c318a8091d56c6b383127ac1f9cb6fc8
2015-08-03 22:03:47 +02:00
Translation updater bot 84fdb93c92 Localisation updates from https://translatewiki.net.
Change-Id: I068050c2036ef8ddc23b6c601eb7a0ad434ec9a1
2015-08-02 21:51:51 +02:00
Translation updater bot 2181c4743d Localisation updates from https://translatewiki.net.
Change-Id: Ia15e46461ce2b74361075f88aec828659dec01d3
2015-08-01 21:46:49 +02:00
jenkins-bot 8fda0c0568 Merge "Fix more "the job queue can run against different wikis"" 2015-07-31 23:38:43 +00:00
Translation updater bot 29485b3985 Merge "Localisation updates from https://translatewiki.net." 2015-07-31 19:58:16 +00:00
jenkins-bot 3bed04ee7f Merge "Remove useless and misleading comment" 2015-07-31 19:54:19 +00:00
Translation updater bot c58e934ce6 Localisation updates from https://translatewiki.net.
Change-Id: Icb3c4b2584e45a84b31d36b1ad7b818cf6abe078
2015-07-31 21:47:11 +02:00
Stephane Bisson f6bef9d159 Remove useless and misleading comment
Change-Id: Id4d2f908f3fdf4a37f3e5a1ddc6b205db745802e
2015-07-31 15:46:53 -04:00
Stephane Bisson 8ea150809b Fix usage of UserMailer::Send to use new signature
Change-Id: I41aba8a2d5381df9845eb31c0d1d63ee9834acec
2015-07-31 15:45:57 -04:00
Kunal Mehta 410271897c Fix more "the job queue can run against different wikis"
It doesn't.

Change-Id: Ia3f7b459ddcbabf525bde2e1489dc9379a0a7ef5
2015-07-31 12:19:53 -07:00
Translation updater bot 48bb0ffedb Localisation updates from https://translatewiki.net.
Change-Id: I31b602f6ec2a66002d8d7054a7d08a9b6ad7bc4a
2015-07-30 21:10:39 +02:00
Translation updater bot 73e4e075b3 Localisation updates from https://translatewiki.net.
Change-Id: Ice0f437d00331a26d29e87f6840aedb0db34a3df
2015-07-29 21:48:54 +02:00
Matthew Flaschen 261009fe62 More detailed Echo description
This shows up at e.g. Special:Version.

Bug: T106211
Change-Id: I438b2cc30ba926daef871edff98da9ce549253f3
2015-07-29 01:58:15 -04:00
Translation updater bot e731874360 Localisation updates from https://translatewiki.net.
Change-Id: I5843e52c8d91d2dc5798292f7705a43fe563c113
2015-07-28 21:48:28 +02:00
Translation updater bot a49a6f383f Localisation updates from https://translatewiki.net.
Change-Id: I8e3d5c3e93be9b6687b8511cbee7c24eacad8bf1
2015-07-27 21:34:44 +02:00
Translation updater bot de0fe5b624 Localisation updates from https://translatewiki.net.
Change-Id: Ide9d2700ce7433dc3178355a17f94a659f4a57f0
2015-07-26 21:39:02 +02:00